@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "Poppins-SemiBoldItalic";
  src: url("../fonts/Poppins-SemiBoldItalic.ttf");
  font-display: swap;
}
@font-face {
  font-family: "Poppins-BoldItalic";
  src: url("../fonts/Poppins-BoldItalic.ttf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Regular";
  src: url("../fonts/NotoSansCJKjp-Regular.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Medium";
  src: url("../fonts/NotoSansCJKjp-Medium.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Bold";
  src: url("../fonts/NotoSansCJKjp-Bold.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Black";
  src: url("../fonts/NotoSansCJKjp-Black.otf");
  font-display: swap;
}
/*	layout
------------------------------------ */
/* animation
例）animation: fadedown .5s ease-in-out;
遅延）animation-delay: 0.5s;
最後の状態維持）animation-fill-mode: forwards;
------------------------------------ */
@keyframes fadedown {
  0% {
    transform: translateY(-10px);
    opacity: 0;
  }
  50% {
    transform: translateY(-5px);
    opacity: 0.5;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadeup {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  50% {
    transform: translateY(5px);
    opacity: 0.5;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes faderight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  50% {
    transform: translateX(5px);
    opacity: 0.5;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes grad-fill {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
@keyframes zoom {
  0% {
    transform: scale(0.95);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes floatY {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(var(--amp));
  }
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/*	font-size  cmn
------------------------------------ */
/*	com parts  PC
------------------------------------ */
.sns-none {
  display: none !important;
}

.over {
  overflow: hidden;
}

.com-ib {
  display: inline-block;
}

.spxs-only {
  display: none;
}
@media screen and (max-width: 390px) {
  .spxs-only {
    display: inherit;
  }
}

.f26 {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .f26 {
    font-size: 1.5rem;
  }
}

.pre {
  white-space: pre-line;
}

.nowrap {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .nowrap {
    white-space: nowrap;
  }
}
.no-sb {
  margin: 50px auto 0;
}

.anchor-mp {
  margin: -90px auto 0;
  padding-top: 90px;
}

.com-txt-box p:nth-of-type(n+2) {
  margin: 30px 0 0;
}

.clamp1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.clamp2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.clamp3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media screen and (min-width: 768px) {
  .com-pd {
    padding: 100px 0;
  }
}

/*  共通パーツ
------------------------------------ */
.com-box {
  background: #f6f4f4;
}

.fcolor::first-letter {
  color: #b10014;
}

.com-shape::before {
  content: "";
  display: block;
  width: 100%;
  height: 724px;
  background: url(../img/top/com-shape-left.png) no-repeat left calc(100% - 42px), url(../img/top/com-shape-right.png) no-repeat right top, #191919;
  clip-path: polygon(0 210px, 100% 0, 100% calc(100% - 210px), 0% 100%);
  position: absolute;
  left: 0;
  right: 0;
  z-index: -1;
}
.com-shape.red::before {
  background: url(../img/top/com-shape-red-left.png) no-repeat left -49px, url(../img/top/com-shape-red-right.png) no-repeat right calc(100% + 67px), #b10014;
  clip-path: polygon(0 0, 100% 210px, 100% 100%, 0 calc(100% - 210px));
}

.com-fuki {
  display: inline-block;
  padding: 0 40px;
  text-align: center;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 5rem;
  letter-spacing: 0.08em;
  line-height: 1.3;
  position: relative;
}
@media screen and (max-width: 768px) {
  .com-fuki {
    font-size: 2.5rem;
  }
}
.com-fuki::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  border-width: 14px 10px 0px 10px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -14px;
  margin: auto;
}
.com-fuki.white {
  background-color: #fff;
  color: #b10014;
}
.com-fuki.black {
  background-color: #191919;
  color: #fff;
}
.com-fuki.black::before {
  border-color: #191919 transparent transparent transparent;
}
.com-fuki.red {
  background-color: #b10014;
  color: #fff;
}
.com-fuki.red::before {
  border-color: #b10014 transparent transparent transparent;
}

.com-bg01 {
  background: #b10014;
}
.com-bg02 {
  background: url(../img/business/abotu-l.png) no-repeat calc(50% - 679px) top, url(../img/business/about-r.png) no-repeat calc(50% + 672px) bottom #b10014;
}
@media screen and (min-width: 1921px) {
  .com-bg02 {
    background-position-x: left, right;
  }
}
.com-bg03 {
  background: url(../img/info/lt-bg-deco.png) no-repeat left top, url(../img/info/rb-bg-deco.png) no-repeat right bottom;
}

.com-tel {
  display: inline-block;
  text-align: left;
}
.com-tel-txt {
  display: flex;
  align-items: flex-end;
}
.com-tel-txt span {
  display: block;
  line-height: 1;
}
.com-tel-ac {
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  color: #b10014;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .com-tel-ac {
    font-size: 1.5rem;
  }
}
.com-tel-link {
  padding-top: 8px;
  padding-left: 36px;
  background: url(../img/top/info-tel.png) no-repeat left bottom;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 3.4rem;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .com-tel-link {
    font-size: 1.7rem;
  }
}
.com-tel.white {
  color: #fff;
}
.com-tel.white .com-tel-ac {
  color: #fff;
}
.com-tel.white .com-tel-link {
  padding-left: 47px;
  background-image: url(../img/top/entry-tel.png);
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .com-tel.white .com-tel-link {
    font-size: 2rem;
  }
}
.com-tel.white .com-tel-txt {
  justify-content: flex-end;
}
.com-tel.white .com-tel-note {
  margin-left: 40px;
}

.news-post {
  width: 100%;
  max-width: 802px;
}
.news-post-item:first-of-type a {
  padding-top: 0;
}
.news-post-item:nth-of-type(n+2) {
  border-top: 1px solid #cccccc;
}
.news-post-link {
  display: block;
  padding: 36px 60px 30px 0;
  position: relative;
}
.news-post-link::before {
  content: "";
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: url(../img/top/entry-arw.png) no-repeat center #fff;
  border: 1px solid #cccccc;
  box-shadow: 0px 6px 8px 0px rgba(34, 34, 34, 0.15);
  position: absolute;
  right: 0;
  bottom: 37px;
}
@media screen and (min-width: 768px) {
  .news-post-link:hover h4 {
    color: #b10014;
  }
}
.news-post-time {
  font-family: "NotoSansCJKjp-Regular", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.12em;
  line-height: 1.4;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .news-post-time {
    font-size: 1.5rem;
  }
}
.news-post-tag {
  display: flex;
  margin-left: 20px;
  flex-wrap: wrap;
}
.news-post-tag-txt {
  padding: 2px 8px;
  background: #b10014;
  margin: 0 10px 5px 0;
  font-family: "NotoSansCJKjp-Regular", sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  color: #Fff;
  line-height: 1.3;
}
.news-post-ttl {
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .news-post-ttl {
    font-size: 1.5rem;
  }
}

.com-tag {
  display: flex;
  flex-wrap: wrap;
}
.com-tag-item {
  width: 100%;
  max-width: 350px;
}
@media screen and (min-width: 768px) {
  .com-tag-item:not(:nth-of-type(3n-2)) {
    margin-left: 14px;
  }
  .com-tag-item:nth-of-type(n+4) {
    margin-top: 30px;
  }
}
.com-tag-link {
  display: block;
  width: 100%;
  padding: 21px 50px;
  border: 1px solid #191919;
  text-align: center;
  background: url(../img/top/com-btn-arw.png) no-repeat calc(100% - 29px) center;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .com-tag-link {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .com-tag-link:hover {
    background-color: #191919;
    background-image: url(../img/top/com-btn-arw-white.png);
    background-position-x: calc(100% - 20px);
    color: #fff;
    opacity: 1;
  }
}

/* =========================================

  main layout  all

========================================= */
/* top-about  PC
------------------------------------ */
#top-about .about-bg {
  background: url(../img/top/about-shape.png) no-repeat calc(50% - 75px) calc(100% - 10px) #b10014;
}
@media screen and (min-width: 1921px) {
  #top-about .about-bg {
    background-size: 100% 325px;
  }
}
#top-about .about-ttl {
  text-align: center;
}
#top-about .about-ttl::after {
  content: "";
  display: block;
  width: 1px;
  height: 38px;
  margin: 30px auto 0;
  background: #fff;
}
#top-about .about-ttl-ja {
  margin: 35px auto 0;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 8rem;
  letter-spacing: 0;
  color: #fff;
  line-height: 1.25;
}
@media screen and (max-width: 768px) {
  #top-about .about-ttl-ja {
    font-size: 4rem;
  }
}
#top-about .about-txt {
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 2.3;
}
@media screen and (max-width: 768px) {
  #top-about .about-txt {
    font-size: 1.5rem;
  }
}
#top-about .about-txt-box {
  margin: 30px auto 0;
  text-align: center;
}
#top-about .about-txt-box p:nth-of-type(n+2) {
  margin: 55px auto 0;
}
#top-about .about-catch {
  margin: 53px auto 0;
  text-align: center;
}

/* top-movie  PC
------------------------------------ */
#top-movie .movie-bg {
  background: linear-gradient(180deg, #b10014 0%, #b10014 366px, #fff 366px, #fff 100%);
  position: relative;
  z-index: 1;
}
#top-movie .movie-bg::before {
  content: "";
  width: 76%;
  height: 1048px;
  background: url(../img/top/com-bg-deco-left.png) no-repeat left top/contain;
  position: absolute;
  left: 0;
  top: 387px;
  z-index: -1;
  pointer-events: none;
}
#top-movie .movie-ttl {
  padding-right: 20px;
  text-align: right;
}
#top-movie .movie-box {
  width: 100%;
  max-width: 900px;
  height: 0;
  margin: -150px auto 0;
  padding-top: 506px;
  position: relative;
}
#top-movie .movie-en {
  width: 100%;
  overflow: hidden;
  pointer-events: none;
  line-height: 1;
  position: absolute;
  top: 253px;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
#top-movie .movie-en p {
  display: flex;
  animation: text-slider 20s infinite linear 0.1s both;
}
#top-movie .movie-en img {
  display: block;
}
@media screen and (min-width: 768px) {
  #top-movie .movie-en img {
    max-width: none;
    flex-shrink: 0;
  }
}

@keyframes text-slider {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}
/* top-features  PC
------------------------------------ */
#top-features .features-list {
  background: url(../img/top/com-bg-deco-right.png) no-repeat calc(100% + 21px) 218px, url(../img/top/com-bg-deco-left.png) no-repeat -263px calc(100% - 69px), url(../img/top/features-rb.png) no-repeat calc(100% + 196px) bottom;
}
#top-features .features-list-item {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  #top-features .features-list-item02 {
    height: 801px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 210px));
  }
  #top-features .features-list-item03 {
    height: 772px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 210px), 0% 100%);
  }
  #top-features .features-list-item03 .features-list-shape::before {
    bottom: 0;
  }
  #top-features .features-list-item03 .features-list-inner {
    padding-top: 130px;
  }
  #top-features .features-list-item:nth-of-type(n+2) {
    margin: 30px auto 0;
  }
  #top-features .features-list-item:nth-of-type(3) {
    margin-top: -17px;
  }
}
#top-features .features-list-shape02::before {
  top: auto;
  bottom: 0;
}
#top-features .features-list-inner {
  width: 100%;
  max-width: 1080px;
  margin: auto;
  padding: 76px 0 0;
}
#top-features .features-list-inner02 {
  padding-top: 168px;
}
#top-features .features-list-illu {
  position: absolute;
}
#top-features .features-list-illu01 {
  top: -52px;
  right: calc(50% - 597px);
}
#top-features .features-list-illu02 {
  top: 12px;
  left: calc(50% - 578px);
}
#top-features .features-list-illu03 {
  top: 0;
  right: calc(50% - 658px);
}
#top-features .features-list-ttl {
  line-height: 1;
}
#top-features .features-list-ttl .num {
  font-family: "Poppins-BoldItalic", sans-serif;
  font-size: 17rem;
  letter-spacing: 0;
  color: #fff;
  text-shadow: rgb(25, 25, 25) 1px 0px 0px, rgb(25, 25, 25) 0.540302px 0.841471px 0px, rgb(25, 25, 25) -0.416147px 0.909297px 0px, rgb(25, 25, 25) -0.989992px 0.14112px 0px, rgb(25, 25, 25) -0.653644px -0.756802px 0px, rgb(25, 25, 25) 0.283662px -0.958924px 0px, rgb(25, 25, 25) 0.96017px -0.279415px 0px;
}
@media screen and (max-width: 768px) {
  #top-features .features-list-ttl .num {
    font-size: 8.5rem;
  }
}
#top-features .features-list-ttl .num02 {
  text-shadow: rgb(177, 0, 20) 1px 0px 0px, rgb(177, 0, 20) 0.540302px 0.841471px 0px, rgb(177, 0, 20) -0.416147px 0.909297px 0px, rgb(177, 0, 20) -0.989992px 0.14112px 0px, rgb(177, 0, 20) -0.653644px -0.756802px 0px, rgb(177, 0, 20) 0.283662px -0.958924px 0px, rgb(177, 0, 20) 0.96017px -0.279415px 0px;
}
#top-features .features-list-ttl .txt {
  margin-top: 26px;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 5.2rem;
  letter-spacing: 0.05em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #top-features .features-list-ttl .txt {
    font-size: 2.6rem;
  }
}
#top-features .features-list-txt {
  max-width: 520px;
  margin-top: 50px;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 2.25;
}
@media screen and (max-width: 768px) {
  #top-features .features-list-txt {
    font-size: 1.5rem;
  }
}
#top-features .features-list-box {
  margin: -40px auto 0;
  padding: 80px 0 50px;
  background: #f6f4f4;
  box-shadow: 0px 6px 8px 0px rgba(34, 34, 34, 0.15);
}
#top-features .features-list-box-ttl {
  width: 100%;
  max-width: 710px;
  margin: 30px auto 0;
  padding: 8px 0;
  background: #b10014;
  border: 1px solid #cccccc;
  text-align: center;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 4rem;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 1.6;
  position: relative;
}
@media screen and (max-width: 768px) {
  #top-features .features-list-box-ttl {
    font-size: 2rem;
  }
}
#top-features .features-list-voice {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
#top-features .features-list-voice li {
  width: 100%;
  max-width: 410px;
}
#top-features .features-list-voice li:nth-of-type(n+2) {
  max-width: 460px;
  margin-left: 40px;
  padding-left: 50px;
  border-left: 1px solid #cccccc;
}
#top-features .features-list-voice-illu {
  display: block;
  margin: auto;
}
#top-features .features-list-voice-txt {
  margin: 25px auto 0;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.15em;
  line-height: 1.33;
}
@media screen and (max-width: 768px) {
  #top-features .features-list-voice-txt {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  #top-features .features-list-voice-txt {
    height: 90px;
  }
}
#top-features .features-list-voice-name {
  text-align: right;
  color: #b10014;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  #top-features .features-list-voice-name {
    font-size: 1.5rem;
  }
}
#top-features .features-list-btn {
  margin: 30px auto 0;
}
#top-features .features-list-cont {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
}

/* top-benefits  PC
------------------------------------ */
#top-benefits {
  text-align: center;
}
#top-benefits .benefits-inner {
  position: relative;
}
#top-benefits .benefits-ttl {
  position: relative;
  z-index: 1;
}
#top-benefits .benefits-illu {
  position: absolute;
  right: -168px;
  bottom: 81px;
}
#top-benefits .benefits-box {
  width: 100%;
  max-width: 950px;
  margin: -30px auto 0;
  padding: 70px 0 65px 65px;
  background: #f6f4f4;
}
#top-benefits .benefits-box-ttl {
  margin: 46px auto 0;
  padding-top: 13.5px;
  padding-bottom: 13.5px;
  font-size: 2.5rem;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
}
@media screen and (max-width: 768px) {
  #top-benefits .benefits-box-ttl {
    font-size: 1.5rem;
  }
}
#top-benefits .benefits-box-list {
  display: flex;
  flex-wrap: wrap;
}
#top-benefits .benefits-box-list li {
  width: 100%;
  max-width: 390px;
  padding-left: 40px;
  padding-bottom: 3px;
  border-bottom: 1px solid #cccccc;
  background: url(../img/top/benefits-check.png) no-repeat left calc(100% + 1px);
  text-align: left;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #top-benefits .benefits-box-list li {
    font-size: 1.5rem;
  }
}
#top-benefits .benefits-box-list li:nth-of-type(2n) {
  margin-left: 45px;
}
#top-benefits .benefits-box-list li:nth-of-type(n+3) {
  margin-top: 21px;
}

/* top-bnr  PC
------------------------------------ */
#top-bnr .bnr-list {
  display: flex;
  justify-content: center;
}
#top-bnr .bnr-list-item {
  width: 100%;
  max-width: 450px;
  height: 582px;
}
#top-bnr .bnr-list-item:nth-of-type(n+2) {
  margin-left: 103px;
}
#top-bnr .bnr-list-link {
  display: block;
  width: 100%;
  height: 100%;
  box-shadow: 0px 12px 25px 0px rgba(34, 34, 34, 0.3);
  position: relative;
}
#top-bnr .bnr-list-link::before {
  content: "";
  width: 100px;
  height: 100px;
  background: url(../img/top/bnr-arw.png) no-repeat center #fff;
  border-radius: 50%;
  position: absolute;
  right: -27px;
  bottom: -27px;
  box-shadow: 0px 6px 8px 0px rgba(34, 34, 34, 0.15);
  transition: all 0.3s ease;
}
#top-bnr .bnr-list-link01 {
  background: url(../img/top/job.jpg) no-repeat center/cover;
}
#top-bnr .bnr-list-link02 {
  background: url(../img/top/career.jpg) no-repeat center/cover;
}
#top-bnr .bnr-list-link03 {
  background: url(../img/top/info.jpg) no-repeat center/cover;
}
#top-bnr .bnr-list-en {
  writing-mode: vertical-rl;
  position: absolute;
  right: -25px;
  top: -11px;
}
#top-bnr .bnr-list-en-txt {
  line-height: 0.87;
  font-family: "Poppins-SemiBoldItalic", sans-serif;
  font-size: 7.8rem;
  letter-spacing: 0;
  color: #b10014;
  text-shadow: 0px 6px 5px rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 768px) {
  #top-bnr .bnr-list-en-txt {
    font-size: 3.9rem;
  }
}
#top-bnr .bnr-list-en-txt02 {
  font-size: 8.4rem;
}
@media screen and (max-width: 768px) {
  #top-bnr .bnr-list-en-txt02 {
    font-size: 4.2rem;
  }
}
#top-bnr .bnr-list-en-txt03 {
  font-size: 10rem;
}
@media screen and (max-width: 768px) {
  #top-bnr .bnr-list-en-txt03 {
    font-size: 5rem;
  }
}
#top-bnr .bnr-list-ttl {
  color: #fff;
  line-height: 1;
  position: absolute;
  left: 26px;
  bottom: 45px;
}
#top-bnr .bnr-list-ttl-ja {
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 4rem;
  letter-spacing: 0.05em;
  text-shadow: 0px 6px 8px rgba(34, 34, 34, 0.15);
}
@media screen and (max-width: 768px) {
  #top-bnr .bnr-list-ttl-ja {
    font-size: 2rem;
  }
}
#top-bnr .bnr-list-ttl-txt {
  margin-top: 25px;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #top-bnr .bnr-list-ttl-txt {
    font-size: 1.5rem;
  }
}

/* com-entry  PC
------------------------------------ */
.com-entry {
  background: #b10014;
  position: relative;
}
.com-entry .entry-en {
  font-family: "Poppins-BoldItalic", sans-serif;
  font-size: 18rem;
  letter-spacing: 0;
  color: #fff;
  line-height: 1;
  position: absolute;
  left: 0;
  top: -26px;
}
@media screen and (max-width: 768px) {
  .com-entry .entry-en {
    font-size: 9rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1754px) {
  .com-entry .entry-en {
    font-size: 11rem;
  }
}
.com-entry .entry-ttl {
  text-align: center;
}
.com-entry .entry-ttl-fuki {
  padding: 7.5px 6px 7.6px 30px;
  position: absolute;
  top: 2px;
  left: calc(50% - 465px);
  transform: rotate(-9deg);
}
.com-entry .entry-ttl-fuki::before {
  border-width: 9px 5px 0px 6px;
  bottom: -9px;
}
.com-entry .entry-ttl-ja {
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 7rem;
  letter-spacing: 0;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .com-entry .entry-ttl-ja {
    font-size: 3.5rem;
  }
}
.com-entry .entry-flx {
  display: flex;
  margin: 60px auto 0;
  justify-content: space-between;
  align-items: center;
}
.com-entry .entry-list {
  display: flex;
}
.com-entry .entry-list li {
  width: 320px;
}
.com-entry .entry-list li:nth-of-type(n+2) {
  margin-left: 40px;
}
.com-entry .entry-list-btn {
  display: flex;
  width: 100%;
  height: 90px;
  background: url(../img/top/entry-arw.png) no-repeat calc(100% - 10px) center #fff;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  color: #010910;
  align-items: center;
  justify-content: center;
  box-shadow: 0px 6px 8px 0px rgba(34, 34, 34, 0.15);
}
@media screen and (max-width: 768px) {
  .com-entry .entry-list-btn {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .com-entry .entry-list-btn:hover {
    color: #b10014;
    background-position: calc(100% - 6px) center;
    opacity: 1;
  }
}
.com-entry .entry-list-btn::before {
  content: "";
  width: 25px;
  height: 18px;
  margin-right: 18px;
  background: url(../img/top/entry-mail.png) no-repeat center;
}
.com-entry .entry-list-btn.line::before {
  width: 35px;
  height: 35px;
  background: url(../img/top/entry-line.png) no-repeat center;
}
.com-entry .entry-note {
  width: 100%;
  max-width: 800px;
  margin: 45px auto 0;
  padding: 10px;
  text-align: center;
  background-color: #85000f;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #fff;
  box-shadow: 0px 6px 8px 0px rgba(34, 34, 34, 0.15);
}
@media screen and (max-width: 768px) {
  .com-entry .entry-note {
    font-size: 1.5rem;
  }
}

/* top-news  PC
------------------------------------ */
#top-news .news-bg {
  background: url(../img/top/news-deco.png) no-repeat left top;
}
#top-news .news-box {
  padding: 82px 0;
  background: #fff;
  position: relative;
  box-shadow: 0px 6px 8px 0px rgba(34, 34, 34, 0.15);
}
#top-news .news-box-bg {
  position: relative;
  z-index: 1;
}
#top-news .news-box-bg::before {
  content: "";
  width: 46.6%;
  height: 57.7%;
  background: #b10014;
  position: absolute;
  bottom: -30px;
  right: -30px;
  z-index: -1;
}
#top-news .news-box-flx {
  width: 100%;
  max-width: 1080px;
  margin: auto;
}
#top-news .news-left {
  padding-top: 25px;
}
#top-news .news-en {
  font-size: 12rem;
  position: absolute;
  left: -60px;
  top: -34px;
}
@media screen and (max-width: 768px) {
  #top-news .news-en {
    font-size: 6rem;
  }
}
#top-news .news-ja {
  color: #191919;
  font-size: 4.2rem;
}
@media screen and (max-width: 768px) {
  #top-news .news-ja {
    font-size: 2.1rem;
  }
}
#top-news .news-btn {
  margin-top: 235px;
}

/* =========================================

  sub layout  all

========================================= */
#career .breadcrumb li, #career .breadcrumb a, #staff .breadcrumb li, #staff .breadcrumb a, #contact .breadcrumb li, #contact .breadcrumb a, #complete .breadcrumb li, #complete .breadcrumb a, #news .breadcrumb li, #news .breadcrumb a, #privacy .breadcrumb li, #privacy .breadcrumb a, #site .breadcrumb li, #site .breadcrumb a, #e404 .breadcrumb li, #e404 .breadcrumb a {
  color: #191919;
}
#career .breadcrumb li::after, #career .breadcrumb a::after, #staff .breadcrumb li::after, #staff .breadcrumb a::after, #contact .breadcrumb li::after, #contact .breadcrumb a::after, #complete .breadcrumb li::after, #complete .breadcrumb a::after, #news .breadcrumb li::after, #news .breadcrumb a::after, #privacy .breadcrumb li::after, #privacy .breadcrumb a::after, #site .breadcrumb li::after, #site .breadcrumb a::after, #e404 .breadcrumb li::after, #e404 .breadcrumb a::after {
  color: #191919;
}

/* business  PC
------------------------------------ */
#business .about-ttl {
  text-align: center;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 7rem;
  letter-spacing: 0;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #business .about-ttl {
    font-size: 3.5rem;
  }
}
#business .about-ttl::after {
  background-color: #fff;
}
#business .about-ttl .sm {
  font-size: 6rem;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #business .about-ttl .sm {
    font-size: 3rem;
  }
}
#business .about-flx {
  margin: 40px auto 0;
}
#business .about-txt {
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 2.25;
}
@media screen and (max-width: 768px) {
  #business .about-txt {
    font-size: 1.5rem;
  }
}
#business .about-txt-box {
  width: 100%;
  max-width: 480px;
}
#business .main-ttl {
  text-align: center;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 7rem;
  letter-spacing: 0;
  color: #b10014;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #business .main-ttl {
    font-size: 3.5rem;
  }
}
#business .main-list {
  display: flex;
  margin: 40px auto 0;
  justify-content: space-between;
}
#business .main-list-img {
  box-shadow: 0px 12px 25px 0px rgba(34, 34, 34, 0.3);
}
#business .main-list-ttl {
  margin: 40px auto 0;
  text-align: center;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 4rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #business .main-list-ttl {
    font-size: 2rem;
  }
}
#business .main-note {
  margin: 45px auto 0;
  text-align: center;
  line-height: 2.3;
}
#business .main-note .ac {
  color: #b10014;
  font-size: 2.8rem;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #business .main-note .ac {
    font-size: 1.5rem;
  }
}
#business .problem {
  background: url(../img/business/q-bg.jpg) no-repeat center bottom/cover;
}
@media screen and (min-width: 1921px) {
  #business .problem {
    background: none;
    position: relative;
    z-index: 1;
  }
  #business .problem::before {
    content: "";
    width: 100%;
    height: 100%;
    margin: auto;
    background: url(../img/business/q-bg.jpg) no-repeat center/cover;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
    clip-path: polygon(0 210px, 100% 0, 100% calc(100% - 210px), 0% 100%);
  }
}
#business .problem-list {
  display: flex;
  margin: 40px auto 0;
  justify-content: space-between;
}
#business .problem-list-item {
  width: 340px;
  padding-bottom: 20px;
  padding-left: 44px;
  background: url(../img/business/q-check.png) no-repeat left 10px;
  border-bottom: 1px solid #fff;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 4rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #business .problem-list-item {
    font-size: 2rem;
  }
}
#business .problem-note {
  margin: 45px auto 0;
  text-align: center;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  line-height: 2.3;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #business .problem-note {
    font-size: 1.5rem;
  }
}
#business .flow-inner {
  padding: 60px 0 120px;
}
#business .flow-list {
  display: flex;
  margin: 35px auto 0;
  justify-content: space-between;
}
#business .flow-list-item {
  width: 100%;
  max-width: 240px;
}
#business .flow-list-item:nth-of-type(n+2) {
  position: relative;
}
#business .flow-list-item:nth-of-type(n+2)::before {
  content: "";
  width: 12px;
  height: 19px;
  background: url(../img/business/arrow.png) no-repeat center/contain;
  position: absolute;
  left: -26px;
  top: 108px;
}
#business .flow-list-illu {
  position: relative;
  box-shadow: 0px 6px 8px 0px rgba(34, 34, 34, 0.15);
  border-radius: 50%;
}
#business .flow-list-num {
  font-family: "Poppins-BoldItalic", sans-serif;
  font-size: 7rem;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  text-shadow: rgb(177, 0, 20) 1px 0px 0px, rgb(177, 0, 20) 0.540302px 0.841471px 0px, rgb(177, 0, 20) -0.416147px 0.909297px 0px, rgb(177, 0, 20) -0.989992px 0.14112px 0px, rgb(177, 0, 20) -0.653644px -0.756802px 0px, rgb(177, 0, 20) 0.283662px -0.958924px 0px, rgb(177, 0, 20) 0.96017px -0.279415px 0px;
  position: absolute;
  left: 0;
  top: 5px;
}
@media screen and (max-width: 768px) {
  #business .flow-list-num {
    font-size: 3.5rem;
  }
}
#business .flow-list-ttl {
  display: flex;
  height: 70px;
  margin: 20px auto 0;
  text-align: center;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 2.5rem;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: #b10014;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #business .flow-list-ttl {
    font-size: 1.5rem;
  }
}
#business .flow-list-txt {
  margin: 18px auto 0;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 1.77;
}
@media screen and (max-width: 768px) {
  #business .flow-list-txt {
    font-size: 1.5rem;
  }
}

/* career  PC
------------------------------------ */
#career .course {
  background: url(../img/career/flow-rb.png) no-repeat right calc(100% - 150px);
}
#career .course-txt {
  margin: 30px auto 0;
  text-align: center;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  #career .course-txt {
    font-size: 1.5rem;
  }
}
#career .course-txt .ac {
  color: #b10014;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #career .course-txt .ac {
    font-size: 1.5rem;
  }
}
#career .course-list {
  margin: 50px auto 0;
  padding-top: 39px;
  position: relative;
}
#career .course-list::before {
  content: "";
  width: 100%;
  height: calc(100% - 120px);
  background: #f8f6f6;
  clip-path: polygon(0 210px, 100% 0, 100% calc(100% - 210px), 0% 100%);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  #career .course-list::after {
    content: "";
    width: 44px;
    height: 2500px;
    margin: auto;
    background: url(../img/career/flow_border.png) no-repeat center top;
    position: absolute;
    top: -13px;
    left: 0;
    right: 0;
    pointer-events: none;
  }
}
#career .course-list-item {
  width: 100%;
  max-width: 1080px;
  margin: auto;
}
@media screen and (min-width: 768px) {
  #career .course-list-item:nth-of-type(2n-1) {
    text-align: right;
  }
  #career .course-list-item:nth-of-type(2) {
    margin-top: -270px;
  }
  #career .course-list-item:nth-of-type(3) {
    margin-top: -200px;
  }
  #career .course-list-item:nth-of-type(4) {
    margin-top: -200px;
  }
  #career .course-list-item:nth-of-type(5) {
    margin-top: -210px;
  }
  #career .course-list-item:nth-of-type(6) {
    margin-top: -180px;
  }
}
#career .course-list-contents {
  display: inline-block;
  text-align: center;
}
#career .course-list-contents02 {
  margin-left: 59px;
}
#career .course-list-contents02 .course-list-price {
  font-size: 6rem;
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  #career .course-list-contents02 .course-list-price {
    font-size: 3rem;
  }
}
#career .course-list-contents02 .course-list-price .ac {
  font-size: 9rem;
}
@media screen and (max-width: 768px) {
  #career .course-list-contents02 .course-list-price .ac {
    font-size: 4.5rem;
  }
}
#career .course-list-flx {
  margin: 50px auto 0;
}
#career .course-list-ttl {
  margin: 30px auto 0;
  padding: 10px 17px;
  font-size: 3rem;
  letter-spacing: 0.08em;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
}
@media screen and (max-width: 768px) {
  #career .course-list-ttl {
    font-size: 1.5rem;
  }
}
#career .course-list-ttl-lg {
  margin: 0;
  font-size: 4rem;
}
@media screen and (min-width: 768px) {
  #career .course-list-ttl-lg {
    padding: 14px 30px;
  }
}
@media screen and (max-width: 768px) {
  #career .course-list-ttl-lg {
    font-size: 2rem;
  }
}
#career .course-list-price {
  margin: 28px auto 0;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 5.2rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #career .course-list-price {
    font-size: 2.6rem;
  }
}
#career .course-list-price .ac {
  color: #b10014;
  font-size: 7rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #career .course-list-price .ac {
    font-size: 3.5rem;
  }
}
#career .course-list-price .sm {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  #career .course-list-price .sm {
    font-size: 2rem;
  }
}
#career .course-list-price .sm .ac {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  #career .course-list-price .sm .ac {
    font-size: 2rem;
  }
}
#career .course-list-txt {
  margin: 16px auto 0;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #career .course-list-txt {
    font-size: 1.5rem;
  }
}
#career .course-list-txt02 {
  margin-top: 22px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  #career .course-list-txt02 {
    font-size: 1.5rem;
  }
}

/* =========================================
  breakpoint
========================================= */
@media screen and (min-width: 768px) and (max-width: 1680px) {
  #top-bnr .bnr-list {
    width: 90%;
    margin: auto;
  }
  #top-bnr .bnr-list-item:nth-of-type(n+2) {
    margin-left: 25px;
  }
  #top-bnr .bnr-list-link::before {
    width: 70px;
    height: 70px;
    background-size: 10px;
  }
  #top-bnr .bnr-list-ttl-ja {
    font-size: 3rem;
  }
  #top-bnr .bnr-list-ttl-txt {
    font-size: 1.5rem;
  }
}
/* staff  PC
------------------------------------ */
#staff .real {
  padding-bottom: 78px;
  background: url(../img/staff/inside.png) no-repeat center calc(100% + 148px);
}
@media screen and (min-width: 768px) and (max-width: 1496px) {
  #staff .real {
    background-size: auto 630px;
    background-position-y: calc(100% + 123px);
  }
}
@media screen and (min-width: 1921px) {
  #staff .real {
    background-size: 100% 723px;
  }
}
#staff .real-list {
  display: flex;
  margin: 35px auto 0;
  justify-content: space-between;
}
#staff .real-list-item {
  text-align: center;
}
#staff .real-list-ttl {
  display: inline-block;
  padding: 0 30px;
  background: url(../img/staff/l.png) no-repeat left bottom, url(../img/staff/r.png) no-repeat right bottom;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 2.5rem;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #staff .real-list-ttl {
    font-size: 1.5rem;
  }
}
#staff .real-list-graph {
  margin: 27px auto 0;
}
#staff .real-en {
  margin: 100px auto 0;
  text-align: center;
  font-family: "Poppins-SemiBoldItalic", sans-serif;
  font-size: 17rem;
  letter-spacing: 0;
  color: #fff;
  line-height: 1;
  transform: rotate(-6.5deg);
}
@media screen and (max-width: 768px) {
  #staff .real-en {
    font-size: 8.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1496px) {
  #staff .real-en {
    font-size: 120px;
  }
}
#staff .staff-list {
  margin: 30px auto 0;
}
#staff .staff-list li:nth-of-type(n+2) {
  margin: 80px auto 0;
}
@media screen and (min-width: 768px) {
  #staff .staff-list li:nth-of-type(2) .staff-list-flx {
    padding-left: 75px;
  }
  #staff .staff-list li:nth-of-type(n+3) .staff-list-flx {
    padding-left: 0;
  }
}
#staff .staff-list-ttl {
  text-align: center;
  font-family: "NotoSansCJKjp-Bold", sans-serif;
  font-size: 4rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  #staff .staff-list-ttl {
    font-size: 2rem;
  }
}
#staff .staff-list-flx {
  margin: 25px auto 0;
}
@media screen and (min-width: 768px) {
  #staff .staff-list-flx {
    padding-left: 46px;
  }
}
#staff .staff-list-cont {
  width: 100%;
  max-width: 610px;
  background: #f6f4f4;
}
#staff .staff-list-dl {
  text-align: center;
}
#staff .staff-list-dl dt {
  width: 100%;
  padding: 12px;
  background: #191919;
  color: #fff;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 768px) {
  #staff .staff-list-dl dt {
    font-size: 1.5rem;
  }
}
#staff .staff-list-dl dt::before {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #191919 transparent transparent transparent;
  border-width: 12px 7px 0px 7px;
  bottom: -12px;
}
#staff .staff-list-dl dd {
  width: 100%;
  padding: 15px;
  font-family: "NotoSansCJKjp-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #staff .staff-list-dl dd {
    font-size: 1.5rem;
  }
}

/* info  PC
------------------------------------ */
#info .recruit-table {
  margin: 40px auto 0;
}
#info .company {
  padding-bottom: 128px;
}
#info .company-table {
  margin: 40px auto 0;
}
#info .company-table td {
  background-color: #f6f4f4;
}

/* contact  PC
------------------------------------ */
#contact .contact-txt {
  margin: 100px auto 0;
}

/* news  PC
------------------------------------ */
#news .detail .com-ttl03 {
  padding-bottom: 15px;
  line-height: 1.8;
}
#news .detail .news-post-flx {
  margin-top: 20px;
  border: none;
}
#news .detail .com-news-txt {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  #news .detail .com-news-txt {
    font-size: 1.5rem;
  }
}/*# sourceMappingURL=all.css.map */