/* color */
#sec01 {
  position: relative;
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 {
    padding-bottom: 15.625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 {
    padding-bottom: 200px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 {
    padding-bottom: 15.3846153846vw;
  }
}
#sec01 .inner {
  z-index: 1;
}
@media screen and (min-width: 768px) {
  #sec01 .anim {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .anim {
    margin-top: 7.96875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .anim {
    margin-top: 102px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .anim {
    margin-left: -46.015625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .anim {
    margin-left: -589px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .anim {
    width: 92.96875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .anim {
    width: 1190px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .anim {
    position: relative;
    margin: -3.0769230769vw 0 0 -65.1282051282vw;
    width: 218.7179487179vw;
  }
}
#sec01 .anim:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .text {
    padding-top: 0.46875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text {
    padding-top: 6px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .text {
    margin-left: 50vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text {
    margin-left: 640px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .text {
    margin: 19.7435897436vw 7.6923076923vw 0;
  }
}
#sec01 .text .hd02 {
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #sec01 .text .hd02 {
    font-size: 60px;
    font-size: 4.6875vw;
    line-height: 1.5;
    letter-spacing: 0.15em;
  }
}
@media screen and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text .hd02 {
    font-size: 60px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .text .hd02 {
    font-size: 8.2051282051vw;
    line-height: 15.641025641vw;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 768px) {
  #sec01 .text .tx01 {
    font-size: 18px;
    font-size: 1.40625vw;
    line-height: 2.2222222222;
    --letter-spacing:.1em;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .text .tx01 {
    margin-top: 4.84375vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text .tx01 {
    margin-top: 62px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text .tx01 {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .text .tx01 {
    margin-top: 12.8205128205vw;
    font-size: 4.1025641026vw;
    line-height: 8.7179487179vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .text .tx01 p + p {
    margin-top: 1.5625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text .tx01 p + p {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .text .tx01 p + p {
    margin-top: 7.6923076923vw;
  }
}
#sec01 .text .tx02 {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #sec01 .text .tx02 {
    font-size: 26px;
    font-size: 2.03125vw;
    line-height: 1.9230769231;
    white-space: nowrap;
    --letter-spacing:.1em;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .text .tx02 {
    margin-top: 3.90625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text .tx02 {
    margin-top: 50px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text .tx02 {
    font-size: 26px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .text .tx02 {
    margin-top: 15.3846153846vw;
    font-size: 4.6153846154vw;
    line-height: 10.2564102564vw;
    --letter-spacing:.03em;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .text .tx02 p + p {
    margin-top: 3.90625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .text .tx02 p + p {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .text .tx02 p + p {
    margin-top: 7.6923076923vw;
  }
}
#sec01 .banner {
  background: #fff;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  #sec01 .banner {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: -1.5625vw -1.5625vw 3.125vw 0 rgba(14, 42, 122, 0.02);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner {
    margin-top: 7.8125vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner {
    margin-top: 100px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner {
    width: 86.71875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner {
    width: 1110px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner {
    border-radius: 0.9375vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner {
    border-radius: 12px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner {
    padding-top: 6.796875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner {
    padding-top: 87px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner {
    padding-left: 7.65625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner {
    padding-left: 98px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner {
    padding-right: 7.65625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner {
    padding-right: 98px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner {
    padding-bottom: 6.796875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner {
    padding-bottom: 87px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner {
    box-shadow: -20px -20px 40px 0 rgba(14, 42, 122, 0.02);
  }
}
@media screen and (max-width: 767px) {
  #sec01 .banner {
    margin: 15.3846153846vw 7.6923076923vw 0;
    border-radius: 3.0769230769vw;
    padding: 12.8205128205vw 7.6923076923vw;
    box-shadow: -5.1282051282vw -5.1282051282vw 10.2564102564vw 0 rgba(14, 42, 122, 0.02);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner .im {
    width: 29.84375vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner .im {
    width: 382px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .banner .im {
    margin: 0 auto;
    width: 56.4102564103vw;
  }
}
#sec01 .banner .tx .tt {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #sec01 .banner .tx .tt {
    font-size: 22px;
    font-size: 1.71875vw;
    line-height: 1.5454545455;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner .tx .tt {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .banner .tx .tt {
    margin-top: 7.6923076923vw;
    text-align: center;
    font-size: 4.358974359vw;
    line-height: 9.2307692308vw;
  }
}
#sec01 .banner .tx .bt {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner .tx .bt {
    margin-top: 3.125vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner .tx .bt {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .banner .tx .bt {
    margin-top: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  #sec01 .banner .tx .bt a {
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner .tx .bt a {
    width: 28.125vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner .tx .bt a {
    width: 360px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner .tx .bt a {
    height: 5.625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner .tx .bt a {
    height: 72px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .banner .tx .bt a {
    width: 61.5384615385vw;
    height: 12.8205128205vw;
    font-size: 3.5897435897vw;
  }
}
#sec01 .banner .tx .bt a:after {
  background-image: url(../../../common/assets/img/ic_link_red.svg);
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner .tx .bt a:after {
    margin-left: 0.8203125vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner .tx .bt a:after {
    margin-left: 10.5px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner .tx .bt a:after {
    width: 1.171875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner .tx .bt a:after {
    width: 15px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .banner .tx .bt a:after {
    height: 1.171875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .banner .tx .bt a:after {
    height: 15px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .banner .tx .bt a:after {
    margin-left: 2.6923076923vw;
    width: 3.8461538462vw;
    height: 3.8461538462vw;
  }
}
@media screen and (min-width: 768px) {
  #sec01 .banner .tx .bt a:hover:after {
    background-image: url(../../../common/assets/img/ic_link_white.svg);
    transform: translateX(0%);
  }
}
#sec01 .bg {
  position: absolute;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg {
    top: -5vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg {
    top: -64px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg {
    height: 145.9375vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg {
    height: 1868px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .bg {
    top: 147.4358974359vw;
    height: 409.4871794872vw;
  }
}
#sec01 .bg li {
  position: absolute;
  left: 50%;
  background: none center top repeat-x;
  opacity: 0.3;
}
#sec01 .bg li.i01 {
  background-image: url(../../../assets/img/sec01_bg01.svg);
}
@media screen and (min-width: 768px) {
  #sec01 .bg li.i01 {
    width: calc(100% + 335.3125vw);
    margin-left: calc((100% + 335.3125vw) / -2 + 3.4375vw);
    animation: 10s linear infinite paused bg1_pc;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i01 {
    top: 0vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i01 {
    top: 0px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i01 {
    height: 109.53125vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i01 {
    height: 1402px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i01 {
    background-size: 167.65625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i01 {
    background-size: 2146px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i01 {
    width: calc(100% + 4292px);
    margin-left: calc((100% + 4292px) / -2 + 44px);
    animation: 10s linear infinite paused bg1_pc2;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .bg li.i01 {
    top: -2.3076923077vw;
    height: 359.4871794872vw;
    background-size: 550.2564102564vw;
    width: calc(100% + 1100.5128205128vw);
    margin-left: calc((100% + 1100.5128205128vw) / -2 - 37.6923076923vw);
    animation: 10s linear infinite paused bg1_sp;
  }
}
#sec01 .bg li.i02 {
  background-image: url(../../../assets/img/sec01_bg02.svg);
}
@media screen and (min-width: 768px) {
  #sec01 .bg li.i02 {
    width: calc(100% + 338.75vw);
    margin-left: calc((100% + 338.75vw) / -2 - 8.359375vw);
    animation: 25s linear infinite paused bg2_pc;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i02 {
    top: 8.28125vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i02 {
    top: 106px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i02 {
    height: 115.703125vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i02 {
    height: 1481px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i02 {
    background-size: 169.375vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i02 {
    background-size: 2168px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i02 {
    width: calc(100% + 4292px);
    margin-left: calc((100% + 4336px) / -2 - 107px);
    animation: 25s linear infinite paused bg2_pc2;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .bg li.i02 {
    top: 1.0256410256vw;
    height: 379.7435897436vw;
    background-size: 555.8974358974vw;
    width: calc(100% + 2223.5897435897vw);
    margin-left: calc((100% + 2223.5897435897vw) / -2 + 72.5641025641vw);
    animation: 25s linear infinite paused bg2_sp;
  }
}
#sec01 .bg li.i03 {
  background-image: url(../../../assets/img/sec01_bg02.svg);
}
@media screen and (min-width: 768px) {
  #sec01 .bg li.i03 {
    width: calc(100% + 329.375vw);
    margin-left: calc((100% + 329.375vw) / -2 + 6.015625vw);
    animation: 40s linear infinite paused bg3_pc;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i03 {
    top: 17.890625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i03 {
    top: 229px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i03 {
    height: 111.328125vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i03 {
    height: 1425px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg li.i03 {
    background-size: 164.6875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i03 {
    background-size: 2108px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg li.i03 {
    width: calc(100% + 4216px);
    margin-left: calc((100% + 4216px) / -2 - 77px);
    animation: 40s linear infinite paused bg3_pc2;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .bg li.i03 {
    top: 16.6666666667vw;
    height: 365.3846153846vw;
    background-size: 540.5128205128vw;
    width: calc(100% + 2162.0512820513vw);
    margin-left: calc((100% + 2162.0512820513vw) / -2 + 70vw);
    animation: 40s linear infinite paused bg3_sp;
  }
}
#sec01 .bg.enter li {
  animation-play-state: running;
}
#sec01 .bg:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  #sec01 .bg:after {
    background: linear-gradient(to bottom, rgba(249, 250, 250, 0) 0%, rgba(249, 250, 250, 0.8) 33.44%, rgb(249, 250, 250) 67.51%);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg:after {
    top: 58.515625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg:after {
    top: 749px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #sec01 .bg:after {
    height: 87.421875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (min-width: 1281px) {
  #sec01 .bg:after {
    height: 1119px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 .bg:after {
    top: 147.1794871795vw;
    height: 243.5897435897vw;
    background: linear-gradient(180deg, rgba(244, 244, 244, 0) 0%, rgba(244, 244, 244, 0.8) 33.44%, #F4F4F4 67.51%);
  }
}

@keyframes bg1_pc {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(167.65625vw);
  }
}
@keyframes bg1_pc2 {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(2146px);
  }
}
@keyframes bg2_pc {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(169.375vw);
  }
}
@keyframes bg2_pc2 {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(2168px);
  }
}
@keyframes bg3_pc {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(164.6875vw);
  }
}
@keyframes bg3_pc2 {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(2108px);
  }
}
@keyframes bg1_sp {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(550.2564102564vw);
  }
}
@keyframes bg2_sp {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(555.8974358974vw);
  }
}
@keyframes bg3_sp {
  0% {
    transform: translatex(0);
  }
  100% {
    transform: translatex(540.5128205128vw);
  }
}
/*# sourceMappingURL=index.css.map */