@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/*	com parts  PC
------------------------------------ */
.sns-none {
  display: none !important;
}

.over {
  overflow: hidden;
}

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

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

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

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

.com-anchor {
  scroll-margin-top: 120px; /* ヘッダーの高さ分 */
}

.nowrap {
  white-space: nowrap;
}

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

@media screen and (min-width: 768px) {
  .com-txt-box p:nth-of-type(n+2) {
    margin-top: 55px;
  }
}

.marker {
  position: relative;
  z-index: 1;
}
.marker::before {
  display: block;
  width: 100%;
  height: 14px;
  background: rgba(113, 186, 47, 0.3);
  border-radius: 5.5px;
  position: absolute;
  bottom: -5px;
  left: 0;
  z-index: -1;
  content: "";
}

.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;
}

.clamp4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

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

.com-noimage {
  background: url(../img/top/logo.png) no-repeat center rgba(22, 30, 36, 0.1);
  background-size: clamp(48px, 65%, 209px);
}

/*  共通パーツ
------------------------------------ */
.com-tel {
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .com-tel {
    font-size: 1.5rem;
  }
}
.com-tel {
  letter-spacing: 0.07em;
  color: #fff;
  line-height: 1;
}
.com-tel .num {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .com-tel .num {
    font-size: 1.5rem;
  }
}
.com-tel .num {
  letter-spacing: 0.07em;
}

.news-post {
  width: 100%;
  border-top: 1px solid #d4d4d4;
  border-bottom: 1px solid #d4d4d4;
}
.news-post-item {
  width: 100%;
}
.news-post-item:nth-of-type(n+2) {
  border-top: 1px solid #d4d4d4;
}
.news-post-link {
  display: block;
  padding: 48px 0 43px;
}
.news-post-time {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .news-post-time {
    font-size: 1.5rem;
  }
}
.news-post-time {
  letter-spacing: 0.06em;
  line-height: 1;
  flex-shrink: 0;
}
.news-post-tag {
  display: flex;
  margin-left: 26px;
  align-items: flex-start;
  flex-wrap: wrap;
  line-height: 1.1;
}
.news-post-tag-txt {
  margin: 0 8px 8px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .news-post-tag-txt {
    font-size: 1.5rem;
  }
}
.news-post-tag-txt {
  letter-spacing: 0.1em;
  color: #11324e;
  line-height: 1.1;
}
.news-post-ttl {
  margin-top: 17px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .news-post-ttl {
    font-size: 1.5rem;
  }
}
.news-post-ttl {
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.news-post-time, .news-post-tag-txt, .news-post-ttl {
  transition: all 0.3s ease;
}

.com-tag {
  display: flex;
  width: 100%;
  margin: 35px auto 0;
  flex-wrap: wrap;
}
.com-tag-item {
  margin: 0 17px 17px 0;
  cursor: pointer;
  transition: all 0.3s ease;
}
.com-tag-item:hover {
  opacity: 0.7;
}
.com-tag-item.current p {
  background-color: #161e24;
  border-color: #161e24;
}
.com-tag-link {
  min-width: 200px;
  padding: 18px 25px;
  border: 4px solid #fff;
  background: #11324e;
  text-align: center;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .com-tag-link {
    font-size: 1.5rem;
  }
}
.com-tag-link {
  letter-spacing: 0;
  color: #fff;
  line-height: 1.5;
}

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

  main layout  all

========================================= */
/* top-message  PC
------------------------------------ */
#top-message {
  padding-bottom: 190px;
  background: url(../img/top/message-bg.png) no-repeat center top/cover;
}
#top-message .message-map {
  margin-top: -10px;
  transform: translateX(-50px);
}
#top-message .message-right {
  width: 100%;
  max-width: 430px;
}
#top-message .message-txt {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  #top-message .message-txt {
    font-size: 1.5rem;
  }
}
#top-message .message-txt {
  letter-spacing: 0.1em;
}
#top-message .message-btn {
  margin-top: 83px;
}

/* top-business  PC
------------------------------------ */
#top-business {
  background: #fff;
  position: relative;
}
#top-business .business-img {
  position: absolute;
  right: calc(50% - 677px);
  top: -90px;
}
@media screen and (max-width: 1384px) {
  #top-business .business-img {
    right: 20px;
  }
}
#top-business .business-ttl {
  width: 100%;
  max-width: 1080px;
  margin: auto;
}
#top-business .business-list {
  margin: 152px auto 0;
}
#top-business .business-list-item:nth-of-type(n+2) {
  margin: 180px auto 0;
}
#top-business .business-list-img {
  width: 45.8%;
  height: 700px;
  position: relative;
}
#top-business .business-list-con {
  width: 100%;
  max-width: 460px;
  margin-left: 160px;
}
#top-business .business-list-con02 {
  margin: 0 160px 0 0;
}
#top-business .business-list-ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  #top-business .business-list-ttl {
    font-size: 1.75rem;
  }
}
#top-business .business-list-ttl {
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#top-business .business-list-txt {
  margin-top: 35px;
  line-height: 2.1;
}
#top-business .business-list-anchor {
  border-top: 1px solid #d4d4d4;
  border-bottom: 1px solid #d4d4d4;
  margin-top: 67px;
}
#top-business .business-list-anchor li:nth-of-type(n+2) {
  border-top: 1px solid #d4d4d4;
}
#top-business .business-list-anchor a {
  display: block;
  padding: 43px 0;
  background: url(../img/top/business-arw.png) no-repeat center right;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  #top-business .business-list-anchor a {
    font-size: 1.5rem;
  }
}
#top-business .business-list-anchor a {
  letter-spacing: 0.1em;
  color: #161e24;
  line-height: 1;
}

/* top-cases  PC
------------------------------------ */
#top-cases {
  background: #f1f3f5;
}
#top-cases .cases-list {
  margin: 80px auto 0;
}
#top-cases .cases-list-item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #top-cases .cases-list-item {
    max-width: 320px;
  }
  #top-cases .cases-list-item:not(:nth-of-type(3n-2)) {
    margin-left: 58px;
  }
}
#top-cases .cases-list-img {
  width: 100%;
  height: 0;
  padding-top: 103.125%;
  position: relative;
}
#top-cases .cases-list-ttl {
  margin: 20px auto 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  #top-cases .cases-list-ttl {
    font-size: 1.5rem;
  }
}
#top-cases .cases-list-ttl {
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#top-cases .cases-btn {
  max-width: 300px;
}

/* top-recruit  PC
------------------------------------ */
#top-recruit {
  background: url(../img/top/rrecruit-img-pc.jpg) no-repeat center/cover, url(../img/top/recruit-en.png) no-repeat center bottom/100% #161e24;
}
@media screen and (min-width: 1921px) {
  #top-recruit {
    background-position-x: left, center;
  }
}
@media screen and (min-width: 768px) {
  #top-recruit {
    height: 1210px;
  }
}
#top-recruit .recruit-inner {
  padding-top: 205px;
}
#top-recruit .recruit-con {
  width: 100%;
  max-width: 500px;
  margin-left: auto;
}
#top-recruit .recruit-head .en, #top-recruit .recruit-head .ja {
  color: #fff;
}
#top-recruit .recruit-head .ja {
  margin-top: 30px;
}
#top-recruit .recruit-ttl {
  margin-top: 60px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  #top-recruit .recruit-ttl {
    font-size: 1.5rem;
  }
}
#top-recruit .recruit-ttl {
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.5;
}
#top-recruit .recruit-txt {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}
#top-recruit .recruit-txt-box {
  margin-top: 50px;
}
#top-recruit .recruit-txt-box p:nth-of-type(n+2) {
  margin-top: 25px;
}
#top-recruit .recruit-btn {
  background-position-x: calc(100% - 20px);
}
@media screen and (min-width: 768px) {
  #top-recruit .recruit-btn {
    background-position-x: calc(100% - 15px);
  }
}
#top-recruit .recruit-btn-wrap {
  margin-top: 70px;
}
#top-recruit .recruit-btn-item {
  width: 100%;
  max-width: 230px;
}

/* top-staff  PC
------------------------------------ */
#top-staff {
  background-color: #ffffff;
}
#top-staff .staff-btn {
  max-width: 300px;
}
#top-staff .staff-list {
  margin: 79px auto 0;
}
#top-staff .staff-list-item {
  width: 100%;
  max-width: 320px;
}
#top-staff .staff-list-item:not(:nth-of-type(3n-2)) {
  margin-left: 59px;
}
#top-staff .staff-list-img {
  width: 100%;
  height: 0;
  padding-top: 134.375%;
  position: relative;
}
#top-staff .staff-list-ttl {
  margin: 17px auto 0;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  #top-staff .staff-list-ttl {
    font-size: 1.5rem;
  }
}
#top-staff .staff-list-ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

/* com-contact  PC
------------------------------------ */
.com-contact {
  background: url(../img/top/contact-bg.jpg) no-repeat center/cover;
  position: relative;
  z-index: 0;
}
.com-contact::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  background: rgba(22, 30, 36, 0.65);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.com-contact .contact-inner {
  position: relative;
}
.com-contact .contact-only {
  display: none;
}
@media screen and (min-width: 758px) and (max-width: 1457px) {
  .com-contact .contact-only {
    display: block;
  }
}
.com-contact .contact-img {
  position: absolute;
  top: 213px;
  right: -152px;
}
@media screen and (max-width: 1457px) {
  .com-contact .contact-img {
    right: -15px;
  }
}
.com-contact .contact-txt {
  margin-top: 53px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .com-contact .contact-txt {
    font-size: 1.5rem;
  }
}
.com-contact .contact-txt {
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.com-contact .contact-list {
  margin-top: 70px;
}
.com-contact .contact-list-item:nth-of-type(n+2) {
  width: 100%;
  max-width: 360px;
  margin-left: 57px;
}
.com-contact .contact-list-tel {
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .com-contact .contact-list-tel {
    font-size: 1.6rem;
  }
}
.com-contact .contact-list-tel .num {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .com-contact .contact-list-tel .num {
    font-size: 2rem;
  }
}
.com-contact .contact-list-btn {
  background-color: #8b0f0f;
}
@media screen and (min-width: 768px) {
  .com-contact .contact-list-btn {
    max-width: none;
  }
}

/* top-blog  PC
------------------------------------ */
#top-blog {
  background: #fff;
}
#top-blog .blog-btn {
  margin-top: 85px;
  padding-right: 47px;
  padding-bottom: 20px;
  border-bottom: 1px solid;
  background: url(../img/top/blog-arw.png) no-repeat right 5px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  #top-blog .blog-btn {
    font-size: 1.5rem;
  }
}
#top-blog .blog-btn {
  letter-spacing: 0.06em;
  color: #11324e;
  line-height: 1;
}
#top-blog .news-post {
  width: 100%;
  max-width: 590px;
}

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

  sub layout  all

========================================= */
/* reason  PC
------------------------------------ */
#reason .business-list {
  margin: 95px auto 0;
}
#reason .business-list-item {
  position: relative;
}
#reason .business-list-item::before {
  content: "";
  display: block;
  width: 1600px;
  height: 674px;
  background-color: #f1f3f5 !important;
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  #reason .business-list-item:nth-of-type(1) {
    height: 706px;
  }
  #reason .business-list-item:nth-of-type(1)::before {
    height: 706px;
  }
  #reason .business-list-item:nth-of-type(2) {
    height: 625px;
  }
  #reason .business-list-item:nth-of-type(2)::before {
    height: 625px;
  }
  #reason .business-list-item:nth-of-type(3) {
    height: 667px;
  }
  #reason .business-list-item:nth-of-type(3)::before {
    height: 667px;
  }
  #reason .business-list-item:nth-of-type(4) {
    height: 619px;
  }
  #reason .business-list-item:nth-of-type(4)::before {
    height: 619px;
  }
  #reason .business-list-item:nth-of-type(5) {
    height: 677px;
  }
  #reason .business-list-item:nth-of-type(5)::before {
    height: 677px;
  }
  #reason .business-list-item:nth-of-type(2n-1)::before {
    right: -420px;
  }
  #reason .business-list-item:nth-of-type(2n)::before {
    left: -420px;
  }
}
#reason .business-list-item:nth-of-type(n+2) {
  margin: 116px auto 0;
}
#reason .business-list-item:nth-of-type(2n)::before {
  background-color: transparent !important;
}
#reason .business-list-item:nth-of-type(2n) .business-list-con {
  width: 100%;
  max-width: 640px;
  margin-left: auto;
}
#reason .business-list-item:nth-of-type(1)::before {
  background: url(../img/reason/business-img01.png) no-repeat right top;
  top: 0;
}
#reason .business-list-item:nth-of-type(2)::before {
  background: url(../img/reason/business-img02.png) no-repeat left top;
  top: 0;
}
#reason .business-list-item:nth-of-type(3)::before {
  background: url(../img/reason/business-img03.png) no-repeat right top;
  top: 0;
}
#reason .business-list-item:nth-of-type(4)::before {
  background: url(../img/reason/business-img04.png) no-repeat left top;
  top: 0;
}
#reason .business-list-item:nth-of-type(5)::before {
  background: url(../img/reason/business-img05.png) no-repeat right top;
  top: 0;
}
#reason .business-list-con {
  padding-top: 80px;
}
#reason .business-list-ttl {
  display: flex;
  align-items: center;
}
#reason .business-list-ttl .num {
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 7rem;
}
@media screen and (max-width: 768px) {
  #reason .business-list-ttl .num {
    font-size: 3.5rem;
  }
}
#reason .business-list-ttl .num {
  letter-spacing: 0.06em;
  color: #11324e;
  line-height: 1;
}
#reason .business-list-ttl .ja {
  margin-left: 35px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  #reason .business-list-ttl .ja {
    font-size: 1.75rem;
  }
}
#reason .business-list-ttl .ja {
  letter-spacing: 0.1em;
  color: #161e24;
  line-height: 1.5;
}
#reason .business-list-ttl-sub {
  display: inline-block;
  padding: 20px 20px 20px 40px;
  margin-top: 42px;
  background: #11324e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  #reason .business-list-ttl-sub {
    font-size: 1.75rem;
  }
}
#reason .business-list-ttl-sub {
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.7;
}
#reason .business-list-txt {
  width: 100%;
  max-width: 614px;
  margin-top: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  #reason .business-list-txt {
    font-size: 1.5rem;
  }
}
#reason .business-list-txt {
  letter-spacing: 0.1em;
  line-height: 2.7;
}

/* business  PC
------------------------------------ */
#business .business-bg {
  margin: 80px auto 0;
}
#business .business-bg01 {
  background: url(../img/business/painting-en.png) no-repeat center top;
}
#business .business-bg02 {
  background: url(../img/business/sand-en.png) no-repeat center top;
}
#business .business-flx {
  display: flex;
  width: 100%;
  max-width: 1080px;
  margin: auto;
  padding-top: 65px;
  justify-content: space-between;
  align-items: flex-start;
}
#business .business-flx-ttl {
  padding-top: 60px;
  color: #fff;
  line-height: 1;
}
#business .business-flx-ttl .ja {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  #business .business-flx-ttl .ja {
    font-size: 2rem;
  }
}
#business .business-flx-ttl .ja {
  letter-spacing: 0.1em;
}
#business .business-flx-ttl .en {
  margin-top: 50px;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  #business .business-flx-ttl .en {
    font-size: 1.75rem;
  }
}
#business .business-flx-ttl .en {
  letter-spacing: 0.06em;
}
#business .business-flx-txt {
  width: 100%;
  max-width: 540px;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  #business .business-flx-txt {
    font-size: 1.5rem;
  }
}
#business .business-flx-txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 2.36;
  color: #fff;
}
#business .business-list {
  max-width: 1280px;
  margin: 63px auto 0;
}
#business .business-list-item {
  display: flex;
  background: #f1f3f5;
}
#business .business-list-item:nth-of-type(n+2) {
  margin: 80px auto 0;
}
#business .business-list-con {
  width: 100%;
  max-width: 640px;
  padding: 75px 100px 0 50px;
  position: relative;
}
#business .business-list-ttl .en {
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  #business .business-list-ttl .en {
    font-size: 1.5rem;
  }
}
#business .business-list-ttl .en {
  letter-spacing: 0.06em;
  color: #11324e;
  position: relative;
}
#business .business-list-ttl .en::before {
  content: "";
  display: block;
  width: 38px;
  height: 1px;
  background: #11324e;
  position: absolute;
  left: -50px;
  top: 50%;
  transform: translateY(-50%);
}
#business .business-list-ttl .ja {
  margin-top: 60px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  #business .business-list-ttl .ja {
    font-size: 1.75rem;
  }
}
#business .business-list-ttl .ja {
  letter-spacing: 0.1em;
  line-height: 1.2;
}
#business .business-list-txt {
  margin-top: 19px;
}
#business .com-business {
  margin: 60px auto 0;
}
#business .sandblasting {
  margin: auto;
}
@media screen and (min-width: 768px) {
  #business .sandblasting {
    padding-bottom: 160px;
  }
}
#business .sandblasting .business-bg {
  margin: auto;
}
#business .sandblasting .business-inner {
  padding: 0;
}
#business .sandblasting .business-list-con {
  padding-left: 100px;
  padding-right: 100px;
  padding-bottom: 69px;
  max-width: none;
}
@media screen and (min-width: 768px) {
  #business .sandblasting .business-list-ttl .en::before {
    width: 72px;
    left: -100px;
  }
}
#business .cases-list {
  margin: 60px auto 0;
}
#business .cases-list-item {
  padding-bottom: 65px;
  border-bottom: 1px solid #d4d4d4;
}
#business .cases-list-item:nth-of-type(n+2) {
  margin: 60px auto 0;
}
#business .cases-list-ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  #business .cases-list-ttl {
    font-size: 1.5rem;
  }
}
#business .cases-list-ttl {
  letter-spacing: 0.1em;
  color: #161e24;
}
#business .cases-list-ba {
  margin: 20px auto 0;
  background: url(../img/business/case-arw.png) no-repeat center 250px;
}
#business .cases-list-ba .item {
  width: 100%;
  max-width: 474px;
}
#business .cases-list-ba .item:nth-of-type(n+2) {
  margin-left: 129px;
}
#business .cases-list-ba-ttl {
  width: 237px;
  text-align: center;
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  #business .cases-list-ba-ttl {
    font-size: 1.5rem;
  }
}
#business .cases-list-ba-ttl {
  letter-spacing: 0.06em;
  color: #fff;
  line-height: 1.7;
}
#business .cases-list-ba-ttl.before {
  background: #11324e;
}
#business .cases-list-ba-ttl.after {
  background: #8b0f0f;
}
#business .cases-list-ba-img {
  width: 100%;
  height: 0;
  padding-top: 100%;
  position: relative;
}
#business .cases-list-txt {
  margin: 23px auto 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  #business .cases-list-txt {
    font-size: 1.5rem;
  }
}
#business .cases-list-txt {
  letter-spacing: 0.1em;
  line-height: 2.3;
  white-space: pre-line;
}
#business .cases-list-inner {
  max-width: 1080px;
  margin: auto;
}

/* recruit  PC
------------------------------------ */
#recruit .why {
  background: url(../img/recruit/bg.png) no-repeat center bottom/cover;
}
#recruit .why-list {
  margin: 80px auto 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #recruit .why-list-item:not(:nth-of-type(3n-2)) {
    margin-left: 140px;
  }
  #recruit .why-list-item:nth-of-type(n+4) {
    margin-top: 60px;
  }
}
#recruit .why-list-ttl {
  margin: 23px auto 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  #recruit .why-list-ttl {
    font-size: 1.5rem;
  }
}
#recruit .why-list-ttl {
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#recruit .staff-list {
  margin: 65px auto 0;
}
#recruit .staff-list-item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #recruit .staff-list-item {
    max-width: 320px;
  }
  #recruit .staff-list-item:not(:nth-of-type(3n-2)) {
    margin-left: 58px;
  }
  #recruit .staff-list-item:nth-of-type(n+4) {
    margin-top: 63px;
  }
}
#recruit .staff-list-img {
  width: 100%;
  height: 0;
  padding-top: 134.375%;
  position: relative;
}
#recruit .staff-list-ttl {
  margin: 23px auto 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  #recruit .staff-list-ttl {
    font-size: 1.5rem;
  }
}
#recruit .staff-list-ttl {
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#recruit .careers-table {
  margin: 70px auto 0;
}

/* company  PC
------------------------------------ */
#company .message {
  background: url(../img/company/message.png) no-repeat center bottom/100% #161e24;
}
#company .message-flx {
  margin: 95px auto 0;
}
#company .message-con {
  width: 100%;
  max-width: 500px;
}
#company .message-name {
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  #company .message-name {
    font-size: 1.5rem;
  }
}
#company .message-name {
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1;
  align-items: center;
}
#company .message-name .sm {
  margin-left: 40px;
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  #company .message-name .sm {
    font-size: 1.5rem;
  }
}
#company .message-name .sm {
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  #company .message-ttl {
    padding-left: 100px;
  }
}
#company .message-ttl .en, #company .message-ttl .ja {
  color: #fff;
}
@media screen and (min-width: 768px) {
  #company .message-img {
    margin-left: 100px;
  }
}
#company .message-txt {
  color: #fff;
  line-height: 2.3;
}
#company .message-txt-box {
  margin-top: 30px;
}
#company .info-table {
  margin: 100px auto 0;
}

/* news  PC
------------------------------------ */
#news .com-news-item:nth-of-type(n+2) {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid #d4d4d4;
}

/* contact  PC
------------------------------------ */
#contact .about-con {
  margin: 60px auto 0;
  text-align: center;
}
#contact .about-tel {
  width: 100%;
  max-width: 752px;
  margin: 40px auto 0;
  padding: 38px 0;
  background: #f1f3f5;
  color: #161e24;
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  #contact .about-tel {
    font-size: 2rem;
  }
}
#contact .about-tel .num {
  font-size: 5rem;
}
@media screen and (max-width: 768px) {
  #contact .about-tel .num {
    font-size: 2.5rem;
  }
}
#contact .about-form {
  margin: 78px auto 0;
  padding: 80px 0;
  background: #f1f3f5;
}
#contact .contact-inner {
  padding-top: 0;
}
#contact .contact-form-table {
  margin: auto !important;
}
#contact .contact-form-table tr:nth-of-type(n+2) {
  border-top: 1px solid #d4d4d4;
}
#contact .contact-form-table th, #contact .contact-form-table td {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  #contact .contact-form-table th, #contact .contact-form-table td {
    font-size: 1.5rem;
  }
}
#contact .contact-form-table th, #contact .contact-form-table td {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}
#contact .contact-form-table td {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}
#contact .required-mark {
  width: auto;
  height: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #f92525;
  background: none;
  line-height: 1;
  float: none;
}

/* site  PC
------------------------------------ *//*# sourceMappingURL=all.css.map */