@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: "nexa", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.en02 {
  font-family: "nexa", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.yakuhan {
  font-family: "YakuHanJP", "source-han-sans-japanese", sans-serif;
}

/*  企業理念・ビジョン philosophy
*----------------------------------- */
.page-philosophy .l-main {
  margin-bottom: -190px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-main {
    margin-bottom: -61.4vw;
  }
}
.page-philosophy .list-page__header__subtitle span {
  color: #008AC8 !important;
}
.page-philosophy .l-philosophy {
  margin-top: 92px;
  position: relative;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy {
    margin-top: 12.05vw;
  }
}
.page-philosophy .l-philosophy__container {
  display: flex;
  margin-bottom: 27px;
  border-top: 2px solid #008AC8;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__container {
    flex-direction: column;
    margin-bottom: 6.7vw;
  }
}
.page-philosophy .l-philosophy__container:first-child {
  border-top: none;
}
.page-philosophy .l-philosophy__container:nth-child(2) .l-philosophy__info {
  margin-top: 37px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__container:nth-child(2) .l-philosophy__info {
    margin-top: 10.6vw;
  }
}
.page-philosophy .l-philosophy__container:nth-child(2) .l-philosophy__definition {
  padding-top: 44px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__container:nth-child(2) .l-philosophy__definition {
    padding-top: 4.7vw;
  }
}
.page-philosophy .l-philosophy__container:nth-child(2) .l-philosophy__text {
  margin-top: 23px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__container:nth-child(2) .l-philosophy__text {
    margin-top: 2vw;
  }
}
.page-philosophy .l-philosophy__container:nth-child(3) .l-philosophy__info {
  margin-top: 37px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__container:nth-child(3) .l-philosophy__info {
    margin-top: 10.7vw;
  }
}
.page-philosophy .l-philosophy__container:nth-child(3) .l-philosophy__definition {
  padding-top: 44px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__container:nth-child(3) .l-philosophy__definition {
    padding-top: 4.7vw;
  }
}
.page-philosophy .l-philosophy__container:nth-child(3) .l-philosophy__catch {
  line-height: 1.5;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__container:nth-child(3) .l-philosophy__catch {
    line-height: 1.42;
  }
}
.page-philosophy .l-philosophy__container:nth-child(3) .l-philosophy__text {
  margin-top: 36px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__container:nth-child(3) .l-philosophy__text {
    margin-top: 3vw;
  }
}
.page-philosophy .l-philosophy__info {
  width: 30%;
}
.page-philosophy .l-philosophy__title {
  text-align: left !important;
  color: #222222 !important;
  font-size: 60px;
  letter-spacing: 0;
  margin-bottom: -11px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__title {
    font-size: 10.76vw;
  }
}
.page-philosophy .l-philosophy__title span {
  color: #008AC8;
}
.page-philosophy .l-philosophy__subtitle {
  font-size: 20px;
  font-weight: 700;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__subtitle {
    font-size: 4.6vw;
    margin-top: 2.1vw;
  }
}
.page-philosophy .l-philosophy__definition {
  width: 70%;
  padding: 19px 20px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__definition {
    padding: 4.7vw 0;
    width: 100%;
  }
}
.page-philosophy .l-philosophy__catch {
  font-size: 36px;
  font-weight: 700;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__catch {
    font-size: 7.17vw;
    line-height: 1.42;
  }
}
.page-philosophy .l-philosophy__text {
  text-align: left !important;
  font-size: 20px;
  font-weight: 500;
  margin-top: 17px;
  line-height: 2;
  letter-spacing: 0;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy__text {
    font-size: 4.1vw;
    margin-top: 2.1vw;
  }
}
.page-philosophy .l-philosophy::before {
  z-index: 0;
  position: absolute;
  bottom: 137px;
  right: -70px;
  margin: auto;
  content: "";
  background: url(../../../philosophy/images/img_philosophy01.png) center no-repeat;
  background-size: contain;
  width: 232px;
  height: 100%;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy::before {
    bottom: 601px;
    right: -41px;
    width: 139.3px;
    height: 197px;
  }
}
.page-philosophy .l-philosophy::after {
  z-index: 0;
  position: absolute;
  top: 377px;
  left: -26px;
  margin: auto;
  content: "";
  background: url(../../../philosophy/images/img_philosophy02.png) center no-repeat;
  background-size: contain;
  width: 246px;
  height: 100%;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-philosophy::after {
    top: 626px;
    left: 214px;
    width: 178.08px;
    height: 154.4px;
  }
}
.page-philosophy .l-pyramid {
  margin-top: 96px;
  padding: 90px 120px;
  background-color: #008AC8;
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-pyramid {
    padding: 11.4% 5.7%;
    margin-top: 14.6vw;
  }
}
.page-philosophy .l-pyramid__container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.page-philosophy .l-pyramid__image {
  width: 100%;
}
.page-philosophy .l-pyramid__image img {
  display: block;
  width: 100%;
  height: auto;
}
.page-philosophy .l-vision {
  margin-top: 115px;
  position: relative;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision {
    margin-top: 24.3vw;
  }
}
.page-philosophy .l-vision .p-item {
  position: relative;
}
.page-philosophy .l-vision .p-item__info {
  text-align: center;
}
.page-philosophy .l-vision .p-item__title {
  font-size: 104px;
  font-weight: 700;
  margin-bottom: 23px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-item__title {
    font-size: 13.84vw;
    margin-bottom: 3vw;
  }
}
.page-philosophy .l-vision .p-item__title span {
  color: #F25552;
}
.page-philosophy .l-vision .p-item__subtitle {
  font-size: 36px;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 25px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-item__subtitle {
    font-size: 6.15vw;
    margin-bottom: 3.1vw;
  }
}
.page-philosophy .l-vision .p-item__subtitle span {
  color: #F25552;
}
.page-philosophy .l-vision .p-item__subtitle.icon {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 30px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-item__subtitle.icon {
    gap: 2vw;
    margin: 6vw 0 5vw;
  }
}
.page-philosophy .l-vision .p-item__subtitle.icon .p-item__icon {
  width: 100%;
}
.page-philosophy .l-vision .p-item__subtitle.icon .p-item__icon img {
  width: 60px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-item__subtitle.icon .p-item__icon img {
    width: 11vw;
  }
}
.page-philosophy .l-vision .p-item__text {
  line-height: 2;
  font-size: 20px;
  margin-bottom: 21px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-item__text {
    font-size: 4.1vw;
    text-align: left !important;
  }
}
.page-philosophy .l-vision .p-item__vision {
  font-size: 36px;
  font-weight: 700;
  color: #fff;
  padding: 1px 21px 7px 8px;
  background: #F25552;
  width: fit-content;
  margin: 0 auto;
  margin-top: 37px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-item__vision {
    margin-top: 7vw;
    font-size: 7.17vw;
    line-height: 1.28;
    padding: 3.1vw 2vw 3.1vw 2vw;
  }
}
.page-philosophy .l-vision .p-2030 {
  margin-bottom: 226px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-2030 {
    margin-bottom: 29.5vw;
  }
}
.page-philosophy .l-vision .p-2030::before {
  z-index: -2;
  position: absolute;
  top: -60px;
  left: 300px;
  margin: auto;
  content: "";
  background: url(../../../philosophy/images/img_vision01.png) center no-repeat;
  background-size: contain;
  width: 568.03px;
  height: 651.9px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-2030::before {
    top: -42px;
    left: -19px;
    width: 390px;
    height: 447.58px;
  }
}
.page-philosophy .l-vision .p-2040 {
  margin-bottom: 226px;
}
.page-philosophy .l-vision .p-2040::before {
  z-index: -2;
  position: absolute;
  top: 52px;
  right: 0px;
  margin: auto;
  content: "";
  background: url(../../../philosophy/images/img_vision02.png) center no-repeat;
  background-size: contain;
  width: 1200px;
  height: 424px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision .p-2040::before {
    top: -60px;
    right: -110px;
    width: 570px;
    height: 380px;
  }
}
.page-philosophy .l-vision::before {
  z-index: 1000;
  position: absolute;
  top: 490px;
  left: 561px;
  margin: auto;
  content: "";
  background: url(../../../philosophy/images/arrow-down.svg) center no-repeat;
  background-size: contain;
  width: 79px;
  height: 136px;
}
@media print, screen and (max-width: 760px) {
  .page-philosophy .l-vision::before {
    top: 137vw;
    left: 50%;
    transform: translate(-50%, 0);
    width: 57px;
    height: 168px;
  }
}
/*  事業紹介 businesses
*----------------------------------- */
@media print, screen and (max-width: 760px) {
  .page-business .l-main {
    padding-bottom: 25.5%;
  }
}
.page-business .list-page__header__title {
  margin-top: 2.7vw;
}
.page-business .list-page__header__subtitle span {
  color: #008AC8 !important;
}
.page-business .list-page__list {
  position: relative;
}
.page-business .list-page__list .l-business {
  max-width: 1200px;
  width: 100%;
  margin-bottom: 118px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-business {
    margin-bottom: 23.4vw;
  }
}
.page-business .list-page__list .l-business__container {
  border: none;
  padding-top: 78px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-business__container {
    padding-top: 14.6vw;
  }
}
.page-business .list-page__list .l-business__container .p-item__info {
  text-align: center;
  width: 100%;
}
.page-business .list-page__list .l-business__container .p-item__title {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.12;
  margin-bottom: 29px;
}
.page-business .list-page__list .l-business__container .p-item__title span {
  color: #008AC8;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-business__container .p-item__title {
    font-size: 9.23vw;
    margin-bottom: 5.1vw;
  }
}
.page-business .list-page__list .l-business__container .p-item__text {
  line-height: 2;
  font-size: 20px;
  margin-bottom: 21px;
  letter-spacing: 0;
  font-weight: 500;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-business__container .p-item__text {
    font-size: 4.1vw;
    text-align: left !important;
  }
}
.page-business .list-page__list .l-business__container .p-item__vision {
  font-size: 36px;
  font-weight: 700;
  color: #fff;
  padding: 1px 21px 7px 8px;
  background: #008AC8;
  width: fit-content;
  margin: 0 auto;
  margin-top: 37px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-business__container .p-item__vision {
    margin-top: 6.8vw;
    font-size: 7.17vw;
    line-height: 1.28;
    padding: 3vw 2vw 3.1vw 2vw;
  }
}
.page-business .list-page__list .l-business::before {
  z-index: -2;
  position: absolute;
  top: -1px;
  right: 0px;
  margin: auto;
  content: "";
  background: url(../../../business/images/mv.png) center no-repeat;
  background-size: contain;
  width: 1200px;
  height: 424px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-business::before {
    top: -77px;
    right: -109px;
    width: 570px;
    height: 380px;
  }
}
.page-business .list-page__list .l-group {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
.page-business .list-page__list .l-group__container ul.list {
  list-style: none;
  padding-left: 0;
  margin-top: 4px;
}
.page-business .list-page__list .l-group__container ul.list li {
  position: relative;
  padding-left: 16px;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container ul.list li {
    font-size: 4.1vw;
  }
}
.page-business .list-page__list .l-group__container ul.list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: #F25552;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container ul.list li::before {
    left: 0.06em;
    top: 0.7em;
    width: 0.7em;
    height: 0.7em;
  }
}
.page-business .list-page__list .l-group__container .l-group__title {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 36px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__title {
    font-size: 7.17vw;
    line-height: 1.28;
    margin-bottom: 6.9vw;
  }
}
.page-business .list-page__list .l-group__container .l-group__name {
  font-size: 32px;
  font-weight: 700;
  color: #F25552;
  border-top: 2px solid #F25552;
  border-bottom: 2px solid #F25552;
  text-align: center;
  padding-top: 6px;
  padding-bottom: 9px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__name {
    font-size: 6.15vw;
    padding-top: 9px;
    padding-bottom: 10px;
  }
}
.page-business .list-page__list .l-group__container .l-group__p-item {
  display: flex;
  justify-content: space-between;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__p-item {
    flex-direction: column;
  }
}
.page-business .list-page__list .l-group__container .l-group__tit {
  font-size: 24px;
  font-weight: 700;
  color: #F25552;
  margin-top: 27px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__tit {
    font-size: 5.12vw;
    margin-top: 7vw;
  }
}
.page-business .list-page__list .l-group__container .l-group__txt {
  font-size: 20px;
  font-weight: 500;
  margin-top: 7px;
  margin-bottom: 35px;
  line-height: 1.8;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__txt {
    font-size: 4.61vw;
    margin-bottom: 0;
  }
}
.page-business .list-page__list .l-group__container .l-group__image {
  width: 42.6%;
  display: flex;
  flex-direction: column;
  padding-top: 31px;
  row-gap: 8px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__image {
    width: 100%;
    padding-top: 6.8vw;
    row-gap: 2vw;
  }
}
.page-business .list-page__list .l-group__container .l-group__info.info01 {
  margin-bottom: 119px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__info.info01 {
    margin-bottom: 20.4vw;
  }
}
.page-business .list-page__list .l-group__container .l-group__info.info02 {
  margin-bottom: 81px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__info.info02 {
    margin-bottom: 18.5vw;
  }
}
.page-business .list-page__list .l-group__container .l-group__info.info02 .l-group__name {
  color: #FFA519;
  border-top: 2px solid #FFA519;
  border-bottom: 2px solid #FFA519;
}
.page-business .list-page__list .l-group__container .l-group__info.info02 .l-group__tit {
  color: #FFA519;
}
.page-business .list-page__list .l-group__container .l-group__info.info03 {
  margin-bottom: 118px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__info.info03 {
    margin-bottom: 20.5vw;
  }
}
.page-business .list-page__list .l-group__container .l-group__info.info03 .l-group__name {
  color: #008AC8;
  border-top: 2px solid #008AC8;
  border-bottom: 2px solid #008AC8;
}
.page-business .list-page__list .l-group__container .l-group__info.info03 .l-group__tit {
  color: #008AC8;
  margin-top: 33px;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__info.info03 .l-group__tit {
    margin-top: 7vw;
  }
}
.page-business .list-page__list .l-group__container .l-group__info.info03 .l-group__image {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding-top: 30px;
  width: 45%;
}
@media print, screen and (max-width: 760px) {
  .page-business .list-page__list .l-group__container .l-group__info.info03 .l-group__image {
    width: 100%;
    column-gap: 4.8vw;
  }
}
.page-business .list-page__list .l-group__container .l-group__info.info03 .l-group__image .img_logo {
  max-width: 221px;
  height: auto;
  object-fit: contain;
}
.page-business .list-page__list .l-group__container .l-group__info.info03 .l-group__image .img_cat {
  max-width: 225px;
  height: auto;
  object-fit: contain;
}
.page-business .list-page__list .l-group__container .l-group__info.info04 {
  margin-bottom: 17px;
}
.page-business .list-page__list .l-group__container .l-group__info.info04 .l-group__name {
  color: #5ABAAF;
  border-top: 2px solid #5ABAAF;
  border-bottom: 2px solid #5ABAAF;
}
.page-business .list-page__list .l-group__container .l-group__info.info04 .l-group__tit {
  color: #5ABAAF;
}

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