/* keyVisual */
h1 {
  display: none;
}
/* .lazyloaded {
  background-size: cover;
  background-position: center;
} */
.keyVisual {
  background: url("../img/top/mv.webp") top / cover no-repeat;
  height: 750px;
  padding-top: 68px;
}
.keyVisual__inner {

  width: 1100px;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
.keyVisual__catch {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.keyVisual__catch-ttl {
  display: inline-block;
  background: rgb(0, 104, 182, 0.85);
  font-size: 54px;
  color: #fff;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  padding: 15px 20px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .keyVisual {
    background: url("../img/top/mv-sp.webp") top / cover no-repeat;
    margin-top: 90px;
    height: 100vh;
    max-width: 770px;
  }
  .keyVisual__catch {
    top: 69%;
  }
  .keyVisual__catch-ttl {
    font-size: 30px;
    padding: 10px;
    margin-bottom: 10px;
  }
}
/* about */
.about {
  overflow: hidden;
}
.about__inner {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
.about__contents {
  display: flex;
  justify-content: space-between;
}
.c-heading__ttlarea.about__ttl {
  text-align: left;
}
.about__maintxt {
  width: 50%;
  height: 100%;
  padding: 95px 55px;
}
.about__subtxt {
  font-size: 20px;
  margin-bottom: 17px;
}
.about__txt {
  text-align: justify;
}
.about__btn {
  margin-top: 50px;
}

@media only screen and (min-width: 768px) {
  .about__imgarea {
    background: url(../img/top/about-img.webp) no-repeat right center / cover;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 50%;
    box-sizing: border-box;
  }
}
@media only screen and (max-width: 767px) {
  .about__inner {
    padding: 55px 20px;
    width: auto;
  }
  .about__contents {
    display: block;
  }
  .about__maintxt {
    margin-right: 0;
    width: 100%;
    padding: 0;
  }
  .about__imgarea.sp {
    width: 100%;
  }
  .about__img {
    width: 100%;
  }
}
/* service */
.service__ttlarea {
  border-top: 3px solid #0068b6;
  border-bottom: 3px solid #0068b6;
  padding: 20px 0;
  margin-bottom: 20px;
}
.service__ttl {
  color: #0068b6;
  font-size: 20px;
  text-align: center;
  font-weight: 600;
}
.service__txtarea {
  margin-bottom: 30px;
}
.service__txt {
  text-align: justify;
}
.service__itemarea {
  margin-bottom: 50px;
}
.service__item {
  display: flex;
  justify-content: space-between;
}
.service__list {
  width: calc(100% / 3 - 18px);
}
.service__list-img {
  width: 100%;
  height: 168px;
  object-fit: cover;
}
.service__list-ttl {
  background: #d9e8f4;
  font-size: 20px;
  padding: 13px 0;
  text-align: center;
  margin-bottom: 15px;
  color: #0068b6;
  font-weight: 600;
}
.service__list {
  line-height: 1.6;
}
.service__list-txt {
  text-align: justify;
}
.service__btanarea {
  display: flex;
  justify-content: space-between;
  padding: 0 80px;
}

@media only screen and (max-width: 767px) {
  .keyVisual__inner {
    width: auto;
  }
  .service__item {
    display: block;
  }
  .service__list {
    width: 100%;
  }
  .service__list-img {
    height: 100%;
  }
  .service__list-txt {
    margin-bottom: 40px;
  }
  .service__btanarea {
    display: block;
    padding: 0;
  }
  .service__btanarea .c-btn {
    margin: 0 auto 30px;
  }
}

/* other-service */
.other-service__txtarea {
  margin-bottom: 30px;
}
.other-service__txt {
  text-align: justify;
}
.other-service__itemarea {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
.other-service__item {
  width: calc(50% - 25px);
}
.other-service__list {
  margin-bottom: 20px;
}
.other-service__list-img {
  width: 100%;
  height: 213px;
  object-fit: cover;
}
.other-service__list-ttl {
  margin-bottom: 30px;
  font-size: 20px;
  font-weight: 600;
  color: #0068b6;
}
.other-service__list-txt {
  margin-bottom: 30px;
}
.other-service__btnarea .c-btn {
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .other-service__itemarea {
    display: block;
    margin-bottom: 0;
  }
  .other-service__item {
    width: 100%;
    margin-bottom: 55px;
  }
  .other-service__item:nth-of-type(2) {
    margin-bottom: 30px;
  }
}

/* consultant */
.consultant {
  padding-top: 75px;
}

.consultant__text-area {
  display: grid;
  gap: 13px;
  grid-template-columns: calc(440 / 950 * 100%) 1fr;
  margin-top: 56px;
}

.consultant__img-box {
}

.consultant__img {
  aspect-ratio: 440/256;
  width: 100%;
  object-fit: cover;
}

.other-service__list-img {
}

.consultant__contents {
}

.consultant__items {
}

.consultant__item {
  font-size: 20px;
  color: #0068b6;
  margin-bottom: 4px;
  letter-spacing: 0.12rem;
  font-weight: 600;
}

.consultant__text {
  font-size: 15px;
  line-height: calc(30 / 15);
  letter-spacing: 0.06rem;
  margin-top: 15px;
  text-align: justify;
}

.consultant__btn {
  margin-top: 13px;
  width: 300px;
}

.c-btn-link {
}

@media only screen and (max-width: 767px) {
  .consultant__text-area {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
  .consultant__img {
    width: 100%;
  }
  .consultant__btn {
    width: 100%;
  }
}

/* actual */
.actual-achievement__list {
display: grid;
grid-template-columns: repeat(2,1fr);
gap: 70px;
}

.actual-achievement__image-box {
width: 100%;
height: 213px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #333;

}

.actual-achievement__image{
  aspect-ratio: 265/39;
  width: 132px;
 margin-inline: auto;
 display: block;
}

.actual-achievement__coming {
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
background: #ebebeb;
height: 213px;
}

.actual-achievement__company-name{
font-size: 20px;
letter-spacing: 0.1em;
margin: 23px 0 21px;
color: #0168b6;
font-weight: 600;
}

.actual-achievement__btn {
  margin-top: 27px;
}

.works-info__text-group {
}

.works-info__item {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 5px;
  margin-bottom: 9px;
  align-items: center;
}

.actual-achievement__box {
  .c-btn-link{
    width: 300px;
  }
}

.works-info__label {
  background: #0068b6;
  width: 107px;
  padding: 0 4px;
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 14px;
  box-sizing: border-box;
  line-height: 1.9;
  letter-spacing: 0.1em;
}

.works-info__content {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-family: "Inter", sans-serif;
}
.c-container.actual {
  padding-top: 78px;
  padding-bottom: 95px;
}
@media only screen and (max-width: 767px) {
  .c-container.actual {
    padding: 35px 0;
  }
  .actual-achievement__list {
    grid-template-columns: 1fr;
    gap: 70px;
  }
  .actual-achievement__btn {
    text-align: center;
  }
  .actual-achievement__btn .c-btn-link {
    display: inline-flex;
  }
}

/* info */ /* business */
.c-container.info {
  padding-top: 95px;
}
.info__ttlarea {
  background: #ebebeb;
  padding: 95px 0 10px;
}
.c-inner.infoarea,
.c-wrapper.infoarea,
.c-inner.businessarea,
.c-wrapper.businessarea {
  display: flex;
  justify-content: space-between;
}
.c-inner.infoarea {
  margin-bottom: 35px;
}
.c-wrapper.infoarea,
.c-wrapper.businessarea {
  padding: 95px 50px 85px;
  height: 100%;
}
.info__img,
.business__img {
  width: 240px;
}
.info__infottl,
.business__businessttl {
  position: relative;
}
.c-btn.info-btn,
.c-btn.business-btn {
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-heading__ttlarea.info__ttl,
.c-heading__ttlarea.business__ttl {
  text-align: left;
}
.info__itemarea,
.business__itemarea {
  width: 350px;
}
.info__list,
.business__list {
  padding: 30px 0;
  border-top: 1px solid #222;
}
.info__list:nth-last-of-type(1),
.business__list:nth-last-of-type(1) {
  border-bottom: 1px solid #222;
}
.info__date,
.business__date {
  color: #9b9b9c;
}
.info__txt,
.business__txt {
  margin-top: 10px;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .c-container.info {
    padding: 35px 10px;
  }
  .info__ttlarea {
    padding: 55px 0 10px;
  }
  .c-inner.infoarea,
  .c-wrapper.infoarea,
  .c-inner.businessarea,
  .c-wrapper.businessarea {
    padding: 55px 0;
    display: block;
  }
  .c-inner.infoarea,
  .c-inner.businessarea {
    padding: 0 20px;
  }
  .c-inner.infoarea {
    margin-bottom: 0;
  }
  .c-heading__ttlarea.info__ttl,
  .c-heading__ttlarea.business__ttl {
    text-align: center;
  }
  .info__item,
  .business__item {
    margin-bottom: 35px;
  }
  .info__itemarea,
  .business__itemarea {
    width: auto;
  }
  .c-btn.info-btn,
  .c-btn.business-btn {
    position: initial;
  }
  .info__imgarea.sp {
    margin-bottom: 35px;
  }
  .info__img.sp,
  .business__img.sp {
    width: 100%;
  }
}

/* partner */
.c-container.partner {
  padding-bottom: 95px;
}
.partner__txtarea {
  margin-bottom: 43px;
  text-align: center;
  line-height: 1.6;
}
.partner__txt {
  font-size: 20px;
  color: #0068b6;
  margin-bottom: 25px;
}
.partner__item {
  display: flex;
}
.partner__list {
  padding: 50px 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: auto;
  position: relative;
}
.partner__list::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}
.partner__list:nth-of-type(1) {
  background: url("../img/top/partner-img01.webp") top / cover no-repeat;
}
.partner__list:nth-of-type(2) {
  background: url("../img/top/partner-img02.webp") top / cover no-repeat;
}
.partner__list:nth-of-type(3) {
  background: url("../img/top/partner-img03.webp") top / cover no-repeat;
}
.partner__list-ttlarea {
  flex: 0 0 auto;
  margin-bottom: 35px;
  position: relative;
}
.partner__list-txtarea {
  flex: 1 0 auto;
  margin-bottom: 35px;
  position: relative;
}
.partner__list-ttl {
  color: #fff;
  font-size: 20px;
  text-align: center;
}
.partner__list-txt {
  text-align: justify;
  color: #fff;
}
.c-btn-white.partner {
  flex: 0 0 auto;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-container.partner .c-inner {
    padding: 0 20px 55px;
  }
  .partner__txtarea {
    margin-bottom: 0;
  }
  .partner__item {
    display: block;
  }
  .partner__list {
    margin-bottom: 25px;
  }
}

/* 20250129 - 追加 */

/**********
** cards
***********************************/
.cards {
  display: grid;
  row-gap: 40px;
}

.cards__card:nth-child(n+3) {
  margin-top: 15px;
}

@media(min-width: 768px) {
  .cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 54px 70px;
  }
}

/**********
** card
***********************************/

.card {
  /* display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 0; */
  display: flex;
  flex-direction: column;
}
.card__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.card__ttl {
  font-size: 20px;
  font-weight: 600;
  line-height: calc(24 / 20);
  letter-spacing: 0.1em;
  color: #0068B6;
  margin-top: 18px;
}

.card__ttl.--2 {
  letter-spacing: 0.07em;
}

.card__txt {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: justify;
  margin-top: 6px;
}

.card__lists {
  flex-grow: 1;
  margin-top: 7px;
}

.card__list {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.69;
  letter-spacing: 0;
  color: #0068B6;
  position: relative;
  padding-left: 22px;
}

.card__list.--ls {
  letter-spacing: 0.05em;
}

.card__list.--col2 {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.card__listItem {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.69;
  letter-spacing: 0;
  color: #0068B6;
}

.card__listItem.--icon {
  position: relative;
}

.card__list::before,
.card__listItem.--icon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background: url("../img/top/icon_check.svg") center / contain no-repeat;
}

.card__listItem.--icon::before {
  top: 2px;
  left: -22px;
}

.card__list + .card__list {
  margin-top: 10px;
}
.card__btn {
  margin-top: 20px;
}
.card__btn a {
  font-size: 15px;
  font-weight: 600;
  line-height: calc(18 / 15);
  display: inline-block;
  width: 300px;
  border: 3px solid #0068B6;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.card__btn a span {
  color: #0068B6;
  padding: 13px 15px 15px;
  display: inline-block;
  width: 100%;
  height: 100%;
}

.card__btn a:hover span {
  color: #fff;
  position: relative;
  z-index: 1;
}

.card__btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #0068b6;
  z-index: -1;
  transition: all 0.5s ease;
}

.card__btn a:hover::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #0068b6;
  z-index: 0;
  transition: all 0.5s ease;
  animation: slideBg 0.5s forwards;
}

@media(min-width: 768px) {
  .card__lists.--mt {
    margin-top: 36px;
  }
  .card__list,
  .card__listItem {
    font-size: 16px;
  }
  .card__listItem.--icon {
    padding-left: 22px;
  }
  .card__listItem.--icon::before {
    left: 2px;
  }
  .card__list.--col2 {
    flex-direction: row;
    gap: 14px;
  }
  .card__list::before {
    top: 3px;
  }
  .card__txt {
    margin-top: 9px;
  }
  .card__txt.--ls {
    letter-spacing: 0.174em;
  }
  .card__btn.--mt {
    margin-top: 22px;
  }
}
