@charset "UTF-8";
/* --------------------------------------------------
	section size
-------------------------------------------------- */
/* loaded
---------------------------------------------------------------------------- */
.pre-load .l-header.-corporate {
  opacity: 0;
  transition: 0.6s;
  transition-delay: 3s;
}
.pre-load.is-loaded .page-top .sec-fv .sec-bg {
  transform: translate(-50%, -50%) scale(1);
}
.pre-load.is-loaded .page-top .sec-fv .txt-slider,
.pre-load.is-loaded .page-top .sec-fv .txt-slider02,
.pre-load.is-loaded .page-top .sec-fv .fv-btn,
.pre-load.is-loaded .page-top .sec-fv .scroll-wrap {
  opacity: 1;
}
.pre-load.is-loaded .l-header.-corporate {
  opacity: 1;
}
.pre-load.is-loaded.is-second .main-slider, .pre-load.is-loaded.is-second .slider01, .pre-load.is-loaded.is-second .slider02 {
  transform: scale(1) translate(0, 0) !important;
  opacity: 1 !important;
}

.page-top {
  /* common
  ---------------------------------------------------------------------------- */
  /* 画像をまとめているグループ */
  /* sec-fv
  ---------------------------------------------------------------------------- */
  /* sec-about
  ---------------------------------------------------------------------------- */
  /* sec-strengths
  ---------------------------------------------------------------------------- */
  /* sec-glance
  ---------------------------------------------------------------------------- */
  /* sec-services
  ---------------------------------------------------------------------------- */
  /* sec-pricing
  ---------------------------------------------------------------------------- */
  /* sec-gateway
  ---------------------------------------------------------------------------- */
  /* sec-case
  ---------------------------------------------------------------------------- */
  /* sec-faq
  ---------------------------------------------------------------------------- */
  /* sec-blog
  ---------------------------------------------------------------------------- */
  /* bnr_recruit
  ---------------------------------------------------------------------------- */
  /* sec-access
  ---------------------------------------------------------------------------- */
}
.page-top .c-slider-container {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  width: 100%;
  z-index: 1;
}
.page-top .slider-track {
  display: flex;
  width: -moz-max-content;
  width: max-content; /* 中身の合計幅に自動で合わせる */
  animation: scroll-left 30s linear infinite;
}
@media screen and (max-width: 480px) {
  .page-top .slider-track {
    animation: scroll-left 20s linear infinite;
  }
}
.page-top .slider-group {
  display: flex;
  gap: 20rem; /* 画像と画像の間の余白 */
  padding-right: 20rem; /* ループのつなぎ目の余白（gapと同じ値にする） */
}
@media screen and (max-width: 480px) {
  .page-top .slider-group {
    gap: 6rem;
    padding-right: 6rem;
  }
}
.page-top .slider-group .slide-img {
  display: flex;
  gap: 20rem;
}
.page-top .slider-group .title {
  color: #F6F6F6;
  font-style: italic;
  font-size: 10rem;
  line-height: 1;
  letter-spacing: 6px;
  font-weight: 500;
  white-space: nowrap;
}
@media screen and (max-width: 480px) {
  .page-top .slider-group .title {
    font-size: 8rem;
    line-height: 1;
    font-weight: 500;
  }
}
.page-top .sec-fv {
  position: relative;
  width: 100%;
  aspect-ratio: 1540/1060;
  background-size: cover;
  transition: 0.4s;
  /*		overflow: hidden;*/
  /* テキストスライダー全体のコンテナを安定させる */
  /* Slickが生成するトラックとリストのバグを防止 */
  /* 通常時のスライド要素は強制的に非表示（透明）にする */
  /* 現在アクティブなスライド（表示されるべきテキスト）だけを最前面に100%表示 */
  /* 念のためテキスト自体が消えるのを防止 */
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv {
    aspect-ratio: 750/1492;
    height: 100vh;
  }
}
.page-top .sec-fv__inner {
  position: relative;
  top: 7%;
  width: 96%;
  max-width: 134rem;
  height: 100%;
  /*			height: 100vh;*/
  margin: 0 auto;
  z-index: 2;
}
@media screen and (min-width: 1921px) {
  .page-top .sec-fv__inner {
    top: 14%;
  }
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv__inner {
    top: 0;
    width: calc(100% - 12rem);
    max-width: inherit;
  }
}
.page-top .sec-fv .slider-wrap .slick-track,
.page-top .sec-fv .slider-wrap .slick-list {
  height: 100%;
}
.page-top .sec-fv .slider-wrap .main-slider {
  position: absolute;
  left: 50.6rem;
  top: 13.4rem;
  width: 58.8rem;
  aspect-ratio: 588/472;
  transform: scale(0) translate(-20px, -20px);
  animation: mainPop 0.6s 1.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards, slowfloat 8s 3.4s ease-in-out infinite alternate;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg width='588' height='472' viewBox='0 0 588 472' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M521.053 164.423C492.988 162.848 459.404 158.075 447.552 133.078C442.382 122.155 442.797 109.678 440.884 97.8262C432.739 47.4961 381.092 11.8822 329.354 5.33069C277.616 -1.22079 226.121 15.042 177.783 33.5037C135.829 49.522 93.9597 67.7926 59.9275 96.4819C25.8952 125.171 0.212268 165.86 -0.810248 209.981C-1.54074 241.382 10.1485 272.221 26.8504 299.251C86.9176 396.44 208.569 445.183 324.262 446.672C402.993 447.683 486.792 426.742 537.616 368.598C588.441 310.454 596.534 168.669 521.056 164.435L521.053 164.423Z' fill='%23FFFFFF'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg width='588' height='472' viewBox='0 0 588 472' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M521.053 164.423C492.988 162.848 459.404 158.075 447.552 133.078C442.382 122.155 442.797 109.678 440.884 97.8262C432.739 47.4961 381.092 11.8822 329.354 5.33069C277.616 -1.22079 226.121 15.042 177.783 33.5037C135.829 49.522 93.9597 67.7926 59.9275 96.4819C25.8952 125.171 0.212268 165.86 -0.810248 209.981C-1.54074 241.382 10.1485 272.221 26.8504 299.251C86.9176 396.44 208.569 445.183 324.262 446.672C402.993 447.683 486.792 426.742 537.616 368.598C588.441 310.454 596.534 168.669 521.056 164.435L521.053 164.423Z' fill='%23FFFFFF'/></svg>");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: cover;
          mask-size: cover;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .slider-wrap .main-slider {
    left: 21rem;
    top: 33.4rem;
    width: 46rem;
    aspect-ratio: 460/369;
    -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='460' height='369' viewBox='0 0 460 369'><path d='M407.4 128.5c-22-1.2-48.2-5-57.5-24.5-4-8.5-3.7-18.3-5.2-27.6C338.3 37.1 298 9.3 257.5 4.2c-40.5-5.1-80.7 7.6-118.5 22C106.2 38.7 73.5 53 46.9 75.4c-26.6 22.4-46.7 54.2-47.5 88.8-.6 24.5 8.5 48.6 21.6 69.7 47 76 142.1 114.1 232.5 115.3 61.6.8 127.1-15.6 166.8-61.1 39.7-45.5 46-156.3-13-159.6z' fill='%23fff'/></svg>");
            mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='460' height='369' viewBox='0 0 460 369'><path d='M407.4 128.5c-22-1.2-48.2-5-57.5-24.5-4-8.5-3.7-18.3-5.2-27.6C338.3 37.1 298 9.3 257.5 4.2c-40.5-5.1-80.7 7.6-118.5 22C106.2 38.7 73.5 53 46.9 75.4c-26.6 22.4-46.7 54.2-47.5 88.8-.6 24.5 8.5 48.6 21.6 69.7 47 76 142.1 114.1 232.5 115.3 61.6.8 127.1-15.6 166.8-61.1 39.7-45.5 46-156.3-13-159.6z' fill='%23fff'/></svg>");
  }
}
.page-top .sec-fv .slider-wrap .main-slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .sec-fv .slider-wrap .slider01 {
  position: absolute;
  left: 28.2rem;
  top: 9.7rem;
  width: 18.1rem;
  aspect-ratio: 181/155;
  transform: scale(0) translate(20px, 20px);
  animation: slider01Pop 0.6s 2.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards, slowfloat 7s 3.4s ease-in-out infinite alternate;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg width='181' height='155' viewBox='0 0 181 155' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M48.3294 129.765C55.9471 142.244 71.7006 146.875 86.1914 147.981C114.179 150.116 144.164 141.807 162.824 120.626C171.448 110.834 177.472 97.1534 173.518 84.691C171.867 79.4912 168.549 74.6906 168.441 69.2287C168.334 63.8065 171.418 58.8931 172.804 53.6525C175.919 41.8824 169.916 29.0747 160.533 21.4277C151.15 13.7807 138.99 10.4958 127.032 8.86846C91.9573 4.09671 54.288 12.9105 27.8159 36.6493C15.7609 47.4581 5.93409 61.9303 4.68875 78.1446C3.44737 94.3591 12.834 111.941 28.3705 116.235C33.8395 117.747 41.2035 118.089 48.3257 129.76L48.3294 129.765Z' fill='%23FFFFFF'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg width='181' height='155' viewBox='0 0 181 155' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M48.3294 129.765C55.9471 142.244 71.7006 146.875 86.1914 147.981C114.179 150.116 144.164 141.807 162.824 120.626C171.448 110.834 177.472 97.1534 173.518 84.691C171.867 79.4912 168.549 74.6906 168.441 69.2287C168.334 63.8065 171.418 58.8931 172.804 53.6525C175.919 41.8824 169.916 29.0747 160.533 21.4277C151.15 13.7807 138.99 10.4958 127.032 8.86846C91.9573 4.09671 54.288 12.9105 27.8159 36.6493C15.7609 47.4581 5.93409 61.9303 4.68875 78.1446C3.44737 94.3591 12.834 111.941 28.3705 116.235C33.8395 117.747 41.2035 118.089 48.3257 129.76L48.3294 129.765Z' fill='%23FFFFFF'/></svg>");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: cover;
          mask-size: cover;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .slider-wrap .slider01 {
    left: 8.2rem;
    top: 20.7rem;
  }
}
.page-top .sec-fv .slider-wrap .slider01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .sec-fv .slider-wrap .slider02 {
  position: absolute;
  left: 7.3rem;
  top: 33.9rem;
  width: 31.1rem;
  aspect-ratio: 311/280;
  transform: scale(0) translate(20px, -20px);
  transition: 0.6s;
  transition-delay: 2.8s;
  animation: slider02Pop 0.6s 2.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards, slowfloat02 8s 3.4s ease-in-out infinite alternate;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg width='311' height='280' viewBox='0 0 311 280' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M20.0291 144.761C19.762 123.742 37.573 107.553 59.6323 107.652C64.872 107.678 70.2403 106.149 74.3897 103.284C83.725 96.8405 88.3019 85.9607 92.0242 75.4956C95.7466 65.0305 99.3084 54.0021 107.469 46.2559C120.938 33.4732 142.736 33.3036 162.003 35.6951C207.232 41.299 255.62 60.0918 276.682 99.1175C298.872 140.233 281.329 193.223 243.503 219.893C205.677 246.564 152.73 249.342 106.725 235.211C85.3618 228.65 64.7293 218.516 48.5734 203.442C32.4193 188.361 21.0614 167.993 20.0809 146.818C20.0502 146.136 20.0268 145.451 20.0218 144.765L20.0291 144.761Z' fill='%23FFFFFF'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg width='311' height='280' viewBox='0 0 311 280' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M20.0291 144.761C19.762 123.742 37.573 107.553 59.6323 107.652C64.872 107.678 70.2403 106.149 74.3897 103.284C83.725 96.8405 88.3019 85.9607 92.0242 75.4956C95.7466 65.0305 99.3084 54.0021 107.469 46.2559C120.938 33.4732 142.736 33.3036 162.003 35.6951C207.232 41.299 255.62 60.0918 276.682 99.1175C298.872 140.233 281.329 193.223 243.503 219.893C205.677 246.564 152.73 249.342 106.725 235.211C85.3618 228.65 64.7293 218.516 48.5734 203.442C32.4193 188.361 21.0614 167.993 20.0809 146.818C20.0502 146.136 20.0268 145.451 20.0218 144.765L20.0291 144.761Z' fill='%23FFFFFF'/></svg>");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: cover;
          mask-size: cover;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .slider-wrap .slider02 {
    left: 1.3rem;
    top: 104rem;
    width: 34.8rem;
    aspect-ratio: 348/314;
  }
}
.page-top .sec-fv .slider-wrap .slider02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .sec-fv .txt-slider {
  position: absolute;
  left: 0.8rem;
  top: 63rem;
  opacity: 0;
  transition: 0.6s;
  transition-delay: 3s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .txt-slider {
    left: 0.7rem;
    top: 68rem;
    width: 100%;
  }
}
.page-top .sec-fv .txt-slider .slide-item .txt {
  color: #373737;
  font-size: 4.6rem;
  line-height: 1.7391304348;
  letter-spacing: 0.92px;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .txt-slider .slide-item .txt {
    font-size: 5.2rem;
    line-height: 1.6153846154;
    letter-spacing: 2.08px;
    font-weight: 700;
  }
}
.page-top .sec-fv .txt-slider02 {
  position: absolute;
  left: 102.4rem;
  top: 15rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  display: none;
  width: 19.8rem;
  height: 19.8rem;
  background: #2A2A2A;
  border-radius: 100%;
  box-sizing: border-box;
  transform: rotate(9deg);
  opacity: 0;
  transition: 0.6s;
  transition-delay: 3s;
}
.page-top .sec-fv .txt-slider02.slick-initialized {
  display: flex;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .txt-slider02 {
    left: 0.7rem;
    top: 86rem;
    width: 100%;
    height: auto;
    transform: rotate(0deg);
    background: none;
    border-radius: 0;
  }
}
.page-top .sec-fv .txt-slider02 .slide-item .txt {
  text-align: center;
  color: #fff;
  font-size: 1.3rem;
  line-height: 2.2307692308;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .txt-slider02 .slide-item .txt {
    text-align: left;
    color: #373737;
    font-size: 3.2rem;
    line-height: 1.6875;
    font-weight: 700;
  }
}
.page-top .sec-fv .txt-slider02 .slide-item .txt .small {
  display: block;
  font-size: 1.1rem;
  line-height: 1.8181818182;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .txt-slider02 .slide-item .txt .small {
    font-size: 2.4rem;
    line-height: 2.25;
    font-weight: 700;
  }
}
.page-top .sec-fv .fv-btn {
  opacity: 0;
  transition: 0.6s;
  transition-delay: 3s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .fv-btn {
    display: none;
  }
}
.page-top .sec-fv .fv-btn .btn {
  position: absolute;
  display: block;
  width: 18rem;
  height: 18rem;
  text-align: center;
  background: #fff;
  border: 1px solid #CBCBCB;
  border-radius: 100%;
  padding-top: 4.2rem;
  box-sizing: border-box;
  will-change: transform;
  transform-origin: center;
  text-decoration: none !important;
  transition: 0.4s;
}
.page-top .sec-fv .fv-btn .btn:after {
  position: absolute;
  left: 50%;
  top: 13rem;
  transform: translateX(-50%);
  display: block;
  content: "";
  background: url("../images/common/arrow_b.svg") no-repeat center center;
  background-size: 100% auto !important;
  width: 2rem;
  height: 2rem;
}
.page-top .sec-fv .fv-btn .btn .subttl {
  color: #373737;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 0.1rem;
  text-decoration: none !important;
}
.page-top .sec-fv .fv-btn .btn .subttl.en {
  font-size: 1.1rem;
  line-height: 1;
  font-weight: 700;
}
.page-top .sec-fv .fv-btn .btn .ttl {
  font-size: 1.3rem;
  line-height: 2.2307692308;
  font-weight: 700;
  text-decoration: none !important;
}
.page-top .sec-fv .fv-btn .btn .check {
  margin-top: 0.4rem;
}
.page-top .sec-fv .fv-btn .btn .check span {
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: 0.67px;
  font-weight: 700;
  text-decoration: none !important;
  padding: 0.7rem 1.2rem;
  border-radius: 8.57rem;
  background: #7D7D7D;
  transition: 0.4s;
}
.page-top .sec-fv .fv-btn .btn.-blog {
  right: 11.1rem;
  top: 49.5rem;
  animation: slowfloat 8s ease-in-out infinite alternate;
}
.page-top .sec-fv .fv-btn .btn.-gateway {
  right: 28.1rem;
  top: 60rem;
  animation: slowfloat02 7s 0.4s ease-in-out infinite alternate;
}
@media screen and (min-width: 481px) {
  .page-top .sec-fv .fv-btn .btn:hover {
    width: 19rem;
    height: 19rem;
  }
  .page-top .sec-fv .fv-btn .btn:hover .check span {
    color: #373737;
    background: #FFE310;
  }
}
.page-top .sec-fv .scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 90%;
  pointer-events: none;
  z-index: 3;
  opacity: 0;
  transition: 0.6s;
  z-index: 11;
  transition-delay: 3s;
}
@media screen and (min-width: 1367px) {
  .page-top .sec-fv .scroll-wrap {
    height: 100dvh;
  }
}
.page-top .sec-fv .scroll-wrap .scroll-inner {
  position: absolute;
  right: 7rem;
  bottom: 10rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .scroll-wrap .scroll-inner {
    right: 6rem;
    bottom: 2.4rem;
  }
}
.page-top .sec-fv .scroll-wrap .scroll {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  flex-direction: column;
  width: 5.5rem;
  height: 21rem;
  border-radius: 10rem;
  border: 1px solid #373737;
  background: #fff;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .scroll-wrap .scroll {
    width: 8.5rem;
    height: 29.6rem;
    border-radius: 15.45rem;
  }
}
.page-top .sec-fv .scroll-wrap .scroll .txt {
  color: #373737;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 1.4px;
  font-weight: 700;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  margin-bottom: 1.3rem; /* 線との余白 */
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .scroll-wrap .scroll .txt {
    font-size: 2.1rem;
    line-height: 1;
    letter-spacing: 1.164px;
    font-weight: 700;
    margin-bottom: 2.4rem;
  }
}
.page-top .sec-fv .scroll-wrap .scroll .scroll-bar {
  position: relative;
  left: 0.1rem;
  width: 0.2rem;
  height: 4.2rem;
  background: #373737;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .scroll-wrap .scroll .scroll-bar {
    width: 2px;
    height: 4.9rem;
  }
}
.page-top .sec-fv .scroll-wrap .scroll .scroll-bar:after {
  position: absolute;
  left: 50%;
  top: 0;
  display: block;
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  background: #373737;
  border-radius: 100%;
  transform: translate3d(-50%, 0, 0);
  will-change: transform;
  animation: scrollDotDown 2.2s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .scroll-wrap .scroll .scroll-bar:after {
    width: 1rem;
    height: 1rem;
  }
}
.page-top .sec-fv .sec-bg {
  position: absolute;
  left: calc(50% - 7rem);
  top: calc(50% - 15rem);
  transform: translate(-50%, -50%) scale(0.1);
  width: 160%;
  aspect-ratio: 1540/1060;
  transition: 1s;
  z-index: 1;
}
@media screen and (max-width: 480px) {
  .page-top .sec-fv .sec-bg {
    left: calc(50% + 9rem);
    top: calc(50% - 4rem);
    width: 230%;
    aspect-ratio: 1752/1593;
  }
}
.page-top .sec-fv .sec-bg img {
  width: 100%;
  max-width: inherit;
}
.page-top .sec-fv .txt-slider {
  position: relative !important;
  display: block !important;
}
.page-top .sec-fv .txt-slider .slick-list,
.page-top .sec-fv .txt-slider .slick-track {
  overflow: visible !important;
  height: auto !important;
}
.page-top .sec-fv .txt-slider .slide-item {
  opacity: 0 !important;
  pointer-events: none; /* クリックや選択を無効化 */
  z-index: 1 !important;
  transition: opacity 1000ms ease-in-out !important; /* JSのspeed:1000と同期 */
}
.page-top .sec-fv .txt-slider .slide-item.slick-current,
.page-top .sec-fv .txt-slider .slide-item.slick-active {
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 10 !important;
}
.page-top .sec-fv .txt-slider .txt {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.page-top .sec-about {
  position: relative;
  margin-top: -16.7rem;
  overflow: hidden;
  /* ズームセクションのスタイル（通常時） */
}
@media screen and (max-width: 480px) {
  .page-top .sec-about {
    margin-top: 0;
  }
}
.page-top .sec-about__wrap {
  position: relative;
  width: 100%;
  padding: 19.8rem 0 4rem 0;
  border-radius: 10rem 10rem 0 0;
  background: rgba(255, 255, 255, 0.96);
  z-index: 10;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about__wrap {
    padding: 11.6rem 4rem 0 4rem;
    border-radius: 8rem 8rem 0 0;
  }
}
.page-top .sec-about__inner {
  position: relative;
  width: 100%;
  max-width: 81.6rem;
  margin: 0 auto;
  padding-bottom: 34.7rem;
  z-index: 3;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about__inner {
    max-width: inherit;
    padding-bottom: 22.2rem;
  }
}
.page-top .sec-about .c-slider-container {
  top: 13rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .c-slider-container {
    top: 18.6rem;
  }
}
.page-top .sec-about .c-slider-container .title {
  color: #F1F1F1;
}
.page-top .sec-about .flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .flex {
    flex-direction: column;
    gap: 7.7rem 0;
  }
}
.page-top .sec-about .flex .title {
  position: relative;
  top: 0.5rem;
  width: 27rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .flex .title {
    top: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    align-content: stretch;
  }
}
.page-top .sec-about .flex .title .c-title02 {
  margin-bottom: 7.7rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .flex .title .c-title02 {
    margin-bottom: 0;
  }
}
.page-top .sec-about .flex .title .c-more-links .link-txt {
  padding-right: 7.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .flex .title .c-more-links .link-txt {
    padding-right: 10.6rem;
  }
}
.page-top .sec-about .flex .title .c-more-links .arrow {
  width: 6.8rem;
  height: 6.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .flex .title .c-more-links .arrow {
    width: 8.6rem;
    height: 8.6rem;
  }
}
.page-top .sec-about .flex .text-wrap {
  width: calc(100% - 27rem);
  padding-left: 6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .flex .text-wrap {
    width: 100%;
    padding-left: 0;
  }
}
.page-top .sec-about .flex .text-wrap .txt {
  color: #373737;
  font-size: 1.5rem;
  line-height: 2.2666666667;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .flex .text-wrap .txt {
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 400;
  }
}
.page-top .sec-about .flex .text-wrap .txt + .txt {
  margin-top: 4.3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .flex .text-wrap .txt + .txt {
    margin-top: 4rem;
  }
}
.page-top .sec-about .lead-txt {
  margin-top: 11.9rem;
  text-align: center;
  color: #373737;
  font-size: 4rem;
  line-height: 1.425;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .lead-txt {
    margin-top: 22rem;
    font-size: 3.6rem;
    line-height: 1.8611111111;
    font-weight: 500;
  }
}
.page-top .sec-about .deco {
  position: absolute;
}
.page-top .sec-about .deco.img01 {
  bottom: 27.1rem;
  left: -2.7rem;
  width: 41rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .deco.img01 {
    bottom: 29.1rem;
    left: -4.7rem;
    width: 26rem;
  }
}
.page-top .sec-about .deco.img02 {
  bottom: -0.8rem;
  left: 10.6rem;
  width: 40.3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .deco.img02 {
    bottom: 6.2rem;
    left: -7rem;
    width: 29rem;
  }
}
.page-top .sec-about .deco.img03 {
  bottom: 22.6rem;
  right: -9.2rem;
  width: 51.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .deco.img03 {
    bottom: 23.6rem;
    right: -4.7rem;
    width: 31.7rem;
  }
}
.page-top .sec-about .deco.img04 {
  bottom: 4.5rem;
  right: 10.5rem;
  width: 30.3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .deco.img04 {
    bottom: 7.5rem;
    right: -4.5rem;
    width: 27rem;
  }
}
.page-top .sec-about .zoom-section {
  position: absolute;
  bottom: 10rem;
  left: 0;
  text-align: center;
  width: 100%;
  z-index: 1;
}
.page-top .sec-about .zoom-section .zoom-image {
  width: 91.6rem;
  height: 73.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-about .zoom-section .zoom-image {
    width: 53.6rem;
    height: 43rem;
  }
}
.page-top .js-anime.deco-animation01 {
  opacity: 0;
  transform: translate(-50%, -50%);
}
.page-top .js-anime.deco-animation02 {
  opacity: 0;
  transform: translate(-50%, 50%);
}
.page-top .js-anime.deco-animation03 {
  opacity: 0;
  transform: translate(50%, -50%);
}
.page-top .js-anime.deco-animation04 {
  opacity: 0;
  transform: translate(50%, 50%);
}
.page-top .js-anime.about-fadein01, .page-top .js-anime.about-fadein02 {
  opacity: 0;
  transform: translateY(50px);
}
.page-top .js-anime.is-visible.about-fadein01 {
  opacity: 0;
  animation: deco_fadein 0.4s 0.4s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.page-top .js-anime.is-visible.deco-animation01 {
  animation: deco_slideIn01 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.page-top .js-anime.is-visible.deco-animation02 {
  animation: deco_slideIn02 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.page-top .js-anime.is-visible.deco-animation03 {
  animation: deco_slideIn03 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.page-top .js-anime.is-visible.deco-animation04 {
  animation: deco_slideIn04 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.page-top .js-anime.is-visible.about-fadein02 {
  opacity: 0;
  animation: deco_fadein 0.6s 1.4s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes deco_fadein {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes deco_slideIn01 {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes deco_slideIn02 {
  0% {
    opacity: 0;
    transform: translate(-50%, 50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes deco_slideIn03 {
  0% {
    opacity: 0;
    transform: translate(50%, -50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes deco_slideIn04 {
  0% {
    opacity: 0;
    transform: translate(50%, 50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.page-top .sec-strengths {
  position: relative;
  background: rgba(255, 255, 255, 0.96);
  padding-bottom: 10rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths {
    padding-bottom: 0;
  }
}
.page-top .sec-strengths__inner {
  padding: 8.4rem 8rem 21.7rem 8rem;
  background: #F6F6F7;
  border-radius: 2rem;
  overflow: hidden !important;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths__inner {
    padding: 5.1rem 4rem 17.7rem 4rem;
  }
}
.page-top .sec-strengths .strengths-ttl {
  text-align: center;
  color: #373737;
  font-size: 4rem;
  line-height: 0.85;
  font-weight: 400;
  margin-bottom: 7.2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .strengths-ttl {
    font-size: 3.6rem;
    line-height: 0.9444444444;
    font-weight: 400;
    margin-bottom: 6.4rem;
  }
}
.page-top .sec-strengths .box-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 1.9rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap {
    flex-direction: column;
    gap: 5.7rem 0;
  }
}
.page-top .sec-strengths .box-wrap .box {
  position: relative;
  width: calc((100% - 3.8rem) / 3);
  aspect-ratio: 322/287;
  border-radius: 1rem;
  border: 1px solid #373737;
  background: #fff;
  padding: 6.2rem 3.3rem 3.3rem 3.3rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap .box {
    width: 100%;
    aspect-ratio: inherit;
    border-radius: 1rem;
    padding: 5rem 4.2rem 3.8rem 4.2rem;
  }
}
.page-top .sec-strengths .box-wrap .box .num {
  position: absolute;
  left: 50%;
  top: -3.3rem;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  width: 6.6rem;
  height: 6.6rem;
  border-radius: 100%;
  background: #373737;
  color: #fff;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 1.32px;
  font-weight: 800;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap .box .num {
    top: -4.1rem;
    width: 8.2rem;
    height: 8.2rem;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 1.44px;
    font-weight: 800;
  }
}
.page-top .sec-strengths .box-wrap .box .txt {
  color: #373737;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap .box .txt {
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 500;
  }
}
.page-top .sec-strengths .box-wrap .box .btn_wrap {
  position: absolute;
  right: 3.1rem;
  bottom: 3.3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap .box .btn_wrap {
    position: relative;
    right: auto;
    bottom: 0;
    margin: 2.7rem auto 0 auto;
  }
}
.page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03 {
  width: 16.7rem;
  height: 4.1rem;
  padding: 0 2.1rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03 {
    width: 31.6rem;
    height: 7.8rem;
    padding: 0 3.9rem;
    margin: 0 auto;
  }
}
.page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03 .txt {
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03 .txt {
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 700;
  }
}
.page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03 .txt:before {
  top: 0.2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03 .txt:before {
    top: 0.8rem;
  }
}
.page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03 .arrow {
  right: 1.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03 .arrow {
    right: 3.6rem;
    width: 2rem;
    height: 2rem;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-strengths .box-wrap .box .btn_wrap .c-button03:hover .txt {
    color: #fff;
  }
}
.page-top .sec-strengths .deco {
  position: absolute;
  left: 38rem;
  bottom: 0;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .deco {
    left: 17.6rem;
  }
}
.page-top .sec-strengths .deco.img01 {
  width: 52.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-strengths .deco.img01 {
    width: 52.3rem;
  }
}
.page-top .sec-glance {
  position: relative;
  padding: 32.8rem 0 19rem 0;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance {
    padding: 20.3rem 0 10rem 0;
  }
}
.page-top .sec-glance .c-slider-container {
  top: 13.7rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .c-slider-container {
    top: 7.4rem;
  }
}
.page-top .sec-glance .c-slider-container .title {
  color: #231815;
}
.page-top .sec-glance .l-wrapper {
  position: relative;
  max-width: 134rem;
  border-radius: 8rem;
  background: #fff;
  padding: 7.8rem 7rem 9.8rem 7rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .l-wrapper {
    max-width: inherit;
    border-radius: 3rem;
    padding: 6.8rem 4rem 14.7rem 4rem;
  }
}
.page-top .sec-glance .glance-ttl {
  text-align: center;
  margin-bottom: 4.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .glance-ttl {
    margin-bottom: 2rem;
  }
}
.page-top .sec-glance .glance-ttl span {
  position: relative;
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.8888888889;
  font-weight: 700;
  padding: 2.1rem 8.1rem;
  border-radius: 10rem;
  background: #373737;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .glance-ttl span {
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 700;
    padding: 2.8rem 9.8rem;
    border-radius: 13.4rem;
  }
}
.page-top .sec-glance .glance-ttl span:before {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  content: "";
  width: 5.1rem;
  height: 5.7rem;
  background: url("../images/top/deco_ttl.png") no-repeat center center;
  background-size: 100% auto;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .glance-ttl span:before {
    left: 1rem;
    bottom: 0;
    width: 6.9rem;
    height: 7.6rem;
  }
}
.page-top .sec-glance .box-wrap {
  position: relative;
}
.page-top .sec-glance .box-wrap .ttl {
  position: absolute;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.6111111111;
  font-weight: 700;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .ttl {
    font-size: 3.2rem;
    line-height: 1.6875;
    font-weight: 700;
  }
}
.page-top .sec-glance .box-wrap .box {
  position: relative;
  display: inline-block;
  width: 33.4rem;
  border-radius: 1.6rem;
  border: 1px solid #373737;
  background: #F5F5F5;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
  padding: 2.5rem 0 2.6rem 0;
  box-sizing: border-box;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box {
    width: 36.8rem;
    border-radius: 1.97rem;
    padding: 3rem 0 3rem 0;
  }
}
.page-top .sec-glance .box-wrap .box .flex {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 1.9rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box .flex {
    gap: 0 1.4rem;
  }
}
.page-top .sec-glance .box-wrap .box-ttl {
  text-align: center;
  color: #373737;
  font-size: 1.8rem;
  line-height: 1.6111111111;
  font-weight: 700;
  margin-bottom: 1.1rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box-ttl {
    font-size: 2.6rem;
    line-height: 1.3846153846;
    font-weight: 700;
    margin-bottom: 0.9rem;
  }
}
.page-top .sec-glance .box-wrap .box-ttl .small {
  margin-left: 1.2rem;
  font-size: 1.4rem;
  line-height: 2.0714285714;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box-ttl .small {
    margin-left: 1.8rem;
    font-size: 2rem;
    line-height: 1.8;
    font-weight: 400;
  }
}
.page-top .sec-glance .box-wrap .box-txt01 {
  text-align: center;
  color: #373737;
  font-size: 2.2rem;
  line-height: 1.3181818182;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box-txt01 {
    font-size: 2.6rem;
    line-height: 1.3846153846;
    font-weight: 700;
  }
}
.page-top .sec-glance .box-wrap .box-txt01 .num {
  margin-right: 0.7rem;
  font-size: 4.4rem;
  line-height: 1;
  font-weight: 800;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box-txt01 .num {
    font-size: 5.4rem;
    line-height: 1;
    font-weight: 800;
  }
}
.page-top .sec-glance .box-wrap .box-txt01 .num02 {
  margin-left: 0.7rem;
  margin-right: 0.7rem;
  font-size: 3.4rem;
  line-height: 1;
  font-weight: 800;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box-txt01 .num02 {
    font-size: 5.4rem;
    line-height: 1;
    font-weight: 800;
  }
}
.page-top .sec-glance .box-wrap .box-txt02 {
  text-align: center;
  color: #373737;
  font-size: 2.4rem;
  line-height: 1.4166666667;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box-txt02 {
    font-size: 3rem;
    line-height: 1.4;
    font-weight: 700;
  }
}
.page-top .sec-glance .box-wrap .box-txt02 .small {
  font-size: 2rem;
  line-height: 1.7;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box-txt02 .small {
    font-size: 2.4rem;
    line-height: 1.75;
    font-weight: 700;
  }
}
.page-top .sec-glance .box-wrap .box-note {
  text-align: center;
  margin-top: 1.2rem;
  color: #373737;
  font-size: 1.4rem;
  line-height: 2.0714285714;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box-note {
    margin-top: 1.4rem;
    font-size: 2.2rem;
    line-height: 1.4545454545;
    font-weight: 400;
  }
}
.page-top .sec-glance .box-wrap .box .detail {
  width: calc(100% - 5rem);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box .detail {
    width: calc(100% - 6.8rem);
  }
}
.page-top .sec-glance .box-wrap .box .detail .detail-txt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
}
.page-top .sec-glance .box-wrap .box .detail .detail-txt dt {
  color: #373737;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box .detail .detail-txt dt {
    font-size: 2.4rem;
    line-height: 1.625;
    font-weight: 700;
  }
}
.page-top .sec-glance .box-wrap .box .detail .detail-txt dd {
  color: #373737;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap .box .detail .detail-txt dd {
    font-size: 2.6rem;
    line-height: 1.5;
    font-weight: 700;
  }
}
.page-top .sec-glance .box-wrap .deco {
  position: absolute;
  z-index: 1;
}
.page-top .sec-glance .box-wrap.box01 .ttl {
  left: 54.9rem;
  top: 23.1rem;
  font-size: 2rem;
  line-height: 1.45;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box01 .ttl {
    left: 24rem;
    top: 22.1rem;
    font-size: 3.2rem;
    line-height: 1.6875;
    font-weight: 700;
  }
}
.page-top .sec-glance .box-wrap.box01 .box:nth-of-type(1) {
  margin-top: 6.2rem;
  margin-left: 7.3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box01 .box:nth-of-type(1) {
    margin-top: 30rem;
    margin-left: 0;
  }
}
.page-top .sec-glance .box-wrap.box01 .box:nth-of-type(2) {
  top: -1.4rem;
  margin-left: 38rem;
  width: 33.3rem;
  padding-bottom: 3.1rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box01 .box:nth-of-type(2) {
    width: 28.3rem;
    margin-top: 0;
    margin-left: 0;
    top: -2.8rem;
    left: 1.5rem;
  }
}
.page-top .sec-glance .box-wrap.box01 .box:nth-of-type(3) {
  margin-top: 3.2rem;
  margin-left: 18rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box01 .box:nth-of-type(3) {
    width: 32.8rem;
    margin-top: 1rem;
    margin-left: 4rem;
    padding-bottom: 2rem;
  }
}
.page-top .sec-glance .box-wrap.box01 .box:nth-of-type(4) {
  top: -3.9rem;
  margin-left: 19.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box01 .box:nth-of-type(4) {
    width: 28rem;
    margin-left: 0;
    top: -10.3rem;
    left: 1.6rem;
  }
}
.page-top .sec-glance .box-wrap.box01 .deco.img01 {
  top: 0;
  left: 51%;
  transform: translateX(-50%);
  width: 43.2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box01 .deco.img01 {
    width: 62rem;
  }
}
.page-top .sec-glance .box-wrap.box02 {
  padding-bottom: 8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 {
    padding-bottom: 38rem;
  }
}
.page-top .sec-glance .box-wrap.box02 .ttl.-ttl01 {
  left: 38.4rem;
  top: 37.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .ttl.-ttl01 {
    left: 0;
    top: 22rem;
    width: 100%;
  }
}
.page-top .sec-glance .box-wrap.box02 .ttl.-ttl02 {
  left: 71.5rem;
  top: 39.1rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .ttl.-ttl02 {
    left: 0;
    top: 180rem;
    width: 100%;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b01_01 {
  width: 28.9rem;
  top: -32.2rem;
  margin-left: 9.7rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b01_01 {
    width: 36.8rem;
    padding: 3rem 2.4rem 3rem 2.4rem;
    margin-top: 2.5rem;
    margin-left: 15rem;
    top: 0;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b01_02 {
  width: 35.2rem;
  margin-left: -39rem;
  margin-top: 28.6rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b01_02 {
    width: 100%;
    margin-top: 18rem;
    margin-left: 0;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b01_02 .detail {
  margin-top: 0.8rem;
  padding-top: 1.4rem;
  border-top: 1px solid #373737;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b01_02 .detail {
    margin-top: 1.8rem;
  }
  .page-top .sec-glance .box-wrap.box02 .box.b01_02 .detail p {
    text-align: center;
    font-size: 2.8rem;
    line-height: 1.5;
    font-weight: 700;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b01_03 {
  width: 44.3rem;
  top: 32.6rem;
  left: -29.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b01_03 {
    width: 57.7rem;
    margin: 3rem 0 0 6rem;
    left: 0;
    top: 0;
    padding-bottom: 4rem;
  }
  .page-top .sec-glance .box-wrap.box02 .box.b01_03 .detail {
    margin-top: 2rem;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b01_04 {
  width: 26rem;
  top: 12.2rem;
  left: -27.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b01_04 {
    width: 32rem;
    margin-top: 0;
    margin-left: 0;
    left: 35rem;
    top: 3.6rem;
  }
  .page-top .sec-glance .box-wrap.box02 .box.b01_04 .box-ttl {
    margin-bottom: 1.7rem;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b02_01 {
  width: 31.2rem;
  top: -49.6rem;
  left: 44.2rem;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b02_01 {
    width: 33.5rem;
    left: -32.5rem;
    top: 4rem;
    padding: 3rem 0 3rem 0;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b02_02 {
  width: 29.9rem;
  top: -50.7rem;
  left: 47.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b02_02 {
    width: 32rem;
    margin-top: 8rem;
    left: 35rem;
    top: 0;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b02_03 {
  top: -31.7rem;
  left: 24.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b02_03 {
    width: 33.5rem;
    left: -32.2rem;
    top: 0;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b02_04 {
  top: -29.8rem;
  left: 86.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b02_04 {
    width: 27rem;
    padding: 3rem 1.4rem 4rem 1.4rem;
    margin-top: 2rem;
    left: 40rem;
    top: 0;
  }
}
.page-top .sec-glance .box-wrap.box02 .box.b02_05 {
  top: -14rem;
  left: 47.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .box.b02_05 {
    width: 38.1rem;
    padding: 3rem 1.4rem 4rem 1.4rem;
    margin-top: 0;
    margin-left: 0;
    left: -27.3rem;
    top: 0;
  }
}
.page-top .sec-glance .box-wrap.box02 .date-txt {
  position: absolute;
  right: 5.5rem;
  bottom: 0;
  text-align: right;
  color: #373737;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .date-txt {
    right: 0;
    bottom: -7rem;
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 400;
  }
}
.page-top .sec-glance .box-wrap.box02 .deco.img01 {
  top: 17rem;
  left: 14.5rem;
  width: 93.3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .deco.img01 {
    width: 75rem;
    top: -9.6rem;
    left: -4rem;
  }
}
.page-top .sec-glance .box-wrap.box02 .deco.img02 {
  bottom: 0;
  right: 21rem;
  width: 35.3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .box-wrap.box02 .deco.img02 {
    width: 43.6rem;
    right: 12rem;
  }
}
.page-top .sec-glance .bg-glance {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 146vw;
  min-width: 260rem;
  height: 146vw;
  min-height: 260rem;
  background: #FFEB52;
  border-radius: 100%;
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 480px) {
  .page-top .sec-glance .bg-glance {
    top: -8rem;
    transform: translate(-50%, 0) scale(0);
    width: 176vw;
    min-width: 127.2rem;
    height: 176vw;
    min-height: 127.2rem;
  }
}
.page-top .sec-glance .bg-glance.-circle02 {
  top: auto;
  bottom: -8rem;
}
.page-top .sec-services {
  padding: 18.4rem 0 13.8rem 0;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services {
    padding: 9rem 0 7.6rem 0;
  }
}
.page-top .sec-services .l-inner {
  max-width: 105rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .l-inner {
    max-width: inherit;
  }
}
.page-top .sec-services .c-slider-container {
  top: -5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .c-slider-container {
    top: 6rem;
  }
}
.page-top .sec-services .c-slider-container .title {
  color: #EDEDED;
}
.page-top .sec-services .sec-head {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  padding: 0 11.2rem 0 11.6rem;
  margin-bottom: 9.7rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .sec-head {
    flex-direction: column;
    gap: 7.7rem 0;
    padding: 0;
    margin-bottom: 9.3rem;
  }
}
.page-top .sec-services .sec-head .title {
  position: relative;
  top: 1rem;
  width: 31.8rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .sec-head .title {
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    align-content: stretch;
    width: 100%;
  }
}
.page-top .sec-services .sec-head .title .c-title02 {
  margin-bottom: 6.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .sec-head .title .c-title02 {
    margin-bottom: 0;
  }
}
.page-top .sec-services .sec-head .txt {
  width: calc(100% - 31.8rem);
  z-index: 2;
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.375;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .sec-head .txt {
    width: 100%;
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 400;
  }
}
.page-top .sec-services .deco {
  position: absolute;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .deco {
    display: none;
  }
}
.page-top .sec-services .deco.img01 {
  top: 25.7rem;
  left: -19.1rem;
  width: 35.8rem;
}
.page-top .sec-services .deco.img02 {
  bottom: -11rem;
  right: -23.4rem;
  width: 42.4rem;
}
.page-top .sec-services .box-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 2.6rem 4.1rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .box-wrap {
    gap: 2rem 2.2rem;
  }
}
.page-top .sec-services .box-wrap .box {
  width: calc((100% - 8.2rem) / 3);
  aspect-ratio: 322/317;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .box-wrap .box {
    width: calc((100% - 2.2rem) / 2);
  }
}
.page-top .sec-services .box-wrap .box__links {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 2.2rem 3.7rem;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .box-wrap .box__links {
    padding: 1.7rem 3.7rem;
  }
}
.page-top .sec-services .box-wrap .box__links:after {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #373737;
  background: #fff;
  border-radius: 2rem;
  transition: 0.4s;
  z-index: -1;
}
.page-top .sec-services .box-wrap .box__links .num {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  width: 6rem;
  height: 6rem;
  text-align: center;
  color: #373737;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 1.32px;
  font-weight: 600;
  background: #F0F0F0;
  border-radius: 100%;
  margin: 0 auto 0.7rem auto;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .box-wrap .box__links .num {
    width: 7rem;
    height: 7rem;
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: 1.56px;
    font-weight: 600;
    margin-bottom: 0.5rem;
  }
}
.page-top .sec-services .box-wrap .box__links .ttl {
  text-align: center;
  color: #373737;
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700;
  min-height: 7.2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .box-wrap .box__links .ttl {
    font-size: 2.4rem;
    line-height: 1.75;
    font-weight: 700;
    min-height: 8.4rem;
  }
}
.page-top .sec-services .box-wrap .box__links .ttl .small {
  display: block;
  font-size: 1.6rem;
  line-height: 1.625;
  font-weight: 500;
  margin-left: -2rem;
  margin-right: -2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .box-wrap .box__links .ttl .small {
    font-size: 2rem;
    line-height: 1.7;
    font-weight: 500;
    margin: 0;
  }
}
.page-top .sec-services .box-wrap .box__links .ico {
  margin: 1.2rem auto 0 auto;
  width: auto;
  height: 9.2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .box-wrap .box__links .ico {
    margin-top: 1.1rem;
    height: 10.3rem;
  }
}
.page-top .sec-services .box-wrap .box__links .ico img {
  display: block;
  max-width: inherit;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
.page-top .sec-services .box-wrap .box__links .ico.mt-4 {
  margin-top: -0.4rem;
}
@media screen and (min-width: 481px) {
  .page-top .sec-services .box-wrap .box__links:hover {
    text-decoration: none;
  }
  .page-top .sec-services .box-wrap .box__links:hover:after {
    transform: scale(1.1);
  }
  .page-top .sec-services .box-wrap .box__links:hover .num {
    color: #F0F0F0;
    background: #373737;
  }
}
.page-top .sec-services .btn_wrap .c-button03 {
  margin: 6.6rem auto 0 auto;
}
@media screen and (max-width: 480px) {
  .page-top .sec-services .btn_wrap .c-button03 {
    margin-top: 5.2rem;
    width: calc(100% - 13.2rem);
  }
}
.page-top .sec-pricing {
  width: 100%;
  overflow: hidden;
}
.page-top .sec-pricing__wrap {
  position: relative;
  padding: 27.7rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing__wrap {
    padding: 14.3rem 0;
  }
}
.page-top .sec-pricing__wrap:before, .page-top .sec-pricing__wrap:after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100%;
  aspect-ratio: 3080/1108;
  background: url("../images/top/bg_circle.png") no-repeat center center;
  background-size: 100% 100% !important;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing__wrap:before, .page-top .sec-pricing__wrap:after {
    aspect-ratio: 750/286;
    background: url("../images/top/bg_circle_sp.png") no-repeat center center;
  }
}
.page-top .sec-pricing__wrap:before {
  top: 0;
}
.page-top .sec-pricing__wrap:after {
  bottom: 0;
}
.page-top .sec-pricing__inner {
  position: relative;
  background: #fff;
  z-index: 2;
}
.page-top .sec-pricing .c-slider-container {
  top: -6rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .c-slider-container {
    top: 7rem;
  }
}
.page-top .sec-pricing .c-slider-container .title {
  color: #F6F6F6;
}
.page-top .sec-pricing .sec-head {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  padding: 0 11.2rem 0 11.6rem;
  margin-bottom: 6.9rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .sec-head {
    flex-direction: column;
    gap: 7.7rem 0;
    padding: 0;
    margin-bottom: 9.3rem;
  }
}
.page-top .sec-pricing .sec-head .title {
  position: relative;
  top: 0.5rem;
  width: 31.8rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .sec-head .title {
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    align-content: stretch;
    width: 100%;
  }
}
.page-top .sec-pricing .sec-head .title .c-title02 {
  margin-bottom: 6.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .sec-head .title .c-title02 {
    margin-bottom: 0;
  }
}
.page-top .sec-pricing .sec-head .txt {
  width: calc(100% - 31.8rem);
  z-index: 2;
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.375;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .sec-head .txt {
    width: 100%;
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 400;
  }
}
.page-top .sec-pricing .box-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 4.2rem 2.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap {
    flex-direction: column;
    gap: 4.3rem 0;
    box-sizing: border-box;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  align-content: stretch;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box {
    width: 100%;
    max-width: inherit;
    margin: 0 auto;
    flex-direction: column;
  }
}
@media screen and (max-width: 480px) and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box {
    border-width: 3px !important;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-head {
  width: 32rem;
  height: 35.1rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  flex-direction: column;
  padding: 1rem 1rem 1rem 8.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-head {
    width: 100%;
    height: 16.7rem;
    align-items: center;
    padding: 1rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-head .ttl {
  color: #373737;
  font-size: 2.6rem;
  line-height: 1.6923076923;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-head .ttl {
    font-size: 3.6rem;
    line-height: 0.9444444444;
    font-weight: 700;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  flex-direction: column;
  width: calc(100% - 33.4rem);
  background: #fff;
  border-left: none;
  padding: 2rem 2rem 2rem 9.4rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts {
    width: 100%;
    padding: 4.8rem 4.8rem 7rem 4.8rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 4.7rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee {
    gap: 0 4.9rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__ttl {
  width: 13.5rem;
  color: #373737;
  font-size: 2.6rem;
  line-height: 1.6923076923;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__ttl {
    width: 14rem;
    font-size: 2.8rem;
    line-height: 1.5357142857;
    font-weight: 700;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__txt {
  width: calc(100% - 18.2rem);
  color: #373737;
  font-size: 3rem;
  line-height: 1.4666666667;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__txt {
    width: calc(100% - 18.9rem);
    font-size: 3rem;
    line-height: 1.4333333333;
    font-weight: 700;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__txt .num {
  font-size: 5.4rem;
  line-height: 0.8148148148;
  letter-spacing: 5.4px;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__txt .num {
    font-size: 5.6rem;
    line-height: 0.7678571429;
    letter-spacing: 2px;
    font-weight: 700;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__txt .small {
  font-size: 2rem;
  line-height: 2.2;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__txt .small {
    font-size: 2.4rem;
    line-height: 1.7916666667;
    letter-spacing: 2.4px;
    font-weight: 500;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__note {
  color: #373737;
  font-size: 1.6rem;
  line-height: 1.625;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee__note {
    margin-top: 1rem;
    font-size: 2.4rem;
    line-height: 1.4166666667;
    font-weight: 400;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee + .fee {
  margin-top: 2.9rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .fee + .fee {
    margin-top: 2.8rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .list-txt li {
  position: relative;
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
  padding-left: 3rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .list-txt li {
    font-size: 2.8rem;
    line-height: 2.1071428571;
    font-weight: 500;
    padding-left: 4.5rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box .box-cnts .list-txt li:before {
  position: absolute;
  left: 0;
  top: 0.8rem;
  display: block;
  content: "";
  background-size: 100% auto !important;
  width: 2.1rem;
  height: 2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box .box-cnts .list-txt li:before {
    top: 1.4rem;
    width: 3.4rem;
    height: 3.4rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-price {
  width: 58.8rem;
  border: 5px solid #FFE310;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-price {
    width: 100%;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-price .box-head {
  width: 44rem;
  height: 46.5rem;
  background: #FFE310;
  padding-left: 9rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-price .box-head {
    width: 100%;
    height: 16.7rem;
    align-items: center;
    padding: 1rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-price .box-head .ttl {
  color: #373737;
  font-size: 3.2rem;
  line-height: 1.375;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-price .box-head .ttl {
    font-size: 4rem;
    line-height: 0.85;
    font-weight: 700;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-price .box-cnts {
  width: 100%;
  background: #FFFCE8;
  padding: 3.9rem 2rem 7.3rem 9.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-price .box-cnts {
    padding: 4.8rem 7.2rem 6.2rem 7.2rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-price .box-cnts .ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  width: 25rem;
  height: 6.4rem;
  margin: 0 auto 4.4rem auto;
  color: #373737;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
  border-radius: 10rem;
  background: #FFE627;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-price .box-cnts .ttl {
    width: 29.4rem;
    height: 7.8rem;
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 3.2rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-service {
  width: calc(100% - 61.6rem);
  border: 5px solid #FFE310;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-service {
    margin-top: 0;
    width: 100%;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-service .box-head {
  background: #FFF6B7;
}
.page-top .sec-pricing .box-wrap .pricing-box.-service .box-cnts {
  width: 100%;
  padding: 3.9rem 2rem 5.3rem 7.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-service .box-cnts {
    padding: 4.5rem 6.8rem 4.5rem 6.8rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-service .box-cnts .ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  width: 38.4rem;
  height: 6.4rem;
  margin: 0 auto 4.4rem auto;
  color: #373737;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
  border-radius: 10rem;
  border: 3px solid #EED200;
  background: #fff;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-service .box-cnts .ttl {
    width: 50.2rem;
    height: 7.8rem;
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 3.2rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-service .box-cnts .list-txt li:before {
  background: url("../images/top/ico_check_y.svg") no-repeat center center;
}
.page-top .sec-pricing .box-wrap .pricing-box.-option {
  width: 100%;
  border: 5px solid #DBD9D9;
}
.page-top .sec-pricing .box-wrap .pricing-box.-option .box-head {
  background: #DBD9D9;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .box-wrap .pricing-box.-option .box-head {
    width: 100%;
    height: 13rem;
  }
}
.page-top .sec-pricing .box-wrap .pricing-box.-option .box-cnts .list-txt li:before {
  background: url("../images/top/ico_check_g.svg") no-repeat center center;
}
.page-top .sec-pricing .atten-txt {
  width: 100%;
  max-width: 120rem;
  margin: 4.2rem auto 0 auto;
  text-align: right;
  color: #373737;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .atten-txt {
    max-width: inherit;
    padding: 0 4rem;
    margin-top: 3.8rem;
    font-size: 2.4rem;
    line-height: 1.8333333333;
    font-weight: 500;
    box-sizing: border-box;
  }
}
.page-top .sec-pricing .text {
  margin-top: 8.7rem;
  text-align: center;
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.375;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .text {
    margin-top: 8rem;
    text-align: left;
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 400;
  }
}
.page-top .sec-pricing .btn_wrap .c-button03 {
  margin: 7rem auto 0 auto;
}
@media screen and (max-width: 480px) {
  .page-top .sec-pricing .btn_wrap .c-button03 {
    margin-top: 6.2rem;
    width: calc(100% - 13.2rem);
  }
}
.page-top .sec-gateway {
  padding: 19rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway {
    padding: 4.8rem 0 10.2rem 0;
  }
}
.page-top .sec-gateway .sec-head {
  position: relative;
  width: 100%;
  max-width: 116rem;
  aspect-ratio: 1160/352;
  margin: 0 auto 12rem auto;
  border-radius: 4rem;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .sec-head {
    width: calc(100% - 8rem);
    max-width: inherit;
    aspect-ratio: 670/352;
    margin: 0 auto 6.8rem auto;
  }
}
.page-top .sec-gateway .sec-head .title {
  position: absolute;
  top: 50%;
  right: 10.3rem;
  transform: translateY(-50%);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 5rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .sec-head .title {
    right: 7.5rem;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 0 0;
  }
}
.page-top .sec-gateway .sec-head .title .sub {
  position: relative;
  color: #fff;
  font-size: 2.8rem;
  line-height: 1.7142857143;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .sec-head .title .sub {
    font-size: 3.5rem;
    line-height: 1.7142857143;
    font-weight: 700;
  }
}
.page-top .sec-gateway .sec-head .title .sub:after {
  position: absolute;
  right: -2.4rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 2.5rem;
  background: #fff;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .sec-head .title .sub:after {
    display: none;
  }
}
.page-top .sec-gateway .sec-head .title .txt {
  color: #fff;
  font-size: 3.4rem;
  line-height: 1.4117647059;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .sec-head .title .txt {
    font-size: 4.3rem;
    line-height: 1.4186046512;
    font-weight: 700;
  }
}
.page-top .sec-gateway .sec-head .sec-img {
  position: relative;
  z-index: 1;
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
}
.page-top .sec-gateway .sec-head .sec-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .sec-gateway .is-visible .sec-head .sec-img {
  animation: maskWipeRightToLeft 2s 0.4s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.page-top .sec-gateway .c-slider-container {
  top: 41.4rem;
}
.page-top .sec-gateway .c-slider-container .slider-group .title {
  color: #EDEDED;
}
.page-top .sec-gateway .lead-txt {
  position: relative;
  width: 100%;
  max-width: 81.5rem;
  margin: 0 auto;
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.375;
  font-weight: 400;
  z-index: 3;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .lead-txt {
    max-width: inherit;
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 400;
  }
}
.page-top .sec-gateway .white-wrap {
  position: relative;
  margin-top: 7.7rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  border-radius: 1.7rem;
  border: 1px solid #E1E1E1;
  border-bottom: none;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap {
    margin-top: 4.7rem;
    flex-direction: column;
  }
}
.page-top .sec-gateway .white-wrap:after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: #E1E1E1;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap:after {
    display: none;
  }
}
.page-top .sec-gateway .white-wrap__col {
  flex: 1;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  flex-direction: column;
}
.page-top .sec-gateway .white-wrap__col:nth-of-type(1) .gateway-box:nth-of-type(2) {
  border-bottom: 1px solid #E1E1E1;
}
.page-top .sec-gateway .white-wrap__col:nth-of-type(2) .gateway-box:nth-of-type(2) {
  border-bottom: 1px solid #E1E1E1;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap__col {
    width: 100%;
    display: contents;
  }
  .page-top .sec-gateway .white-wrap__col:nth-of-type(1) .gateway-box:nth-of-type(1) {
    order: 1;
  }
  .page-top .sec-gateway .white-wrap__col:nth-of-type(1) .gateway-box:nth-of-type(2) {
    order: 3;
    border-bottom: 1px solid #E1E1E1;
  }
  .page-top .sec-gateway .white-wrap__col:nth-of-type(2) .gateway-box:nth-of-type(1) {
    order: 2;
  }
  .page-top .sec-gateway .white-wrap__col:nth-of-type(2) .gateway-box:nth-of-type(2) {
    order: 4;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box {
  position: relative;
  width: 100%;
  height: auto;
  background: #fff;
  padding: 0 7rem 7.2rem 7rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box {
    display: flex;
    flex-direction: column;
    padding: 0 3.8rem 5.7rem 3.8rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box:first-of-type {
  border-bottom: 1px solid #E1E1E1;
}
.page-top .sec-gateway .white-wrap .gateway-box .num {
  position: absolute;
  left: 7rem;
  top: -1px;
  color: #FDD000;
  font-style: italic;
  font-size: 5.4rem;
  line-height: 1;
  font-weight: 600;
  padding-top: 1.4rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .num {
    left: 2.8rem;
    font-size: 7.7rem;
    line-height: 1;
    font-weight: 600;
    padding-top: 2rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .num:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 6.7rem;
  height: 3px;
  background: #FDD000;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .num:before {
    width: 9.6rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .box-ttl {
  padding-top: 14.4rem;
  color: #373737;
  font-size: 2.2rem;
  line-height: 2;
  font-weight: 700;
  margin-bottom: 1.2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .box-ttl {
    padding-top: 14.5rem;
    font-size: 3.1rem;
    line-height: 1.7419354839;
    font-weight: 700;
    margin-bottom: 3.2rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .link-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .link-list {
    gap: 0 3.6rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .link-list__item {
  position: relative;
}
.page-top .sec-gateway .white-wrap .gateway-box .link-list__item a {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  font-weight: 500;
  padding-right: 2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .link-list__item a {
    font-size: 2.5rem;
    line-height: 1.28;
    font-weight: 500;
    padding-right: 2.8rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .link-list__item a:after {
  right: 0;
  top: 0.7rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 0.9rem;
  width: 0.9rem;
  border-color: #373737;
  transform: rotate(45deg);
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .link-list__item a:after {
    height: 0.45rem;
    width: 0.45rem;
  }
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .link-list__item a:after {
    top: 0.8rem;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 1.8rem;
    width: 1.8rem;
    border-color: #373737;
    transform: rotate(45deg);
  }
}
@media screen and (max-width: 480px) and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .link-list__item a:after {
    height: 0.9rem;
    width: 0.9rem;
  }
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .c-more-links {
    padding-right: 7.5rem;
  }
  .page-top .sec-gateway .white-wrap .gateway-box .c-more-links .link-txt {
    padding-right: 0;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  background: #373737;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 100%;
  transition: 0.2s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico {
    right: -0.4rem;
    width: 6.5rem;
    height: 6.5rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico:before, .page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  display: block;
  content: "";
  width: 1.7rem;
  height: 1px;
  background: #fff;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico:before, .page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico:after {
    width: 2.8rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico:before {
  width: 1px;
  height: 1.7rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico:before {
    height: 2.8rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico:after {
  width: 1.7rem;
  height: 1px;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .c-more-links .ico:after {
    width: 2.8rem;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-gateway .white-wrap .gateway-box .c-more-links:hover .ico {
    width: 4.9rem;
    height: 4.9rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_btn {
  margin: 5.8rem 0 0 auto;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .acd_btn {
    margin: 4.5rem 0 0 auto;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_btn .-open {
  display: block;
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_btn .-close {
  display: none;
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_btn.open .-open {
  display: none;
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_btn.open .-close {
  display: block;
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_btn.open .ico:after {
  display: none;
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts {
  display: none;
  margin-top: 2.6rem;
  border-radius: 2rem;
  background: #FFFCE5;
  padding: 3.6rem 3.4rem 4.3rem 3.4rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .acd_cnts {
    margin-top: 4.6rem;
    padding: 3.2rem 2.8rem 4.3rem 2.8rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .title {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  font-weight: 700;
  padding-left: 2.5rem;
  margin-top: 3.2rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .title {
    font-size: 2.5rem;
    line-height: 1.28;
    font-weight: 500;
    padding-left: 3.6rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .title:first-of-type {
  margin-top: 0;
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .title:before {
  position: absolute;
  left: 0;
  top: 0.8rem;
  display: block;
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  border: 5px solid #FDD000;
  border-radius: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .title:before {
    top: 0.4rem;
    width: 2.4rem;
    height: 2.4rem;
    border: 3px solid #FDD000;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .txt {
  font-size: 1.4rem;
  line-height: 2.1428571429;
  font-weight: 400;
  line-break: strict;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .txt {
    font-size: 2.2rem;
    line-height: 1.4545454545;
    font-weight: 400;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .title02 {
  display: inline-block;
  color: #373737;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  font-weight: 700;
  padding: 0.9rem 2.8rem;
  margin-top: 2.2rem;
  margin-bottom: 1.6rem;
  border-radius: 10rem;
  border: 1px solid #FDD000;
  background: #FFE207;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .title02 {
    font-size: 2.2rem;
    line-height: 1.3636363636;
    font-weight: 700;
    padding: 1rem 2.8rem;
    margin-top: 3rem;
    margin-bottom: 1.8rem;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .nav-list li {
  display: inline;
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .nav-list li a {
  position: relative;
  color: #373737;
  font-size: 1.4rem;
  line-height: 2.2857142857;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .nav-list li a {
    font-size: 2.2rem;
    line-height: 1.5454545455;
    font-weight: 700;
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .nav-list li a:after {
  position: relative;
  display: inline-block;
  content: "／";
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .nav-list li a .border {
  position: relative;
  display: inline;
  padding-bottom: 0.4rem;
  background-image: none;
  background-position: 0 2.2rem; /* 下線の縦位置（文字からの距離） */
  background-size: 100% 1px; /* 下線の太さ（1px） */
  background-repeat: repeat-x;
}
@media screen and (min-width: 481px) {
  .page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .nav-list li a:hover {
    text-decoration: none;
    font-weight: 700;
    color: #A98C06;
  }
  .page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .nav-list li a:hover .border {
    background-image: linear-gradient(to right, #A98C06 100%, transparent 0);
  }
}
.page-top .sec-gateway .white-wrap .gateway-box .acd_cnts .nav-list li:last-of-type a:after {
  display: none;
}
.page-top .sec-case {
  width: 100%;
  padding: 0 0 14.5rem 0;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case {
    padding: 5rem 0 7.9rem 0;
  }
}
.page-top .sec-case__wrap {
  position: relative;
  padding: 27.7rem 0 0 0;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case__wrap {
    padding: 14.3rem 0;
  }
}
.page-top .sec-case__wrap:before, .page-top .sec-case__wrap:after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100%;
  aspect-ratio: 3080/1108;
  background: url("../images/top/bg_circle_gray.png") no-repeat center center;
  background-size: 100% 100% !important;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case__wrap:before, .page-top .sec-case__wrap:after {
    aspect-ratio: 750/286;
    background: url("../images/top/bg_circle_gray_sp.png") no-repeat center center;
  }
}
.page-top .sec-case__wrap:after {
  display: none;
  top: auto;
  bottom: 0;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case__wrap:after {
    display: block;
  }
}
.page-top .sec-case__inner {
  position: relative;
  margin-top: -8rem;
  padding-bottom: 15.3rem;
  min-height: 40rem;
  background: #F3F3F3;
  box-sizing: border-box;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case__inner {
    margin-top: 1rem;
    padding-bottom: 6.2rem;
  }
}
.page-top .sec-case__inner .deco {
  position: absolute;
  left: -18.2rem;
  top: -23rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case__inner .deco {
    display: none;
  }
}
.page-top .sec-case__inner .deco.img01 {
  width: 39.7rem;
}
.page-top .sec-case .l-inner {
  position: relative;
  max-width: 82rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .l-inner {
    max-width: inherit;
  }
}
.page-top .sec-case .c-slider-container {
  top: -5.2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .c-slider-container {
    top: 1.8rem;
  }
}
.page-top .sec-case .c-slider-container .slider-group .title {
  color: #fff;
}
.page-top .sec-case .title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  margin-bottom: 10rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .title {
    margin-bottom: 10.9rem;
  }
}
.page-top .sec-case .title .btn_wrap {
  margin: 0;
}
.page-top .sec-case .title .c-title02 {
  margin-bottom: 0;
}
.page-top .sec-case .slide-wrap {
  position: relative;
  transform: translateX(17rem);
  width: 100%;
  overflow: hidden;
  margin: 0 0 0 auto;
  /* 端に達した時に矢印を非表示、または半透明にする場合（infinite: false用） */
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap {
    transform: translateX(0);
    margin: 0 auto;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide {
    width: 36rem !important;
  }
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide {
    margin: 0 2rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post {
  display: block;
  width: 100%;
  padding: 3.8rem 2.4rem 2.4rem 2.4rem;
  border-radius: 2rem;
  border: 1px solid transparent;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post {
    padding: 0;
    border-radius: 0;
    border: none;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-title {
  color: #373737;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 1.9rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-title {
    font-size: 3rem;
    line-height: 1.2666666667;
    font-weight: 700;
    margin-bottom: 3rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-title .small {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-title .small {
    font-size: 2.4rem;
    line-height: 1.5833333333;
    font-weight: 700;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-title .case-num {
  position: relative;
  top: -0.4rem;
  display: inline-block;
  margin-right: 1.2rem;
  color: #373737;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  padding: 0.9rem 2.7rem;
  border-radius: 10rem;
  background: #FFEB52;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-title .case-num {
    font-size: 2.5rem;
    line-height: 1;
    font-weight: 700;
    margin-right: 1.8rem;
    padding: 1.4rem 4.2rem;
    border-radius: 15.7rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-info {
  margin-bottom: 2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-info {
    margin-bottom: 3.5rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-info .txt {
  color: #373737;
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-info .txt {
    font-size: 2.4rem;
    line-height: 1.8333333333;
    font-weight: 500;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-img {
  position: relative;
  aspect-ratio: 360/226;
  border-radius: 1.4rem;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-img {
    aspect-ratio: 566/355;
    border-radius: 2.2rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.4s;
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-img:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  opacity: 0;
  z-index: 2;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-img:before {
    display: none;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-img .arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4.7rem;
  height: 4.7rem;
  background: #FFEB52;
  border-radius: 100%;
  opacity: 0;
  z-index: 3;
  transition: 0.4s;
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-img .arrow:after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  background: url(../images/common/arrow_b.svg) no-repeat center center;
  background-size: 100% 100% !important;
  width: 1.4rem;
  height: 1.4rem;
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-txt {
  padding-top: 2.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-txt {
    padding-top: 4.8rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .subttl {
  position: relative;
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.375;
  font-weight: 700;
  padding-left: 1.7rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .subttl {
    font-size: 2.6rem;
    line-height: 1.4615384615;
    font-weight: 700;
    padding-left: 2.6rem;
    padding-bottom: 3.2rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .subttl:before, .page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .subttl:after {
  position: absolute;
  left: 0;
  display: block;
  content: "";
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .subttl:before {
  top: 1.5rem;
  width: 1rem;
  height: 1rem;
  background: #373737;
  border-radius: 100%;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .subttl:before {
    top: 1.1rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .subttl:after {
  bottom: 0;
  width: 14.2rem;
  height: 1px;
  background: #D1D1D1;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .subttl:after {
    width: 22.3rem;
  }
}
.page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .txt {
  margin-top: 1.7rem;
  color: #373737;
  font-size: 1.3rem;
  line-height: 2.1538461538;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post-txt .txt {
    margin-top: 2.7rem;
    font-size: 2.2rem;
    line-height: 2;
    font-weight: 500;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-case .slide-wrap .slider .slick-slide .post:hover {
    text-decoration: none;
    border: 1px solid #DEDEDE;
  }
  .page-top .sec-case .slide-wrap .slider .slick-slide .post:hover .post-img img {
    transform: scale(1.1);
  }
  .page-top .sec-case .slide-wrap .slider .slick-slide .post:hover .post-img:before {
    opacity: 1;
  }
  .page-top .sec-case .slide-wrap .slider .slick-slide .post:hover .post-img .arrow {
    opacity: 1;
  }
  .page-top .sec-case .slide-wrap .slider .slick-slide .post:hover .post-img .arrow:after {
    animation: arrow-slide 0.4s forwards ease-in-out;
  }
}
.page-top .sec-case .slide-wrap .pager-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 1.5rem;
  margin-top: 1.7rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .pager-container {
    margin-top: 0;
  }
}
.page-top .sec-case .slide-wrap .custom-prev01,
.page-top .sec-case .slide-wrap .custom-next01 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  width: 4.7rem;
  height: 4.7rem;
  border-radius: 100%;
  background: #fff;
  border: 1px solid #909090;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .custom-prev01,
  .page-top .sec-case .slide-wrap .custom-next01 {
    position: absolute;
    top: 38rem;
    right: 0;
    width: 15.2rem;
    height: 15.2rem;
    background: rgba(255, 255, 255, 0.9);
  }
}
.page-top .sec-case .slide-wrap .custom-prev01:after,
.page-top .sec-case .slide-wrap .custom-next01:after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  background: url(../images/top/slide_arrow.svg) no-repeat center center;
  background-size: 100% 100% !important;
  width: 2.1rem;
  height: 2.1rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .custom-prev01:after,
  .page-top .sec-case .slide-wrap .custom-next01:after {
    background: url(../images/top/slide_arrow_sp.svg) no-repeat center center;
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-case .slide-wrap .custom-prev01:hover,
  .page-top .sec-case .slide-wrap .custom-next01:hover {
    background: #909090;
  }
  .page-top .sec-case .slide-wrap .custom-prev01:hover:after,
  .page-top .sec-case .slide-wrap .custom-next01:hover:after {
    background: url(../images/top/slide_arrow_w.svg) no-repeat center center;
    animation: arrow-slide 0.4s forwards ease-in-out;
  }
}
.page-top .sec-case .slide-wrap .custom-prev01 {
  right: auto;
  left: 0;
  transform: scale(-1, 1);
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .custom-prev01 {
    left: -6rem;
  }
}
.page-top .sec-case .slide-wrap .custom-next01:after {
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .slide-wrap .custom-next01 {
    right: -6rem;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-case .slide-wrap .custom-prev01:hover:after {
    animation: arrow-slide 0.4s forwards ease-in-out;
  }
}
.page-top .sec-case .slide-wrap .slick-disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}
.page-top .sec-case .btn_wrap .c-button03 {
  margin: 4.2rem auto 0 auto;
}
@media screen and (max-width: 480px) {
  .page-top .sec-case .btn_wrap .c-button03 {
    width: calc(100% - 13.2rem);
  }
}
.page-top .sec-faq {
  position: relative;
  padding: 16.7rem 0 0 0;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq {
    padding: 8.6rem 0 0 0;
  }
}
.page-top .sec-faq .c-slider-container {
  top: 9.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .c-slider-container {
    top: 10.8rem;
  }
}
.page-top .sec-faq .c-slider-container .slider-group .title {
  color: #EDEDED;
}
.page-top .sec-faq .deco {
  position: absolute;
  right: -10.8rem;
  top: -6.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .deco {
    display: none;
  }
}
.page-top .sec-faq .deco.img01 {
  width: 25.2rem;
}
.page-top .sec-faq .l-inner {
  position: relative;
  max-width: 105rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .l-inner {
    max-width: inherit;
  }
}
.page-top .sec-faq .ttl-wrap {
  padding: 0 9.2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .ttl-wrap {
    padding: 0;
  }
}
.page-top .sec-faq .c-title02 {
  margin-bottom: 7.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .c-title02 {
    margin-bottom: 4.7rem;
  }
}
.page-top .sec-faq .faq-nav {
  margin-bottom: 7.4rem;
  padding: 0 9.2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-nav {
    margin-bottom: 7.5rem;
    padding: 0 0;
  }
}
.page-top .sec-faq .faq-nav .nav-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 1.2rem 1.2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-nav .nav-list {
    justify-content: center;
    gap: 2rem 1rem;
  }
}
.page-top .sec-faq .faq-nav .nav-list__items a {
  display: inline-block;
  color: #373737;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  border-radius: 10rem;
  border: 1px solid #969696;
  background: #fff;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.05);
  padding: 1.7rem 2.85rem;
  box-sizing: border-box;
  transition: 0.4s;
}
@media screen and (min-width: 481px) {
  .page-top .sec-faq .faq-nav .nav-list__items a:hover {
    text-decoration: none;
    background: #969696;
    color: #fff;
  }
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-nav .nav-list__items a {
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 700;
    border-radius: 15rem;
    padding: 2rem 2.8rem;
  }
}
.page-top .sec-faq .faq-wrap + .faq-wrap {
  margin-top: 2.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-wrap + .faq-wrap {
    margin-top: 3rem;
  }
}
.page-top .sec-faq .faq-box {
  position: relative;
  padding: 1.3rem 4.5rem;
  border-radius: 1.6rem;
  border: 1px solid #373737;
  background: #fff;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box {
    padding: 2.4rem 3rem 0 3rem;
  }
}
.page-top .sec-faq .faq-box + .faq-box {
  margin-top: 2.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box + .faq-box {
    margin-top: 3rem;
  }
}
.page-top .sec-faq .faq-box .faq-cat {
  position: absolute;
  right: 0;
  top: 0.6rem;
  color: #A9A9A9;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .faq-cat {
    top: -0.4rem;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 500;
  }
}
.page-top .sec-faq .faq-box .faq-ttl {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 1.6rem;
  padding: 3.7rem 0 3.7rem 6.7rem;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .faq-ttl {
    gap: 0 3.2rem;
    padding: 4.8rem 0;
  }
}
.page-top .sec-faq .faq-box .faq-ttl .ico {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 1.32px;
  font-weight: 800;
  width: 5.2rem;
  height: 5.2rem;
  background: #FFEB52;
  color: #373737;
  border-radius: 100%;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .faq-ttl .ico {
    font-size: 3.1rem;
    line-height: 1;
    letter-spacing: 1.878px;
    font-weight: 800;
    width: 7.4rem;
    height: 7.4rem;
  }
}
.page-top .sec-faq .faq-box .faq-ttl .txt {
  color: #373737;
  font-size: 1.8rem;
  line-height: 1.5555555556;
  font-weight: 700;
  line-break: strict;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .faq-ttl .txt {
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 700;
    padding-left: 10.8rem;
    padding-right: 11rem;
  }
}
.page-top .sec-faq .faq-box .faq-txt {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  padding: 2.4rem 0;
  border-top: 1px dotted #B8B8B8;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .faq-txt {
    padding: 2.7rem 0 4.3rem 0;
  }
}
.page-top .sec-faq .faq-box .faq-txt .ico {
  position: absolute;
  top: 3rem;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 1.32px;
  font-weight: 800;
  width: 5.2rem;
  height: 5.2rem;
  color: #373737;
  background: #F1F1F1;
  border-radius: 100%;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .faq-txt .ico {
    top: 2.6rem;
    font-size: 3.1rem;
    line-height: 1;
    letter-spacing: 1.878px;
    font-weight: 800;
    width: 7.4rem;
    height: 7.4rem;
  }
}
.page-top .sec-faq .faq-box .faq-txt .txt {
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.125;
  letter-spacing: -0.2px;
  font-weight: 400;
  padding-left: 7.5rem;
  line-break: strict;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .faq-txt .txt {
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 400;
    padding-left: 10.8rem;
  }
}
.page-top .sec-faq .faq-box .acd_btn .arrow {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  background: #373737;
  width: 4rem;
  height: 4rem;
  border-radius: 100%;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .acd_btn .arrow {
    right: -0.4rem;
    width: 6.5rem;
    height: 6.5rem;
  }
}
.page-top .sec-faq .faq-box .acd_btn .arrow:before, .page-top .sec-faq .faq-box .acd_btn .arrow:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  display: block;
  content: "";
  width: 1.5rem;
  height: 1px;
  background: #fff;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .acd_btn .arrow:before, .page-top .sec-faq .faq-box .acd_btn .arrow:after {
    width: 2.8rem;
  }
}
.page-top .sec-faq .faq-box .acd_btn .arrow:before {
  width: 1px;
  height: 1.5rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .acd_btn .arrow:before {
    height: 2.8rem;
  }
}
.page-top .sec-faq .faq-box .acd_btn .arrow:after {
  width: 1.5rem;
  height: 1px;
}
@media screen and (max-width: 480px) {
  .page-top .sec-faq .faq-box .acd_btn .arrow:after {
    width: 2.8rem;
  }
}
.page-top .sec-faq .faq-box .acd_btn.open .arrow:after {
  display: none;
}
.page-top .sec-faq .faq-box .acd_cnts {
  display: none;
}
.page-top .sec-faq .faq-box .acd_cnts.-visible {
  display: block;
}
.page-top .sec-blog {
  width: 100%;
  padding: 17.6rem 0 14.5rem 0;
  overflow: hidden;
  /* スライドバー本体 */
  /* つまみ部分（Google Chrome, Safari, Edge用） */
  /* つまみ部分（Firefox用） */
  /* 矢印ボタンのスタイル（デザインに合わせて調整） */
  /* 端に達した時に矢印を非表示、または半透明にする場合（infinite: false用） */
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog {
    padding: 10rem 0 7.9rem 0;
  }
}
.page-top .sec-blog__wrap {
  position: relative;
  padding: 27.7rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog__wrap {
    padding: 14.3rem 0;
  }
}
.page-top .sec-blog__wrap:before, .page-top .sec-blog__wrap:after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100%;
  aspect-ratio: 3080/1108;
  background: url("../images/top/bg_circle.png") no-repeat center center;
  background-size: 100% 100% !important;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog__wrap:before, .page-top .sec-blog__wrap:after {
    aspect-ratio: 750/286;
    background: url("../images/top/bg_circle_sp.png") no-repeat center center;
  }
}
.page-top .sec-blog__wrap:before {
  top: 0;
}
.page-top .sec-blog__wrap:after {
  bottom: 0;
}
.page-top .sec-blog__inner {
  position: relative;
  background: #fff;
  z-index: 2;
}
.page-top .sec-blog__inner .deco {
  position: absolute;
  left: -13.7rem;
  top: -23rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog__inner .deco {
    display: none;
  }
}
.page-top .sec-blog__inner .deco.img01 {
  width: 27.6rem;
}
.page-top .sec-blog .l-inner {
  max-width: 120rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .l-inner {
    max-width: inherit;
    padding: 0;
  }
}
.page-top .sec-blog .c-slider-container {
  top: -6rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .c-slider-container {
    top: 8rem;
  }
}
.page-top .sec-blog .sec-head {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 4.6rem;
  padding-left: 19rem;
  margin-bottom: 8rem;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .sec-head {
    flex-direction: column;
    gap: 7.7rem 0;
    padding: 0 4rem;
    margin-bottom: 7.7rem;
  }
}
.page-top .sec-blog .sec-head .title {
  position: relative;
  top: 0.8rem;
  width: 28.8rem;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .sec-head .title {
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    align-content: stretch;
    width: 100%;
  }
}
.page-top .sec-blog .sec-head .title .c-title02 {
  margin-bottom: 4.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .sec-head .title .c-title02 {
    margin-bottom: 0;
  }
}
.page-top .sec-blog .sec-head .txt {
  width: calc(100% - 33.4rem);
  z-index: 2;
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.375;
  font-weight: 400;
  padding-right: 17.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .sec-head .txt {
    width: 100%;
    font-size: 2.6rem;
    line-height: 1.7307692308;
    font-weight: 400;
    padding-right: 0;
  }
}
.page-top .sec-blog .slide-wrap .slider .slick-list {
  margin: 0 -3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .slide-wrap .slider .slick-list {
    margin: 0 -2.5rem;
  }
}
.page-top .sec-blog .slide-wrap .slider .slide-item {
  margin: 0 3rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .slide-wrap .slider .slide-item {
    margin: 0 2.5rem;
  }
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-img {
  position: relative;
  aspect-ratio: 360/226;
  border-radius: 1.4rem;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .slide-wrap .slider .slide-item .post-img {
    aspect-ratio: 602/378;
    border-radius: 2.4rem;
  }
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-img:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  opacity: 0;
  z-index: 2;
  transition: 0.4s;
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-img .arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4.7rem;
  height: 4.7rem;
  background: #FFEB52;
  border-radius: 100%;
  opacity: 0;
  z-index: 3;
  transition: 0.4s;
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-img .arrow:after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  background: url(../images/common/arrow_b.svg) no-repeat center center;
  background-size: 100% 100% !important;
  width: 1.4rem;
  height: 1.4rem;
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-txt {
  margin-top: 2.6rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .slide-wrap .slider .slide-item .post-txt {
    margin-top: 4.6rem;
  }
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .txt-info {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 1.6rem 1.6rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .txt-info {
    gap: 2.6rem 2.6rem;
  }
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .txt-info .cat {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 1rem 1rem;
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .txt-info .cat li {
  display: inline-block;
  text-align: center;
  color: #373737;
  font-size: 1.3rem;
  line-height: 1.6153846154;
  font-weight: 700;
  line-break: strict;
  overflow-wrap: break-word;
  word-break: normal;
  padding: 0.4rem 1.5rem;
  border-radius: 10rem;
  background: #FFEB52;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .txt-info .cat li {
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 700;
    padding: 0.8rem 2.5rem;
    border-radius: 16.7rem;
  }
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .txt-info .date {
  position: relative;
  top: 0.8rem;
  color: #373737;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 1.4px;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .txt-info .date {
    top: 1.2rem;
    font-size: 2.3rem;
    line-height: 1;
    letter-spacing: 2.339px;
    font-weight: 400;
  }
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .ttl {
  display: inline;
  margin-top: 1.5rem;
  padding-bottom: 0.5rem;
  color: #373737;
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 500;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-break: strict;
  overflow-wrap: break-word;
  word-break: normal;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .ttl {
    margin-top: 2.5rem;
    font-size: 2.6rem;
    line-height: 1.7692307692;
    font-weight: 500;
  }
}
.page-top .sec-blog .slide-wrap .slider .slide-item .post-txt .ttl .border {
  display: inline;
  padding-bottom: 0.5rem;
  background-image: linear-gradient(#373737, #373737);
  background-size: 0% 1px;
  background-position: left bottom 0;
  background-repeat: no-repeat;
  transition: background-size 1s ease-out;
}
@media screen and (min-width: 481px) {
  .page-top .sec-blog .slide-wrap .slider .slide-item .post:hover {
    text-decoration: none;
  }
  .page-top .sec-blog .slide-wrap .slider .slide-item .post:hover .post-img:before {
    opacity: 1;
  }
  .page-top .sec-blog .slide-wrap .slider .slide-item .post:hover .post-img .arrow {
    opacity: 1;
  }
  .page-top .sec-blog .slide-wrap .slider .slide-item .post:hover .post-img .arrow:after {
    animation: arrow-slide 0.4s 0.4s forwards ease-in-out;
  }
  .page-top .sec-blog .slide-wrap .slider .slide-item .post:hover .post-txt .border {
    background-size: 100% 1px;
  }
}
.page-top .sec-blog .pager-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 1.8rem; /* 矢印とバーの隙間 */
  margin-top: 7.7rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .pager-container {
    margin-top: 0;
  }
}
.page-top .sec-blog #pager-bar {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 63.8rem;
  height: 3px;
  border-radius: 3px;
  outline: none;
  cursor: pointer;
  transition: background 0.1s ease-out;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog #pager-bar {
    display: none;
  }
}
.page-top .sec-blog #pager-bar::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: #FDD000;
  cursor: pointer;
  border: none;
}
.page-top .sec-blog #pager-bar::-moz-range-thumb {
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: #FDD000;
  cursor: pointer;
  border: none;
}
.page-top .sec-blog .custom-prev02,
.page-top .sec-blog .custom-next02 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  width: 4.7rem;
  height: 4.7rem;
  border-radius: 100%;
  background: #fff;
  border: 1px solid #909090;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .custom-prev02,
  .page-top .sec-blog .custom-next02 {
    position: absolute;
    top: 45rem;
    right: 0;
    width: 15.2rem;
    height: 15.2rem;
    background: rgba(255, 255, 255, 0.9);
  }
}
.page-top .sec-blog .custom-prev02:after,
.page-top .sec-blog .custom-next02:after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  background: url(../images/top/slide_arrow.svg) no-repeat center center;
  background-size: 100% 100% !important;
  width: 2.1rem;
  height: 2.1rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .custom-prev02:after,
  .page-top .sec-blog .custom-next02:after {
    background: url(../images/top/slide_arrow_sp.svg) no-repeat center center;
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-blog .custom-prev02:hover,
  .page-top .sec-blog .custom-next02:hover {
    background: #909090;
  }
  .page-top .sec-blog .custom-prev02:hover:after,
  .page-top .sec-blog .custom-next02:hover:after {
    background: url(../images/top/slide_arrow_w.svg) no-repeat center center;
    animation: arrow-slide 0.4s forwards ease-in-out;
  }
}
.page-top .sec-blog .custom-prev02 {
  right: auto;
  left: 0;
  transform: scale(-1, 1);
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .custom-prev02 {
    left: -6rem;
  }
}
.page-top .sec-blog .custom-next02:after {
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 480px) {
  .page-top .sec-blog .custom-next02 {
    right: -6rem;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-blog .custom-prev02:hover:after {
    animation: arrow-slide 0.4s forwards ease-in-out;
  }
}
.page-top .sec-blog .slick-disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}
.page-top .bnr_recruit {
  position: relative;
}
.page-top .bnr_recruit .bnr {
  position: relative;
  display: block;
  width: 100%;
  max-width: 134rem;
  aspect-ratio: 1340/576;
  margin: 0 auto;
  background: url("../images/top/bnr_bg_recruit_off.jpg") no-repeat center center;
  background-size: cover !important;
  border-radius: 2.4rem;
  overflow: hidden;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .bnr_recruit .bnr {
    width: calc(100% - 8rem);
    max-width: inherit;
    aspect-ratio: 671/703;
    background: url("../images/top/bnr_bg_recruit_off_sp.jpg") no-repeat center center;
    border-radius: 2.4rem;
  }
}
.page-top .bnr_recruit .bnr:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  background: url("../images/top/bnr_border_recruit.png") no-repeat center center;
  background-size: 100% 100% !important;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .bnr_recruit .bnr:before {
    background: url("../images/top/bnr_border_recruit_sp.png") no-repeat center center;
  }
}
.page-top .bnr_recruit .bnr:after {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  content: "";
  background: url("../images/top/bnr_bg_recruit_on.jpg") no-repeat center center;
  background-size: cover !important;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 1;
  pointer-events: none;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .bnr_recruit .bnr:after {
    display: none;
  }
}
.page-top .bnr_recruit .bnr .arrow {
  position: absolute;
  right: 3.6rem;
  top: 4.4rem;
  width: 3.8rem;
  height: 3.3rem;
  z-index: 4;
  pointer-events: none;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .bnr_recruit .bnr .arrow {
    right: 3rem;
    top: 2.9rem;
    width: 4.5rem;
    height: 3.7rem;
  }
}
.page-top .bnr_recruit .bnr .arrow:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  background: url("../images/common/arrow_w.svg") no-repeat center center;
  background-size: 100% 100% !important;
  width: 100%;
  height: 100%;
}
.page-top .bnr_recruit .bnr .ttl {
  position: absolute;
  right: 1.7rem;
  bottom: 0;
  color: #FFE207;
  font-size: 12rem;
  line-height: 1;
  font-weight: 600;
  z-index: 3;
}
@media screen and (max-width: 480px) {
  .page-top .bnr_recruit .bnr .ttl {
    right: 1.6rem;
    font-size: 8.8rem;
    line-height: 1;
    font-weight: 600;
  }
}
.page-top .bnr_recruit .bnr .txt {
  position: absolute;
  left: 14.1rem;
  bottom: 11.7rem;
  font-size: 1.4rem;
  line-height: 2.2857142857;
  letter-spacing: 0.14px;
  font-weight: 500;
  z-index: 3;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .bnr_recruit .bnr .txt {
    left: 0;
    bottom: 12.6rem;
    font-size: 2.2rem;
    line-height: 1.7272727273;
    letter-spacing: 0.22px;
    font-weight: 500;
    padding: 0 6.1rem;
  }
}
.page-top .bnr_recruit .bnr .txt .strong {
  margin-right: 0.6rem;
}
.page-top .bnr_recruit .bnr .txt .strong:nth-of-type(2) {
  margin-left: 0.6rem;
}
@media screen and (min-width: 481px) {
  .page-top .bnr_recruit .bnr .color-purple, .page-top .bnr_recruit .bnr .color-blue, .page-top .bnr_recruit .bnr .color-green {
    transition: 0.4s;
  }
  .page-top .bnr_recruit .bnr:hover:after {
    opacity: 1;
  }
  .page-top .bnr_recruit .bnr:hover .arrow:before {
    background: url("../images/common/arrow_b.svg") no-repeat center center;
  }
  .page-top .bnr_recruit .bnr:hover .txt, .page-top .bnr_recruit .bnr:hover .color-purple, .page-top .bnr_recruit .bnr:hover .color-blue, .page-top .bnr_recruit .bnr:hover .color-green {
    color: #fff !important;
  }
}
.page-top .sec-access {
  padding: 9.4rem 0 14.8rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access {
    padding: 7.7rem 4rem 8.2rem 4rem;
  }
}
.page-top .sec-access .bgColor_white {
  width: 100%;
  max-width: 134rem;
  margin: 0 auto;
  border-radius: 2rem;
  border: 1px solid #CBCBCB;
  background: #fff;
  padding: 7.7rem 16.8rem 12.2rem 18.4rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .bgColor_white {
    max-width: inherit;
    border: none;
    padding: 6rem 4.3rem 7rem 4.3rem;
  }
}
.page-top .sec-access .c-title02 {
  display: inline-flex;
  text-align: center;
  padding-left: 1.6rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .c-title02 {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 2.2rem;
    margin: 0 auto 5.7rem auto;
  }
}
.page-top .sec-access .c-title02:before {
  top: 50%;
  transform: translateY(-50%);
}
.page-top .sec-access .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex {
    flex-direction: column;
    gap: 5.6rem 0;
  }
}
.page-top .sec-access .flex-txt {
  width: 32.6rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-txt {
    width: 100%;
  }
}
.page-top .sec-access .flex-txt .ttl {
  color: #373737;
  font-size: 2.4rem;
  line-height: 1.4166666667;
  font-weight: 700;
  margin-bottom: 2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-txt .ttl {
    font-size: 3.6rem;
    line-height: 1.0555555556;
    font-weight: 700;
    margin-bottom: 2rem;
  }
}
.page-top .sec-access .flex-txt .txt01 {
  color: #373737;
  font-size: 1.4rem;
  line-height: 1.7142857143;
  font-weight: 400;
  margin-bottom: 2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-txt .txt01 {
    font-size: 2.6rem;
    line-height: 1.6923076923;
    font-weight: 400;
    margin-bottom: 3rem;
  }
}
.page-top .sec-access .flex-txt .txt02 {
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.125;
  font-weight: 400;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-txt .txt02 {
    font-size: 2.4rem;
    line-height: 1.8333333333;
    font-weight: 400;
    margin-bottom: 0;
  }
}
.page-top .sec-access .flex-txt .txt03 {
  color: #373737;
  font-size: 1.6rem;
  line-height: 2.75;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-txt .txt03 {
    font-size: 2.4rem;
    line-height: 2;
    font-weight: 500;
  }
}
.page-top .sec-access .flex-txt .btn_wrap {
  margin-top: 2rem;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-txt .btn_wrap {
    margin-top: 3.4rem;
  }
}
.page-top .sec-access .flex-txt .btn_wrap .gmap-btn {
  position: relative;
  display: block;
  width: 27.3rem;
  color: #373737;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 700;
  padding: 1.7rem 2.5rem 1.9rem 2.4rem;
  border-radius: 10rem;
  border: 1px solid #373737;
  background: #fff;
  box-sizing: border-box;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-txt .btn_wrap .gmap-btn {
    width: 37rem;
    font-size: 2.6rem;
    line-height: 1.3076923077;
    font-weight: 700;
    padding: 2rem 4rem;
    border-radius: 13.5rem;
  }
}
.page-top .sec-access .flex-txt .btn_wrap .gmap-btn:after {
  position: absolute;
  right: 2.7rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  background: url("../images/common/arrow02_b.svg") no-repeat center center;
  background-size: 100% auto !important;
  width: 1.3rem;
  height: 1.3rem;
  transition: 0.4s;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-txt .btn_wrap .gmap-btn:after {
    right: 3.6rem;
    width: 2.2rem;
    height: 2.2rem;
  }
}
@media screen and (min-width: 481px) {
  .page-top .sec-access .flex-txt .btn_wrap .gmap-btn:hover {
    text-decoration: none;
    color: #fff;
    border: 1px solid #000;
    background: #000;
  }
  .page-top .sec-access .flex-txt .btn_wrap .gmap-btn:hover:after {
    transform: translate(5px, -50%);
    background: url("../images/common/arrow02_w.svg") no-repeat center center;
  }
}
.page-top .sec-access .flex-map {
  width: 54.1rem;
  aspect-ratio: 541/362;
  border-radius: 1.6rem;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .page-top .sec-access .flex-map {
    width: 100%;
    aspect-ratio: 583/362;
  }
}
.page-top .sec-access .flex-map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

@keyframes maskWipeRightToLeft {
  0% {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
  100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
/* ふわふわ動くキーフレームの定義 */
@keyframes slowfloat {
  0% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  35% {
    /* 右上に浮き、少し右に傾く */
    transform: translate3d(6px, -14px, 0) rotate(1.5deg);
  }
  70% {
    /* 左上に移動し、左に大きく傾く */
    transform: translate3d(-8px, -22px, 0) rotate(-2deg);
  }
  100% {
    /* 右下へ戻りつつ、わずかに傾く */
    transform: translate3d(4px, -8px, 0) rotate(1deg);
  }
}
@keyframes slowfloat02 {
  0% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  35% {
    /* 右上に浮き、少し右に傾く */
    transform: translate3d(2px, -8px, 0) rotate(1.2deg);
  }
  70% {
    /* 左上に移動し、左に大きく傾く */
    transform: translate3d(-8px, -18px, 0) rotate(-3deg);
  }
  100% {
    /* 右下へ戻りつつ、わずかに傾く */
    transform: translate3d(6px, -14px, 0) rotate(1.5deg);
  }
}
@keyframes mainPop {
  0% {
    transform: scale(0) translate(-20px, -20px);
    opacity: 0;
  }
  100% {
    transform: scale(1) translate(0, 0);
    opacity: 1;
  }
}
@keyframes slider01Pop {
  0% {
    transform: scale(0) translate(20px, 20px);
    opacity: 0;
  }
  100% {
    transform: scale(1) translate(0, 0);
    opacity: 1;
  }
}
@keyframes slider02Pop {
  0% {
    transform: scale(0) translate(20px, -20px);
    opacity: 0;
  }
  100% {
    transform: scale(1) translate(0, 0);
    opacity: 1;
  }
}
/* 丸が上から下へスーッと落ちて消える動き */
@keyframes scrollDotDown {
  0% {
    top: 0;
    opacity: 0;
    transform: translate3d(-50%, 0, 0) scale(0.6);
  }
  15% {
    /* 最初はゆっくり、不透明度100%で現れる */
    opacity: 1;
    transform: translate3d(-50%, 0, 0) scale(1);
  }
  80% {
    /* バーの長さ（4.2rem）から丸のサイズ（0.7rem）を引いた3.5rem付近まで、スーッと加速しながら落ちる */
    opacity: 1;
    transform: translate3d(-50%, 3.5rem, 0) scale(1);
  }
  100% {
    /* バーの下端に達すると同時に、フッと消える */
    opacity: 0;
    transform: translate3d(-50%, 4.2rem, 0) scale(0.4);
  }
}