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

colors setting

------------------------------------ */
/* ------------------------------------

colors setting の変数ではなく
下記の左側の変数をcssで指定する

×：$black
◯：$dark-text

------------------------------------ */
/*  text-color
*----------------------------------- */
/*  background-color
*----------------------------------- */
/*  border-color
*----------------------------------- */
/*  system-color
*----------------------------------- */
/*  cv
*----------------------------------- */
/*  footer
*----------------------------------- */
/*  menu
*----------------------------------- */
/*  new icon
*----------------------------------- */
/*  horizontal
*----------------------------------- */
/*  slick-color
*----------------------------------- */
.en {
  font-family: "alternate-gothic-no-2-d", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}

.en02 {
  font-family: "alternate-gothic-no-2-d", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.yakuhan {
  font-family: "YakuHanJP", "ryo-gothic-plusn", sans-serif;
}

/* mobile */
.mv {
  border-bottom: 1px solid #FF0B0B;
}

.message {
  padding: 92px 40px 0;
  background: #000 url("../images/top/bg_message.svg") center bottom 84px no-repeat;
  background-size: min(1321px, 91.7361111111dvw);
}
@media (max-width: 767px) {
  .message {
    background: #000 url("../images/top/sp/bg_message.svg") center bottom 6.9230769231dvw no-repeat;
    background-size: 66.1538461538dvw;
    padding: 17.4358974359dvw 5.1282051282dvw 0;
  }
}
.message__wrap {
  margin: 0 auto;
}
@media (min-width: 768px) {
  .message__wrap {
    max-width: 1200px;
    display: grid;
    gap: 35px 0;
    padding-bottom: 58px;
    justify-content: space-between;
    grid-template-columns: auto auto;
    grid-template-rows: max-content 1fr;
  }
}
@media (max-width: 767px) {
  .message__wrap {
    margin: 0 auto 18.9743589744dvw;
  }
}
@media (max-width: 767px) {
  .message__header {
    margin-bottom: 5.641025641dvw;
  }
}
.message__header p {
  color: #fff;
  font-size: min(4.7rem, 3.2638888889dvw);
  font-weight: 900;
  line-height: 1.4042553191;
}
@media (max-width: 767px) {
  .message__header p {
    font-size: 26px;
    font-size: 6.6666666667dvw;
    line-height: 1.4230769231;
    white-space: pre;
  }
}
.message__header span {
  margin-top: 1.3em;
  display: block;
  line-height: 1;
  color: #CA2427;
  font-size: 2.1rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .message__header span {
    margin-top: 0.9em;
    font-size: 17px;
    font-size: 4.358974359dvw;
  }
}
@media (min-width: 768px) {
  .message__img img {
    max-width: min(720px, 50dvw);
    margin-left: max(-120px, -8.3333333333dvw);
  }
}
@media (max-width: 767px) {
  .message__img {
    margin: 0 -5.1282051282dvw -31.2820512821dvw;
  }
}
.message__txt {
  color: #fff;
}
@media (min-width: 768px) {
  .message__txt {
    padding-right: 8px;
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
.message__txt p {
  font-size: 1.6rem;
  line-height: 2.4375;
}
@media (max-width: 767px) {
  .message__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
    line-height: 2.4666666667;
  }
}
.message__txt p:not(:last-child) {
  margin-bottom: 2.2em;
}
@media (max-width: 767px) {
  .message__txt p:not(:last-child) {
    margin-bottom: 2.4em;
  }
}
.message__txt p span {
  border-bottom: 1px solid #CA2427;
  padding-bottom: 0.5em;
}
.message__txt p b {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.3666666667;
  color: #CA2427;
  display: inline-block;
  margin-top: -0.4em;
  margin-bottom: 83px;
}
@media (max-width: 767px) {
  .message__txt p b {
    margin-bottom: 0;
    margin-top: -0.3em;
    font-size: 26px;
    font-size: 6.6666666667dvw;
    line-height: 1.3846153846;
  }
}
.message .slide-txt {
  margin: 0 -40px;
  background-color: #CA2427;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  gap: 10px;
  height: 41px;
}
@media (max-width: 767px) {
  .message .slide-txt {
    margin: 0 -5.1282051282dvw;
    gap: 2.5641025641dvw;
    padding: 2.3076923077dvw;
    height: 10.5128205128dvw;
  }
}
.message .slide-txt div {
  animation: slideTxt 60s infinite linear;
}
@keyframes slideTxt {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.message .slide-txt span {
  line-height: 1;
  white-space: nowrap;
  display: block;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  font-size: 3.5rem;
  color: #fff;
  text-box: trim-both cap alphabetic;
}
@media (max-width: 767px) {
  .message .slide-txt span {
    font-size: 35px;
    font-size: 8.9743589744dvw;
  }
}

.business {
  padding: 138px 0 157px;
  background: url("../images/top/bg_business.jpg") center top no-repeat;
  background-size: 1440px;
}
@media (max-width: 767px) {
  .business {
    padding: 28.7179487179dvw 0 68.9743589744dvw;
    background: url("../images/top/sp/bg_business.jpg") center top no-repeat;
    background-size: contain;
  }
}
.business__img {
  display: block;
  margin: 73px auto 50px;
}
@media (min-width: 768px) {
  .business__img {
    max-width: 1231px;
  }
}
@media (max-width: 767px) {
  .business__img {
    margin: 14.358974359dvw 0 16.1538461538dvw;
  }
}
.business__txt {
  position: relative;
  margin: 0 40px 49px;
  padding-bottom: 190px;
  text-align: center;
}
@media (max-width: 767px) {
  .business__txt {
    margin: 0 5.1282051282dvw 8.2051282051dvw;
    padding: 0 0 30.2564102564dvw;
  }
}
.business__txt::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  width: 2px;
  height: 156px;
  background-color: #FF0B0B;
  content: "";
}
@media (max-width: 767px) {
  .business__txt::before {
    height: 24.8717948718dvw;
  }
}
.business__txt p {
  font-size: 1.6rem;
  line-height: 2.4375;
}
@media (max-width: 767px) {
  .business__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
    line-height: 2.3333333333;
  }
}
.business__ttl {
  margin-bottom: 0.75em;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.6315789474;
}
@media (max-width: 767px) {
  .business__ttl {
    margin-bottom: 1.3em;
    font-size: 19px;
    font-size: 4.8717948718dvw;
  }
}
.business__ttl span {
  display: block;
  font-size: 3.9rem;
  color: #CA2427;
  margin-top: -0.1em;
}
@media (max-width: 767px) {
  .business__ttl span {
    margin-top: 0.1em;
    font-size: 30px;
    font-size: 7.6923076923dvw;
  }
}

@media (max-width: 767px) {
  .main-business {
    margin: 0 5.1282051282dvw;
  }
}
.main-business__ttl {
  margin-bottom: 1.3em;
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .main-business__ttl {
    margin-bottom: 2em;
    font-size: 20px;
    font-size: 5.1282051282dvw;
  }
}

@media (min-width: 768px) {
  .main-business-list {
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: content-box;
    padding: 0 40px;
  }
}
.main-business-list__item {
  padding: 55px 0;
  border-top: 2px solid #FF0B0B;
}
@media (min-width: 768px) {
  .main-business-list__item {
    display: flex;
    gap: 53px;
  }
  .main-business-list__item:nth-of-type(even) {
    flex-flow: row-reverse;
  }
}
@media (max-width: 767px) {
  .main-business-list__item {
    padding: 11.7948717949dvw 0;
  }
}
.main-business-list__item:last-child {
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .main-business-list__txt {
    flex: 1;
  }
}
@media (max-width: 767px) {
  .main-business-list__txt {
    margin-bottom: 7.6923076923dvw;
  }
}
.main-business-list__txt p {
  font-size: 1.5rem;
  line-height: 2;
}
.main-business-list__ttl {
  margin-bottom: 1em;
  font-size: 4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .main-business-list__ttl {
    margin-bottom: 0.7em;
    text-align: center;
    font-size: 26px;
    font-size: 6.6666666667dvw;
  }
}
.main-business-list__ttl span {
  margin-bottom: 0.3em;
  display: block;
  font-size: 3rem;
  font-weight: 400;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.02em;
  color: #CA2427;
}
@media (max-width: 767px) {
  .main-business-list__ttl span {
    margin-bottom: 0.5em;
    font-size: 18px;
    font-size: 4.6153846154dvw;
  }
}
@media (min-width: 768px) {
  .main-business-list__img {
    width: 50%;
  }
}

.pr-video {
  position: relative;
}
.pr-video__ttl {
  z-index: 2;
  top: -0.3em;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  text-align: center;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  text-box: trim-both cap alphabetic;
  text-align: center;
  line-height: 1;
  font-size: 14.2rem;
  letter-spacing: 0.02em;
  color: #CA2427;
}
@media (max-width: 767px) {
  .pr-video__ttl {
    font-size: 55px;
    font-size: 14.1025641026dvw;
  }
}
.pr-video__iframe {
  aspect-ratio: 1440/622;
}
@media (max-width: 767px) {
  .pr-video__iframe {
    aspect-ratio: 390/269;
  }
}
.pr-video__iframe iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pr-video__bottom {
  z-index: 2;
  bottom: -90px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  display: flex;
  gap: 18px;
  align-items: center;
}
@media (min-width: 768px) {
  .pr-video__bottom {
    max-width: 1200px;
  }
}
@media (max-width: 767px) {
  .pr-video__bottom {
    gap: 3.5897435897dvw;
    left: 5.1282051282dvw;
    bottom: -20.7692307692dvw;
  }
}
.pr-video__bottom a {
  display: block;
  width: 153px;
}
@media (max-width: 767px) {
  .pr-video__bottom a {
    width: 31.2820512821dvw;
  }
}
.pr-video__bottom p {
  padding-top: 1em;
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .pr-video__bottom p {
    padding-top: 0.4em;
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}

.office {
  margin-bottom: 119px;
  border-bottom: 1px solid #FF0B0B;
  padding: 190px 40px 81px;
}
@media (min-width: 768px) {
  .office {
    background: url("../images/top/bg_office.jpg") center/cover no-repeat;
  }
}
@media (max-width: 767px) {
  .office {
    margin-bottom: 23.3333333333dvw;
    background-color: #f1f1f1;
    padding: 47.9487179487dvw 5.1282051282dvw 28.2051282051dvw;
  }
}
@media (min-width: 768px) {
  .office__wrap {
    max-width: 1200px;
    margin: 0 auto;
  }
}

.office-section {
  position: relative;
}
@media (min-width: 768px) {
  .office-section.tokyo {
    margin: 55px 0 max(-174px, -12.0833333333dvw);
  }
}
@media (max-width: 767px) {
  .office-section.tokyo {
    margin-bottom: 22.5641025641dvw;
  }
}

@media (max-width: 767px) {
  .tokyo .office-img {
    margin-bottom: 3.5897435897dvw;
  }
}
@media (max-width: 767px) {
  .toyama .office-img {
    margin-bottom: 2.3076923077dvw;
  }
}

.office-txt p {
  font-size: 1.5rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .office-txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .tokyo .office-txt {
    position: absolute;
    top: -8%;
    bottom: 0;
    height: fit-content;
    margin: auto;
    padding-left: calc(50% + 14px);
  }
}
@media (min-width: 768px) {
  .toyama .office-txt {
    position: absolute;
    top: 20%;
    bottom: 0;
    height: fit-content;
    margin: auto;
    padding-right: 55%;
  }
}

.office-ttl {
  font-size: 8.6rem;
  font-size: min(8.6rem, 5.9722222222dvw);
  font-family: "alternate-gothic-no-2-d", sans-serif;
  text-box: trim-both cap alphabetic;
  line-height: 1;
  color: #CA2427;
  letter-spacing: 0.02em;
  font-weight: 400;
  margin-bottom: 0.22em;
}
@media (max-width: 767px) {
  .office-ttl {
    position: absolute;
    top: 12.5641025641dvw;
    left: 0;
    right: 0;
    font-size: 46px;
    font-size: 11.7948717949dvw;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .toyama .office-ttl {
    top: -11.0256410256dvw;
  }
}

.office-catch {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0.5em;
}
@media (max-width: 767px) {
  .office-catch {
    text-align: center;
    font-size: 18px;
    font-size: 4.6153846154dvw;
    line-height: 1.4444444444;
  }
}

.crosstalk {
  margin: 0 auto 184px;
}
@media (max-width: 767px) {
  .crosstalk {
    margin: 0 5.1282051282dvw 23.3333333333dvw;
  }
}
.crosstalk a {
  position: relative;
  display: block;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .crosstalk a {
    max-width: 1200px;
  }
}
.crosstalk a::after {
  position: absolute;
  content: "";
  right: 30px;
  bottom: 23px;
  width: 38px;
  height: 31px;
  background: url("../images/cmn/arrow.svg") center/contain no-repeat;
  filter: brightness(0) invert(1);
}
@media (max-width: 767px) {
  .crosstalk a::after {
    right: 4.1025641026dvw;
    bottom: 3.0769230769dvw;
    width: 4.8717948718dvw;
    height: 3.8461538462dvw;
  }
}
.crosstalk__txt {
  position: absolute;
  top: 25%;
  left: 0;
  right: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  color: #fff;
  text-align: center;
}
.crosstalk__txt p {
  font-size: 3.7rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .crosstalk__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.crosstalk__ttl {
  margin-bottom: 1em;
  font-size: 2.2rem;
}
@media (max-width: 767px) {
  .crosstalk__ttl {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.crosstalk__ttl span {
  margin-top: 0.1em;
  font-size: 13.3rem;
  display: block;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  font-weight: 400;
  text-box: trim-both cap alphabetic;
}
@media (max-width: 767px) {
  .crosstalk__ttl span {
    font-size: 67px;
    font-size: 17.1794871795dvw;
  }
}

.culture {
  position: relative;
  padding: 124px 40px 127px;
  background: linear-gradient(90deg, #CA2427 0%, #8b1c1e 100%);
}
@media (max-width: 767px) {
  .culture {
    padding: 21.2820512821dvw 5.1282051282dvw 20.5128205128dvw;
  }
}
.culture::before {
  background: url("../images/top/bg_culture.png") center top no-repeat;
  background-size: 1440px;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  margin: auto;
  content: "";
}
@media (max-width: 767px) {
  .culture::before {
    background: url("../images/top/sp/bg_culture.png") center top no-repeat;
    background-size: contain;
  }
}

.culture-list {
  display: flex;
  flex-flow: column;
  gap: 40px;
  margin: 69px auto 0;
}
@media (min-width: 768px) {
  .culture-list {
    max-width: 1200px;
  }
}
@media (max-width: 767px) {
  .culture-list {
    margin: 17.6923076923dvw auto 0;
    gap: 10.2564102564dvw;
  }
}
.culture-list__item {
  background-color: #fff;
}
@media (min-width: 768px) {
  .culture-list__item {
    display: flex;
    min-height: 445px;
  }
  .culture-list__item:nth-of-type(odd) {
    flex-flow: row-reverse;
  }
}
@media (min-width: 768px) {
  .culture-list__img {
    width: 50%;
    aspect-ratio: 600/445;
  }
  .culture-list__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.culture-list__txt {
  box-sizing: border-box;
  padding: 67px 35px 30px 53px;
}
@media (min-width: 768px) {
  .culture-list__txt {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .culture-list__txt {
    padding: 6.9230769231dvw 3.8461538462dvw 12.8205128205dvw;
  }
}
.culture-list__txt p {
  font-size: 1.5rem;
  line-height: 2;
}
.culture-list__ttl {
  margin-bottom: 0.7em;
  font-size: 3.6rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .culture-list__ttl {
    font-size: 21px;
    font-size: 5.3846153846dvw;
  }
}
.culture-list__ttl span {
  margin-bottom: 0.1em;
  display: block;
  line-height: 1;
  font-size: 8.1rem;
  font-weight: 400;
  color: #CA2427;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .culture-list__ttl span {
    font-size: 65px;
    font-size: 16.6666666667dvw;
  }
}

.img-slider {
  background-color: #f1f1f1;
}
.img-slider__top {
  margin-bottom: 33px;
}
@media (max-width: 767px) {
  .img-slider__top {
    margin-bottom: 4.358974359dvw;
  }
}

.img-slider-list__item {
  width: 508px;
}
@media (max-width: 767px) {
  .img-slider-list__item {
    width: 66.4102564103dvw;
  }
}

.numbers {
  margin-bottom: 171px;
  padding: 132px 40px 151px;
  background-color: #f1f1f1;
}
@media (max-width: 767px) {
  .numbers {
    margin-bottom: 21.2820512821dvw;
    padding: 30.7692307692dvw 5.1282051282dvw 27.1794871795dvw;
  }
}
@media (min-width: 768px) {
  .numbers__wrap {
    max-width: 1200px;
    margin: 0 auto;
  }
}

.numbers-growth {
  margin: 63px auto 43px;
  padding: 36px 75px 57px;
  border: 2px solid #CA2427;
  background-color: #fff;
}
@media (max-width: 767px) {
  .numbers-growth {
    margin: 15.3846153846dvw auto 6.9230769231dvw;
    padding: 6.4102564103dvw 3.3333333333dvw 7.6923076923dvw;
  }
}
.numbers-growth__ttl {
  text-align: center;
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 0.35em;
}
@media (max-width: 767px) {
  .numbers-growth__ttl {
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
.numbers-growth__ttl span {
  display: inline-block;
  font: 4.6rem;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: #CA2427;
}
@media (max-width: 767px) {
  .numbers-growth__ttl span {
    font-size: 28px;
    font-size: 7.1794871795dvw;
  }
}
.numbers-growth__ttl span b {
  font-weight: 400;
  font-size: 7.4rem;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  text-box: trim-both cap alphabetic;
}
@media (max-width: 767px) {
  .numbers-growth__ttl span b {
    font-size: 46px;
    font-size: 11.7948717949dvw;
  }
}
.numbers-growth p {
  text-align: center;
  font-size: 1.5rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .numbers-growth p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.numbers-growth picture {
  display: block;
  margin-top: 32px;
}
@media (max-width: 767px) {
  .numbers-growth picture {
    margin-top: 2.8205128205dvw;
  }
}

.numbers-2col {
  margin-bottom: 40px;
  display: flex;
  gap: 38px 0;
}
@media (min-width: 768px) {
  .numbers-2col {
    flex-flow: wrap;
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .numbers-2col {
    margin-bottom: 7.4358974359dvw;
    gap: 7.4358974359dvw;
    flex-flow: column;
  }
}
.numbers-2col__item {
  min-height: 277px;
  padding: 33px 0 10px 37px;
  box-sizing: border-box;
  border: 2px solid #CA2427;
  background-color: #fff;
}
@media (min-width: 768px) {
  .numbers-2col__item {
    width: 100%;
    background-size: contain;
    background-position: right bottom;
    background-repeat: no-repeat;
  }
  .numbers-2col__item:nth-of-type(1) {
    max-width: 53.6666666667%;
    background-image: url("../images/top/numbers_shipping.png");
  }
  .numbers-2col__item:nth-of-type(2) {
    max-width: 44.1666666667%;
    background-image: url("../images/top/numbers_user.png");
  }
  .numbers-2col__item:nth-of-type(3) {
    max-width: 47.75%;
    background-image: url("../images/top/numbers_server.png");
  }
  .numbers-2col__item:nth-of-type(4) {
    max-width: 50%;
    background-image: url("../images/top/numbers_web.png");
  }
}
@media (max-width: 767px) {
  .numbers-2col__item {
    padding: 6.6666666667dvw 0 6.1538461538dvw;
  }
}
@media (max-width: 767px) {
  .numbers-2col__txt {
    text-align: center;
  }
}
.numbers-2col__txt p {
  font-size: 1.5rem;
  line-height: 1.5333333333;
}
@media (max-width: 767px) {
  .numbers-2col__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
@media (min-width: 768px) {
  .numbers-2col__item:nth-of-type(3) .numbers-2col__txt p {
    padding-right: min(230px, 17.3611111111dvw);
  }
}
@media (min-width: 768px) {
  .numbers-2col__item:nth-of-type(4) .numbers-2col__txt p {
    padding-right: min(240px, 17.1527777778dvw);
  }
}
.numbers-2col__ttl {
  font-size: 3.1rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .numbers-2col__ttl {
    margin-bottom: 0.5em;
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
.numbers-2col__num {
  display: block;
  margin-top: 10px;
  line-height: 1;
  font-size: min(3.8rem, 2.6388888889dvw);
  font-weight: bold;
  color: #CA2427;
}
@media (max-width: 767px) {
  .numbers-2col__num {
    font-size: 38px;
    font-size: 9.7435897436dvw;
  }
}
@media (max-width: 767px) {
  .numbers-2col__item:nth-of-type(4) .numbers-2col__num {
    font-size: 34px;
    font-size: 8.7179487179dvw;
  }
}
.numbers-2col__num b {
  font-size: min(11.5rem, 7.9861111111dvw);
  font-weight: 400;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .numbers-2col__num b {
    font-size: 115px;
    font-size: 29.4871794872dvw;
  }
}
@media (max-width: 767px) {
  .numbers-2col__item:nth-of-type(2) .numbers-2col__num b {
    font-size: 101px;
    font-size: 25.8974358974dvw;
  }
}
@media (max-width: 767px) {
  .numbers-2col__item:nth-of-type(4) .numbers-2col__num b {
    font-size: 103px;
    font-size: 26.4102564103dvw;
  }
}
@media (min-width: 768px) {
  .numbers-2col__img {
    display: none;
  }
}

.numbers-ratio {
  margin-bottom: 27px;
  padding: 28px 34px 0;
  border: 2px solid #CA2427;
  background-color: #fff;
}
@media (min-width: 768px) {
  .numbers-ratio {
    display: grid;
    justify-content: space-between;
    grid-template-columns: auto auto;
  }
}
@media (max-width: 767px) {
  .numbers-ratio {
    margin-bottom: 7.6923076923dvw;
    padding: 12.3076923077dvw 1.2820512821dvw 10.2564102564dvw;
  }
}
@media (min-width: 768px) {
  .numbers-ratio__txt {
    padding-top: 13px;
  }
}
@media (max-width: 767px) {
  .numbers-ratio__txt {
    text-align: center;
  }
}
.numbers-ratio__txt p {
  font-size: 3.7rem;
  font-weight: bold;
  line-height: 1.5135135135;
  color: #CA2427;
}
@media (max-width: 767px) {
  .numbers-ratio__txt p {
    font-size: 24px;
    font-size: 6.1538461538dvw;
    line-height: 1.5416666667;
    letter-spacing: -0.05em;
  }
}
.numbers-ratio__ttl {
  margin-bottom: 0.5em;
  display: block;
  font-size: 3.1rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .numbers-ratio__ttl {
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
@media (min-width: 768px) {
  .numbers-ratio__img {
    grid-column: 2/3;
    grid-row: 1/4;
    align-self: center;
    max-width: 600px;
  }
}
@media (min-width: 768px) {
  .numbers-ratio__clip {
    align-self: flex-end;
    max-width: 462px;
    order: 5;
  }
}
@media (max-width: 767px) {
  .numbers-ratio__clip {
    margin: 0 auto;
    max-width: 80dvw;
  }
}
@media (min-width: 768px) {
  .numbers-ratio__btn {
    margin: 20px 0 23px;
  }
}
.numbers-ratio__btn a {
  position: relative;
  box-sizing: border-box;
  min-height: 68px;
  max-width: 362px;
  padding: 0 30px 0 41px;
  display: flex;
  align-items: center;
  border: 2px solid #beb1b2;
  border-radius: 68px;
  font-size: 1.7rem;
}
@media (max-width: 767px) {
  .numbers-ratio__btn a {
    margin: 0 auto;
    max-width: 76.9230769231dvw;
    min-height: 14.358974359dvw;
    border-radius: 14.358974359dvw;
    font-size: 14px;
    font-size: 3.5897435897dvw;
  }
}
.numbers-ratio__btn a::after {
  position: absolute;
  content: "";
  top: 0;
  right: 21px;
  bottom: 0;
  margin: auto;
  width: 19px;
  height: 15px;
  background: url("../images/cmn/arrow_red.svg") center/contain no-repeat;
}
@media (max-width: 767px) {
  .numbers-ratio__btn a::after {
    right: 4.358974359dvw;
    width: 4.1025641026dvw;
    height: 3.3333333333dvw;
  }
}

.numbers-ratio-col {
  display: grid;
  gap: 2.0833333333%;
  margin-bottom: 42px;
}
@media (min-width: 768px) {
  .numbers-ratio-col {
    align-items: flex-end;
    grid-template-columns: 41% auto;
  }
}
@media (max-width: 767px) {
  .numbers-ratio-col {
    margin-bottom: 8.2051282051dvw;
    gap: 7.9487179487dvw;
  }
}

.numbers-3col {
  display: grid;
  margin-bottom: 45px;
  gap: 33px 2%;
}
@media (min-width: 768px) {
  .numbers-3col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1180px) {
  .numbers-3col {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 767px) {
  .numbers-3col {
    margin-bottom: 7.6923076923dvw;
    gap: 7.1794871795dvw;
    grid-template-columns: 1fr;
  }
}
.numbers-3col__item {
  display: flex;
  flex-flow: column;
  border: 2px solid #CA2427;
  background-color: #fff;
  box-sizing: border-box;
  padding: 0 5px 30px;
}
@media (min-width: 768px) {
  .numbers-3col__item {
    min-height: 253px;
  }
}
@media (max-width: 767px) {
  .numbers-3col__item {
    padding: 0 0 5.1282051282dvw;
  }
}
.numbers-3col__item:nth-of-type(2) .numbers-3col__num b {
  font-size: 18rem;
}
.numbers-3col__catch {
  display: block;
  width: fit-content;
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 0 auto;
  transform: translateY(-50%);
  padding: 0.15em 0.3em;
}
@media (max-width: 767px) {
  .numbers-3col__catch {
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.numbers-3col__ttl {
  margin-bottom: 0.5em;
  font-size: 3.1rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .numbers-3col__ttl {
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
.numbers-3col__ttl span {
  display: block;
  font-size: 1.5rem;
  font-weight: 400;
}
@media (max-width: 767px) {
  .numbers-3col__ttl span {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.numbers-3col__num {
  margin-top: auto;
  text-align: center;
  color: #CA2427;
  font-weight: bold;
  line-height: 1;
  font-size: 3.8rem;
}
.numbers-3col__item:nth-of-type(2) .numbers-3col__num {
  font-size: 4.7rem;
}
.numbers-3col__num b {
  display: inline-block;
  font-size: 14.5rem;
  letter-spacing: 0.02em;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  font-weight: 400;
  text-box: trim-both cap alphabetic;
}
@media (max-width: 767px) {
  .numbers-3col__num b {
    font-size: 145px;
    font-size: 37.1794871795dvw;
  }
}
.numbers-3col__item:nth-of-type(2) .numbers-3col__num b {
  font-size: 18rem;
}
@media (max-width: 767px) {
  .numbers-3col__item:nth-of-type(2) .numbers-3col__num b {
    font-size: 180px;
    font-size: 46.1538461538dvw;
  }
}

.numbers-boys {
  padding: 7px 0 0 20px;
  border: 2px solid #CA2427;
  background-color: #fff;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .numbers-boys {
    min-height: 332px;
    display: grid;
    align-items: center;
    grid-template-columns: auto auto;
  }
}
@media (max-width: 767px) {
  .numbers-boys {
    padding: 5.1282051282dvw 0 5.1282051282dvw;
  }
}
.numbers-boys__txt {
  text-align: center;
}
@media (max-width: 767px) {
  .numbers-boys__txt {
    margin-bottom: 2.5641025641dvw;
  }
}
.numbers-boys__txt p {
  font-size: 1.5rem;
  line-height: 1.5333333333;
}
@media (max-width: 767px) {
  .numbers-boys__txt p {
    font-size: 12px;
    font-size: 3.0769230769dvw;
    line-height: 1.5833333333;
  }
}
.numbers-boys__ttl {
  font-size: 3.1rem;
  font-weight: bold;
  margin-bottom: 0.4em;
}
@media (max-width: 767px) {
  .numbers-boys__ttl {
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
.numbers-boys__num {
  margin-bottom: 0.3em;
  display: block;
  font-size: 4.9rem;
  font-weight: bold;
  color: #CA2427;
  line-height: 1;
}
@media (max-width: 767px) {
  .numbers-boys__num {
    margin-bottom: 0.5em;
    font-size: 42px;
    font-size: 10.7692307692dvw;
  }
}
.numbers-boys__num b {
  display: inline-block;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  text-box: trim-both cap alphabetic;
  font-size: 18.2rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .numbers-boys__num b {
    font-size: 157px;
    font-size: 40.2564102564dvw;
  }
}
@media (min-width: 768px) {
  .numbers-boys__img {
    max-width: 757px;
    margin-right: -40px;
  }
}

.welfare {
  margin: 0 40px 155px;
}
@media (max-width: 767px) {
  .welfare {
    margin: 0 5.1282051282dvw 33.3333333333dvw;
  }
}

.welfare-list {
  margin: 136px auto 0;
  display: grid;
  gap: 72px 22px;
}
@media (min-width: 768px) {
  .welfare-list {
    max-width: 1200px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1180px) {
  .welfare-list {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 767px) {
  .welfare-list {
    gap: 16.4102564103dvw;
    margin: 20dvw auto 0;
    grid-template-columns: 1fr;
  }
}
.welfare-list__item {
  border: 2px solid #CA2427;
  padding: 0 28px 40px;
  position: relative;
}
@media (max-width: 767px) {
  .welfare-list__item {
    padding: 0 3.3333333333dvw 6.6666666667dvw;
  }
}
.welfare-list__item::before {
  position: absolute;
  font-size: 1.7rem;
  font-weight: bold;
  transform: rotate(16deg);
  top: 36px;
}
@media (max-width: 767px) {
  .welfare-list__item::before {
    top: 8.2051282051dvw;
  }
}
.welfare-list__item:nth-of-type(3)::before {
  right: 40px;
  content: "＼大好評！／";
}
@media (max-width: 767px) {
  .welfare-list__item:nth-of-type(3)::before {
    right: 5.1282051282dvw;
  }
}
.welfare-list__item:nth-of-type(9)::before {
  position: absolute;
  right: 20px;
  content: "＼大大好評！／";
}
@media (max-width: 767px) {
  .welfare-list__item:nth-of-type(9)::before {
    right: 2.5641025641dvw;
  }
}
.welfare-list__icon {
  max-width: 73px;
  margin: 0 auto -15px;
  position: relative;
  top: -36px;
}
@media (max-width: 767px) {
  .welfare-list__icon {
    top: -9.2307692308dvw;
    margin: 0 auto -15px;
    max-width: 18.7179487179dvw;
  }
}
.welfare-list p {
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.014em;
}
@media (max-width: 767px) {
  .welfare-list p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.welfare-list__ttl {
  margin-bottom: 0.4em;
  display: block;
  text-align: center;
  color: #CA2427;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .welfare-list__ttl {
    font-size: 22px;
    font-size: 5.641025641dvw;
  }
}

.faq {
  background-color: #f1f1f1;
  padding-bottom: 131px;
}
@media (max-width: 767px) {
  .faq {
    padding-bottom: 28.2051282051dvw;
  }
}
.faq__ttl {
  margin-bottom: 70px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-height: 219px;
  color: #fff;
  background-color: #CA2427;
  line-height: 1;
  font-size: 2.1rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .faq__ttl {
    margin-bottom: 17.9487179487dvw;
    min-height: 44.358974359dvw;
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.faq__ttl span {
  display: block;
  margin-bottom: 0.2em;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  font-size: 9.8rem;
  font-weight: 400;
  text-box: trim-both cap alphabetic;
}
@media (max-width: 767px) {
  .faq__ttl span {
    font-size: 77px;
    font-size: 19.7435897436dvw;
  }
}

.faq-section:not(:last-child) {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .faq-section:not(:last-child) {
    margin-bottom: 15.3846153846dvw;
  }
}
.faq-section__ttl {
  margin-bottom: 1em;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .faq-section__ttl {
    font-size: 22px;
    font-size: 5.641025641dvw;
  }
}

.faq-list {
  margin: 0 auto;
}
@media (min-width: 768px) {
  .faq-list {
    max-width: 1200px;
    box-sizing: content-box;
    padding: 0 40px;
  }
}
@media (max-width: 767px) {
  .faq-list {
    margin: 0 5.1282051282dvw;
  }
}
.faq-list > dt {
  position: relative;
  border: 1px solid #000;
  padding: 26px 50px 26px 72px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3;
  transition: 0.3s;
  cursor: pointer;
}
@media (max-width: 767px) {
  .faq-list > dt {
    padding: 3.3333333333dvw 15.3846153846dvw 3.3333333333dvw 14.6153846154dvw;
    font-size: 20px;
    font-size: 5.1282051282dvw;
  }
}
.faq-list > dt:not(:first-child) {
  margin-top: 29px;
}
@media (max-width: 767px) {
  .faq-list > dt:not(:first-child) {
    margin-top: 6.9230769231dvw;
  }
}
.faq-list > dt::before, .faq-list > dt::after {
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  width: 25px;
  height: 3px;
  background-color: #000;
  display: block;
  margin: auto;
  content: "";
  transition: 0.3s;
}
@media (max-width: 767px) {
  .faq-list > dt::before, .faq-list > dt::after {
    right: 5.1282051282dvw;
    width: 5.1282051282dvw;
    height: 0.5128205128dvw;
  }
}
.faq-list > dt::after {
  transform: rotate(90deg);
}
.faq-list > dt span::before {
  position: absolute;
  top: 22px;
  left: 29px;
  display: block;
  content: "Q.";
  font-family: "alternate-gothic-no-2-d", sans-serif;
  font-weight: 400;
  font-size: 4.5rem;
  line-height: 1;
  color: #CA2427;
  text-box: trim-both cap alphabetic;
  transition: 0.3s;
  height: fit-content;
}
@media (max-width: 767px) {
  .faq-list > dt span::before {
    top: 0;
    left: 4.358974359dvw;
    bottom: 0;
    margin: auto;
    font-size: 45px;
    font-size: 11.5384615385dvw;
  }
}
.faq-list > dt.active, .faq-list > dt:hover {
  color: #fff;
  background-color: #CA2427;
  border-color: #CA2427;
}
.faq-list > dt.active::before, .faq-list > dt.active::after, .faq-list > dt:hover::before, .faq-list > dt:hover::after {
  background-color: #fff;
}
.faq-list > dt.active span::before, .faq-list > dt:hover span::before {
  color: #fff;
}
.faq-list > dt.active::after {
  transform: rotate(0);
}
.faq-list > dd {
  display: none;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.014em;
  padding: 1.2em 0 0 72px;
  position: relative;
}
@media (max-width: 767px) {
  .faq-list > dd {
    padding: 1.4em 0 0 15.1282051282dvw;
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.faq-list > dd::before {
  position: absolute;
  top: 22px;
  left: 29px;
  display: block;
  content: "A.";
  font-family: "alternate-gothic-no-2-d", sans-serif;
  font-weight: 400;
  font-size: 4.5rem;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .faq-list > dd::before {
    top: 5.641025641dvw;
    left: 4.358974359dvw;
    font-size: 45px;
    font-size: 11.5384615385dvw;
  }
}
.faq-list > dd .c-button {
  margin: 15px auto 0 0;
}
@media (max-width: 767px) {
  .faq-list > dd .c-button {
    margin: 3vw auto 0 0;
  }
}

.news {
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .news {
    max-width: calc(1200px + 8%);
    padding: 99px 4% 87px;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .news {
    padding: 22.3076923077dvw 5.1282051282dvw 15.3846153846dvw;
  }
}
.news__ttl {
  margin-bottom: 1.4em;
  line-height: 1;
  font-size: 1.5rem;
  text-align: center;
}
@media (max-width: 767px) {
  .news__ttl {
    text-align: center;
    margin-bottom: 7.6923076923dvw;
    font-size: 18px;
    font-size: 4.6153846154dvw;
  }
}
.news__ttl span {
  margin-bottom: 0.26em;
  display: block;
  font-size: 7.2rem;
  font-family: "alternate-gothic-no-2-d", sans-serif;
  text-box: trim-both cap alphabetic;
}
@media (max-width: 767px) {
  .news__ttl span {
    margin-bottom: 3.0769230769dvw;
    display: block;
    font-size: 70px;
    font-size: 17.9487179487dvw;
  }
}
.news__ttl span::first-letter {
  color: #CA2427;
}
.news__more {
  width: fit-content;
  margin: 34px auto 0;
}

.news-list {
  margin: 0 auto;
  border-top: 1px solid #111;
}
.news-list__item {
  padding: 30px 5px;
  border-bottom: 1px solid #111;
}
@media (max-width: 767px) {
  .news-list__item {
    padding: 5vw 0;
    margin: 0 2.5641025641dvw;
    max-width: 89.7435897436dvw;
  }
}
.news-list__item figure {
  margin-bottom: 16px;
  aspect-ratio: 378/252;
  overflow: hidden;
}
@media (max-width: 767px) {
  .news-list__item figure {
    margin-bottom: 4.6153846154dvw;
  }
}
.news-list__item .news_icon {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .news-list__item .news_icon {
    flex-wrap: wrap;
    margin-top: 1.5vw;
    gap: 2vw;
    margin-bottom: 3vw;
  }
}
.news-list__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-list__item ul {
  display: flex;
  flex-flow: wrap;
  font-size: 1.4rem;
  color: #555555;
  font-weight: bold;
  gap: 0.5em 1em;
}
@media (max-width: 767px) {
  .news-list__item ul {
    font-size: 14px;
    font-size: 3.5897435897dvw;
  }
}
.news-list__item li {
  background: none !important;
  line-height: 1;
}
.news-list__item p {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5625;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (max-width: 767px) {
  .news-list__item p {
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.news-list__item time {
  line-height: 1;
  display: block;
  font-weight: 500;
  font-size: 1.5rem;
}
@media (max-width: 767px) {
  .news-list__item time {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.news-list .slick-dots {
  margin-top: 1.5384615385dvw !important;
  position: relative;
  inset: 0;
  display: flex !important;
  justify-content: center;
  flex-flow: wrap;
  gap: 2.5641025641dvw;
}
.news-list .slick-dots li,
.news-list .slick-dots button {
  margin: 0;
  padding: 0;
  width: 3.3333333333dvw;
  height: 3.3333333333dvw;
}
.news-list .slick-dots li {
  background-color: #d0d0d0;
}
.news-list .slick-dots li.slick-active {
  background-color: #FF0B0B;
}

/*# sourceMappingURL=top.css.map */
