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

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

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

/* mobile */
.page-header {
  margin: 79px 0 40px;
  background-color: #FFEDED;
  text-align: center;
  display: flex;
  flex-flow: column;
  min-height: 158px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 20px;
}
@media (max-width: 767px) {
  .page-header {
    margin: 13.8461538462dvw 0 7.6923076923dvw;
    padding: 2.5641025641dvw 5.1282051282dvw;
    min-height: 30.2564102564dvw;
  }
}
.page-header__ttl {
  line-height: 1;
  display: block;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .page-header__ttl {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.page-header__en {
  margin-bottom: 10px;
  line-height: 1;
  order: -1;
  display: block;
  color: #F07B7E;
  font-size: 5.4rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .page-header__en {
    font-size: 33px;
    font-size: 8.4615384615dvw;
  }
}
.page-message .page-header {
  margin-bottom: 0;
}

.page-nav ol {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: wrap;
  gap: 19px;
}
@media (max-width: 767px) {
  .page-nav ol {
    gap: 4.6153846154dvw;
  }
}
.page-nav li {
  counter-increment: page-nav;
}
.page-nav li a {
  min-height: 67px;
  border-radius: 34px;
  border: 2px solid #9f9f9f;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 52px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  .page-nav li a {
    min-width: 341px;
  }
}
@media (max-width: 767px) {
  .page-nav li a {
    border: 0.5128205128dvw solid #9f9f9f;
    grid-template-columns: 8.9743589744dvw auto;
    gap: 7.1794871795dvw;
    padding: 2.5641025641dvw 13.3333333333dvw;
    font-size: 16px;
    font-size: 4.1025641026dvw;
    width: 87.4358974359dvw;
    min-height: 17.1794871795dvw;
  }
}
.page-nav li a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 17px;
  margin: auto;
  display: grid;
  place-content: center;
  margin: auto;
  content: counter(page-nav);
  width: 35px;
  height: 35px;
  border-radius: 50%;
  box-sizing: border-box;
  color: #fff;
  background-color: #F07B7E;
  font-size: 1.9rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
}
@media (max-width: 767px) {
  .page-nav li a::before {
    left: 4.358974359dvw;
    width: 8.9743589744dvw;
    height: 8.9743589744dvw;
    font-size: 19px;
    font-size: 4.8717948718dvw;
  }
}

.business-intro {
  margin: 80px 20px 183px;
}
@media (max-width: 767px) {
  .business-intro {
    margin: 12.8205128205dvw 5.1282051282dvw 15.3846153846dvw;
  }
}
.business-intro__ttl {
  margin-bottom: 30px;
  font-size: 3.5rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (max-width: 767px) {
  .business-intro__ttl {
    margin-bottom: 3.3333333333dvw;
    text-align: left;
    font-size: 22px;
    font-size: 5.641025641dvw;
  }
}
.business-intro__txt p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.625;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .business-intro__txt p {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .business-intro__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
    line-height: 2;
  }
}
.business-intro__img {
  margin: 0 auto;
  width: fit-content;
}
.business-intro__img img {
  display: block;
}
@media (min-width: 768px) {
  .business-intro__img img {
    width: revert-layer;
    max-width: 100%;
  }
}
.business-intro__img--01 {
  margin: 45px auto 114px;
}
@media (max-width: 767px) {
  .business-intro__img--01 {
    margin: 12.0512820513dvw auto 15.3846153846dvw;
  }
}
.business-intro__img--02 {
  margin: 113px auto 0;
}
@media (max-width: 767px) {
  .business-intro__img--02 {
    margin: 20.5128205128dvw auto 0;
  }
}

.business-about {
  margin: 0 auto 116px;
}
@media (min-width: 768px) {
  .business-about {
    max-width: 900px;
    background-color: #FFEDED;
    padding: 0 42px 33px;
  }
}
@media (max-width: 767px) {
  .business-about {
    margin: 0 auto 20.5128205128dvw;
  }
}

.business-about-nav {
  background: url("../business/images/bg_about.png") center/contain no-repeat;
  max-width: 738px;
  width: 100%;
  margin: 0 auto -29px;
  display: grid;
  grid-template-columns: auto auto auto;
  position: relative;
  top: -45px;
}
@media (max-width: 767px) {
  .business-about-nav {
    display: none;
  }
}
.business-about-nav__item {
  max-width: 213px;
}
.business-about-nav__item:nth-of-type(1) {
  margin-bottom: -20px;
  grid-column: 2/3;
  justify-self: center;
}
.business-about-nav__item:nth-of-type(2) {
  grid-row: 2/3;
  grid-column: 3/4;
  justify-self: flex-end;
}
.business-about-nav__item:nth-of-type(3) {
  grid-row: 2/3;
  grid-column: 1/2;
}
.business-about-nav__item a:hover {
  opacity: 1;
}
.business-about-nav__item a:hover img {
  opacity: 1;
}

.business-about-img {
  margin-bottom: 12.8205128205dvw;
}
@media (min-width: 768px) {
  .business-about-img {
    display: none;
  }
}

@media (min-width: 768px) {
  .business-about-contents {
    background-color: #fff;
    min-height: 229px;
    box-sizing: border-box;
    padding: 23px 35px 27px;
    position: relative;
  }
  .business-about-contents::before {
    padding-left: 23px;
    position: absolute;
    inset: 0;
    margin: auto;
    width: fit-content;
    height: fit-content;
    content: "各事業にマウスを合わせると、ここに詳細が表示されます。";
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    background: url("../business/images/icon_mouse.png") left center no-repeat;
    background-size: 14px 20px;
  }
}
@media (max-width: 767px) {
  .business-about-contents {
    margin: 0 5.1282051282dvw;
    display: grid;
    gap: 40px;
  }
}

@media (min-width: 768px) {
  .business-about-section {
    display: none;
    background-color: #fff;
    position: relative;
    z-index: 2;
  }
  .business-about-section.active {
    display: block;
  }
}
.business-about-section__ttl {
  margin-bottom: 8px;
  text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  #about-01 .business-about-section__ttl {
    color: #F07B7E;
  }
  #about-02 .business-about-section__ttl {
    color: #2a832d;
  }
  #about-03 .business-about-section__ttl {
    color: #2f6eba;
  }
}
@media (max-width: 767px) {
  .business-about-section__ttl {
    margin-bottom: 3.3333333333dvw;
    position: relative;
    padding-bottom: 2.5641025641dvw;
    font-size: 23px;
    font-size: 5.8974358974dvw;
  }
  .business-about-section__ttl::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    margin: auto;
    content: "";
    height: 2px;
    width: 30px;
  }
  #about-01 .business-about-section__ttl::before {
    background-color: #F07B7E;
  }
  #about-02 .business-about-section__ttl::before {
    background-color: #2a832d;
  }
  #about-03 .business-about-section__ttl::before {
    background-color: #2f6eba;
  }
}
.business-about-section p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}

@media (max-width: 767px) {
  .gojo {
    margin: 0 5.1282051282dvw;
  }
}
.gojo__ttl {
  margin-bottom: 28px;
  padding-bottom: 20px;
  text-align: center;
  font-size: 3.5rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  position: relative;
}
@media (max-width: 767px) {
  .gojo__ttl {
    margin-bottom: 3.3333333333dvw;
    padding-bottom: 2.5641025641dvw;
    font-size: 23px;
    font-size: 5.8974358974dvw;
  }
}
.gojo__ttl::before {
  content: "";
  display: block;
  width: 205px;
  height: 57px;
  margin: 0 auto 6px;
  background: url("../business/images/catch_gojo.png") center/contain no-repeat;
}
@media (max-width: 767px) {
  .gojo__ttl::before {
    margin: 0 auto 3.0769230769dvw;
    width: 52.5641025641dvw;
    height: 14.6153846154dvw;
  }
}
.gojo__ttl::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 30px;
  height: 2px;
  background-color: #F07B7E;
  margin: auto;
  content: "";
}
@media (max-width: 767px) {
  .gojo__ttl::after {
    width: 7.6923076923dvw;
    height: 0.5128205128dvw;
  }
}
.gojo__txt p {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2.1111111111;
}
@media (min-width: 768px) {
  .gojo__txt p {
    text-align: center;
  }
  .gojo__txt p:not(:last-child) {
    margin-bottom: 2em;
  }
}
@media (max-width: 767px) {
  .gojo__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
    line-height: 2.1333333333;
  }
}

.gojo-img {
  margin: 30px auto 77px;
}
@media (max-width: 767px) {
  .gojo-img {
    margin: 3.8461538462dvw auto 11.5384615385dvw;
  }
}
.gojo-img__ttl {
  margin-bottom: 64px;
  font-size: 3.3rem;
  font-weight: bold;
  text-align: center;
  color: #F07B7E;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .gojo-img__ttl {
    margin-bottom: 10.2564102564dvw;
    text-align: left;
    font-size: 22px;
    font-size: 5.641025641dvw;
    line-height: 1.7272727273;
  }
}
.gojo-img figure {
  display: block;
  width: fit-content;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .gojo-img img {
    width: revert-layer;
    max-width: 100%;
  }
}

.gojo-list {
  margin-bottom: 49px;
}
@media (max-width: 767px) {
  .gojo-list {
    margin-bottom: 5.1282051282dvw;
  }
}
.gojo-list p {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .gojo-list p {
    text-align: center;
  }
}
.gojo-list p b {
  font-size: 2.6rem;
  font-weight: bold;
  color: #F07B7E;
}
@media (max-width: 767px) {
  .gojo-list p b {
    font-size: 20px;
    font-size: 5.1282051282dvw;
  }
}
.gojo-list__box {
  margin: 17px auto 15px;
  background-color: #FFEDED;
  padding: 32px 40px;
}
@media (min-width: 768px) {
  .gojo-list__box {
    max-width: 590px;
    min-height: 173px;
  }
}
@media (max-width: 767px) {
  .gojo-list__box {
    padding: 5.1282051282dvw;
    margin: 3.8461538462dvw -5.1282051282dvw;
  }
}
.gojo-list__box ul {
  display: grid;
  gap: 0.8em;
}
.gojo-list__box li {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-indent: -1em;
  margin-left: 1em;
}
@media (max-width: 767px) {
  .gojo-list__box li {
    font-size: 16px;
    font-size: 4.1025641026dvw;
    line-height: 1.375;
  }
}
.gojo-list__box li::before {
  content: "・";
}

.gojo-bottom {
  margin-bottom: 126px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.7916666667;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .gojo-bottom {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .gojo-bottom {
    font-size: 18px;
    font-size: 4.6153846154dvw;
    line-height: 1.8333333333;
  }
}

.business-introduction-link {
  padding: 116px 20px 146px;
  border-top: 1px solid #c4c4c4;
}
@media (max-width: 767px) {
  .business-introduction-link {
    padding: 25.641025641dvw 5.1282051282dvw 21.5384615385dvw;
  }
}
.business-introduction-link__ttl {
  display: block;
  margin-bottom: 64px;
  position: relative;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  color: #F07B7E;
  line-height: 1;
}
@media (max-width: 767px) {
  .business-introduction-link__ttl {
    margin-bottom: 5.3846153846dvw;
    font-size: 20px;
    font-size: 5.1282051282dvw;
  }
}
.business-introduction-link__ttl::before {
  position: absolute;
  top: 0;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: fit-content;
  height: fit-content;
  display: block;
  margin: auto;
  content: "DEPARTMENT&JOB";
  font-size: 14.9rem;
  letter-spacing: 0.064em;
  font-weight: 900;
  z-index: -1;
  line-height: 1;
  font-family: "hanken-grotesk", sans-serif;
  color: #FFEDED;
}
@media (max-width: 767px) {
  .business-introduction-link__ttl::before {
    content: "DEPARTM\a ENT&JOB";
    font-size: 83px;
    font-size: 21.2820512821dvw;
    line-height: 0.843373494;
    letter-spacing: 0;
  }
}
.business-introduction-link__ttl + p {
  margin-bottom: 42px;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .business-introduction-link__ttl + p {
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}

.introduction-page-intro {
  margin: 45px auto 73px;
}
@media (max-width: 767px) {
  .introduction-page-intro {
    margin: 8.2051282051dvw auto 16.6666666667dvw;
  }
}
.introduction-page-intro__catch {
  margin-bottom: 4px;
  display: block;
  text-align: center;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .introduction-page-intro__catch {
    margin-bottom: 1.0256410256dvw;
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.introduction-page-intro__ttl {
  margin-bottom: 38px;
  text-align: center;
  font-size: 3.5rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .introduction-page-intro__ttl {
    margin-bottom: 4.8717948718dvw;
    font-size: 28px;
    font-size: 7.1794871795dvw;
  }
}
@media (max-width: 767px) {
  .introduction-page-intro__txt {
    margin: 0 5.1282051282dvw;
  }
}
.introduction-page-intro__txt p {
  letter-spacing: 0.02em;
  line-height: 2.6666666667;
}
@media (min-width: 768px) {
  .introduction-page-intro__txt p {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .introduction-page-intro__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
    line-height: 2;
  }
}
.introduction-page-intro__img {
  max-width: 1280px;
  margin: 0 auto 46px;
}
@media (max-width: 767px) {
  .introduction-page-intro__img {
    margin: 0 auto 8.9743589744dvw;
  }
}

.introduction-recommend {
  margin: 55px 20px;
}
@media (max-width: 767px) {
  .introduction-recommend {
    margin: 9.4871794872dvw 5.1282051282dvw 11.2820512821dvw;
  }
}
.introduction-recommend__wrap {
  background-color: #FFEDED;
  min-height: 477px;
  margin: 0 auto;
  max-width: 1080px;
  padding: 20px;
  box-sizing: border-box;
  padding: 65px 20px 20px;
}
@media (max-width: 767px) {
  .introduction-recommend__wrap {
    padding: 10.7692307692dvw 5.1282051282dvw 14.6153846154dvw;
  }
}
.introduction-recommend__ttl {
  margin-bottom: 48px;
  text-align: center;
  line-height: 1;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .introduction-recommend__ttl {
    margin-bottom: 7.9487179487dvw;
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
.introduction-recommend__ttl span {
  margin-top: 19px;
  display: block;
  line-height: 1;
  font-size: 1.6rem;
  font-family: "hanken-grotesk", sans-serif;
  letter-spacing: 0.03em;
  color: #F07B7E;
}
@media (max-width: 767px) {
  .introduction-recommend__ttl span {
    margin-top: 3.5897435897dvw;
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.introduction-recommend ul {
  display: grid;
  gap: 1.2em;
  font-size: 1.8rem;
  width: fit-content;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .introduction-recommend ul {
    gap: 0.7em;
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.introduction-recommend ul li {
  letter-spacing: 0.02em;
  padding-left: 32px;
  position: relative;
}
@media (max-width: 767px) {
  .introduction-recommend ul li {
    padding-left: 6.4102564103dvw;
  }
}
.introduction-recommend ul li::before {
  position: absolute;
  top: 0.3em;
  left: 0;
  display: block;
  width: 19px;
  height: 19px;
  content: "";
  background: url("../images/cmn/icon_check.svg") center/contain no-repeat;
}
@media (max-width: 767px) {
  .introduction-recommend ul li::before {
    top: 0.2em;
    width: 4.8717948718dvw;
    height: 4.8717948718dvw;
  }
}

.photo-gallery {
  padding: 95px 0 87px;
  border-top: 1px solid #c4c4c4;
  margin-bottom: 80px;
  position: relative;
}
@media (max-width: 767px) {
  .photo-gallery {
    padding: 17.4358974359dvw 0 4.6153846154dvw;
    margin-bottom: 13.3333333333dvw;
  }
}
.photo-gallery::before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 1080px;
  height: 1px;
  width: 100%;
  background-color: #c4c4c4;
}
.photo-gallery__ttl {
  margin-bottom: 89px;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
}
@media (max-width: 767px) {
  .photo-gallery__ttl {
    margin-bottom: 15.641025641dvw;
    font-size: 18px;
    font-size: 4.6153846154dvw;
  }
}
.photo-gallery__ttl::before {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "PHOTO GALLERY";
  font-family: "hanken-grotesk", sans-serif;
  color: #f5f5f5;
  z-index: -1;
  font-size: 14.9rem;
  letter-spacing: 0.064em;
  font-weight: 900;
  line-height: 1;
  transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
  .photo-gallery__ttl::before {
    text-wrap-mode: nowrap;
  }
}
@media (max-width: 767px) {
  .photo-gallery__ttl::before {
    content: "PHOTO\aGALLERY";
    font-size: 54px;
    font-size: 13.8461538462dvw;
  }
}

.photo-gallery-slider__item {
  margin: 0 12.5px;
  width: 765px;
}
@media (max-width: 767px) {
  .photo-gallery-slider__item {
    margin: 0 2.5641025641dvw;
    width: 89.7435897436dvw;
  }
}

.photo-gallery-bottom {
  margin-top: 38px;
  position: relative;
}
@media (max-width: 767px) {
  .photo-gallery-bottom {
    margin-top: 6.1538461538dvw;
  }
}
@media (min-width: 768px) {
  .photo-gallery-bottom__link {
    position: absolute;
    top: 50%;
    left: calc(50% + 122px);
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .photo-gallery-bottom__link {
    margin: 5.1282051282dvw auto 0;
    width: fit-content;
  }
}
.photo-gallery-bottom__link a {
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "hanken-grotesk", sans-serif;
  letter-spacing: 0.03em;
  position: relative;
}
@media (max-width: 767px) {
  .photo-gallery-bottom__link a {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.photo-gallery-bottom__link a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% + 11px);
  display: block;
  margin: auto;
  width: 86px;
  height: 1px;
  background-color: #1e1e1e;
  content: "";
}
@media (max-width: 767px) {
  .photo-gallery-bottom__link a::before {
    left: calc(100% + 2.8205128205dvw);
    width: 22.0512820513dvw;
  }
}

.photo-gallery-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}
@media (max-width: 767px) {
  .photo-gallery-arrow {
    display: none;
  }
}
.photo-gallery-arrow button {
  margin: 0;
  position: relative;
  inset: 0;
  width: 67px;
  height: 67px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid #a0a0a0;
  transform: none;
  background: none;
}
.photo-gallery-arrow button::before {
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  content: "";
  transform: rotate(45deg) translate(-2px, 2px);
  border-top: 3px solid #8d8d8d;
  border-right: 3px solid #8d8d8d;
}
.photo-gallery-arrow button.slick-prev::before {
  transform: rotate(-135deg) translate(-2px, 2px);
}

@media (min-width: 768px) {
  .photo-gallery-dots {
    display: none;
  }
}
.photo-gallery-dots .slick-dots {
  position: relative;
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  gap: 2.5641025641dvw;
}
.photo-gallery-dots .slick-dots li,
.photo-gallery-dots .slick-dots button {
  margin: 0 !important;
  width: 2.8205128205dvw;
  height: 2.8205128205dvw;
}
.photo-gallery-dots .slick-dots li {
  background-color: #cecece;
}
.photo-gallery-dots .slick-dots li.slick-active {
  background-color: #F07B7E;
}

.worth-while {
  margin-bottom: 125px;
}
@media (min-width: 768px) {
  .worth-while {
    padding: 0 20px;
  }
}
@media (max-width: 767px) {
  .worth-while {
    margin: 0 5.1282051282dvw 22.0512820513dvw;
  }
}
.worth-while__ttl {
  margin-bottom: 39px;
  text-align: center;
  line-height: 1;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .worth-while__ttl {
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
.worth-while__ttl span {
  margin-top: 20px;
  display: block;
  line-height: 1;
  font-size: 1.6rem;
  font-family: "hanken-grotesk", sans-serif;
  letter-spacing: 0.03em;
  color: #F07B7E;
}
@media (max-width: 767px) {
  .worth-while__ttl span {
    margin-top: 3.5897435897dvw;
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.worth-while ul {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  gap: 34px;
}
@media (max-width: 767px) {
  .worth-while ul {
    gap: 8.7179487179dvw;
  }
}
.worth-while ul li {
  padding: 33px 80px;
  background-color: #FFEDED;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 2.25;
  position: relative;
  margin-left: 16.88px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .worth-while ul li {
    padding: 8.2051282051dvw 7.1794871795dvw 9.2307692308dvw;
    font-size: 16px;
    font-size: 4.1025641026dvw;
    line-height: 2;
  }
}
.worth-while ul li::before {
  position: absolute;
  content: "";
  border-style: solid;
  border-width: 10px 17px 10px 0;
  border-color: transparent #FFEDED transparent transparent;
  left: -16.88px;
  top: calc(50% - 8.44px);
}

.minutes-header {
  margin: 83px auto 110px;
}
@media (max-width: 767px) {
  .minutes-header {
    margin: 8.4615384615dvw auto 17.1794871795dvw;
  }
}
.minutes-header__ttl {
  margin-bottom: 44px;
  text-align: center;
  line-height: 1;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .minutes-header__ttl {
    margin-bottom: 7.1794871795dvw;
    font-size: 24px;
    font-size: 6.1538461538dvw;
    line-height: 1.375;
  }
}
.minutes-header__ttl span {
  margin-top: 20px;
  display: block;
  line-height: 1;
  font-size: 2.4rem;
  font-family: "hanken-grotesk", sans-serif;
  letter-spacing: 0.08em;
  color: #F07B7E;
}
@media (max-width: 767px) {
  .minutes-header__ttl span {
    margin-top: 2.3076923077dvw;
    font-size: 17px;
    font-size: 4.358974359dvw;
  }
}

.minutes-contents {
  margin: 0 auto 100px;
  display: grid;
}
@media (min-width: 768px) {
  .minutes-contents {
    max-width: 1200px;
    box-sizing: content-box;
    padding: 0 20px;
  }
}
@media (max-width: 767px) {
  .minutes-contents {
    margin: 0 5.1282051282dvw 20vw;
  }
}

.minutes-section {
  padding: 57px 65px 56px;
  border: 3px solid #F07B7E;
  position: relative;
  counter-increment: minutes-section;
  margin-bottom: 108px;
}
@media (max-width: 767px) {
  .minutes-section {
    padding: 10.2564102564dvw 5.1282051282dvw;
    border: 0.7692307692dvw solid #F07B7E;
    margin-bottom: 18.7179487179dvw;
  }
}
.minutes-section::before {
  position: absolute;
  top: -42px;
  right: 0;
  left: 0;
  display: grid;
  place-content: center;
  margin: auto;
  content: counter(minutes-section);
  width: 77px;
  height: 77px;
  border-radius: 50%;
  box-sizing: border-box;
  color: #fff;
  background-color: #F07B7E;
  font-size: 3.9rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  border: 2px solid #fff;
}
@media (max-width: 767px) {
  .minutes-section::before {
    top: -7.1794871795dvw;
    width: 14.1025641026dvw;
    height: 14.1025641026dvw;
    font-size: 31px;
    font-size: 7.9487179487dvw;
  }
}
.minutes-section__text {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .minutes-section__text {
    font-size: 15px;
    font-size: 3.8461538462dvw;
    line-height: 1.8666666667;
  }
}
@media (max-width: 767px) {
  .minutes-section__text p {
    margin-top: 3vw;
  }
}
.minutes-section figure {
  margin: 43px auto 48px;
}
@media (max-width: 767px) {
  .minutes-section figure {
    margin: 8.7179487179dvw auto;
  }
}
.minutes-section a {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 67px;
  max-width: 411px;
  width: 100%;
  box-sizing: border-box;
  border-radius: 34px;
  border: 2px solid #9f9f9f;
  font-size: 1.7rem;
  font-weight: 500;
  position: relative;
}
@media (max-width: 767px) {
  .minutes-section a {
    min-height: 17.1794871795dvw;
    width: 71.0256410256dvw;
    font-size: 17px;
    font-size: 4.358974359dvw;
    border-radius: 8.7179487179dvw;
    border: 0.5128205128dvw solid #9f9f9f;
  }
}
.minutes-section a::before {
  position: absolute;
  top: 0;
  right: 24px;
  bottom: 0;
  width: 10px;
  height: 9px;
  display: block;
  margin: auto;
  content: "";
  background: url("../images/cmn/arrow.svg") center/contain no-repeat;
}
@media (max-width: 767px) {
  .minutes-section a::before {
    right: 6.1538461538dvw;
    width: 2.5641025641dvw;
    height: 2.3076923077dvw;
  }
}
.minutes-section__ttl {
  margin-bottom: 16px;
  display: block;
  font-size: 3.8rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .minutes-section__ttl {
    font-size: 20px;
    font-size: 5.1282051282dvw;
  }
}

.philosophy-intro {
  margin: 116px 20px 106px;
}
@media (max-width: 767px) {
  .philosophy-intro {
    margin: 13.5897435897dvw auto 19.4871794872dvw;
  }
}
.philosophy-intro__img {
  width: 100vw;
  margin: 0 auto;
  left: 50%;
  transform: translate(-50%, 0%);
  position: relative;
}

.philosophy-intro {
  /* ------------------------------------

  l-slide-wrapper

  ------------------------------------ */
}
.philosophy-intro .l-slide-wrapper {
  margin: 30px auto 30px;
}
@media print, screen and (max-width: 760px) {
  .philosophy-intro .l-slide-wrapper {
    margin: 18.5vw auto 21.7vw;
  }
}
.philosophy-intro .l-slide-wrapper .slick-slide {
  margin: 0 10px;
}
@media print, screen and (max-width: 760px) {
  .philosophy-intro .l-slide-wrapper .slick-slide {
    margin: 0px 1.15vw;
  }
}
.philosophy-intro .l-slide-wrapper .slick-slide img {
  border-radius: 13px;
}

.philosophy-box {
  max-width: 1080px;
  margin: 0 auto 69px;
  display: grid;
  gap: 44px;
}
@media (max-width: 767px) {
  .philosophy-box {
    margin: 0 5.1282051282dvw 16.6666666667dvw;
    gap: 8.2051282051dvw;
  }
}
.philosophy-box__item {
  border: 2px solid #F07B7E;
  box-sizing: border-box;
  padding: 83px 20px 80px;
}
@media (max-width: 767px) {
  .philosophy-box__item {
    padding: 11.0256410256dvw 5.1282051282dvw 5.1282051282dvw;
    border: 0.5128205128dvw solid #F07B7E;
  }
}
.philosophy-box__item:nth-of-type(1) {
  min-height: 524px;
  background: #ffeded;
  background: linear-gradient(225deg, #ffeded 0%, rgba(255, 255, 255, 0) 50%);
}
@media (max-width: 767px) {
  .philosophy-box__item:nth-of-type(1) {
    min-height: 125.3846153846dvw;
  }
}
.philosophy-box__item:nth-of-type(2) {
  min-height: 447px;
  background: #ffeded;
  background: linear-gradient(145deg, #ffeded 0%, rgba(255, 255, 255, 0) 50%);
}
@media (max-width: 767px) {
  .philosophy-box__item:nth-of-type(2) {
    min-height: 93.0769230769dvw;
  }
}
.philosophy-box__item p {
  text-align: center;
  font-size: 3.1rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 2.1290322581;
}
@media (max-width: 767px) {
  .philosophy-box__item p {
    font-size: 21px;
    font-size: 5.3846153846dvw;
    line-height: 2.0952380952;
  }
}
.philosophy-box__ttl {
  margin-bottom: 41px;
  text-align: center;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .philosophy-box__ttl {
    margin-bottom: 7.1794871795dvw;
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.philosophy-box__ttl span {
  margin-bottom: 12px;
  display: block;
  font-size: 7.4rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  letter-spacing: 0.03em;
  color: #F07B7E;
}
@media (max-width: 767px) {
  .philosophy-box__ttl span {
    margin-bottom: 3.0769230769dvw;
    font-size: 37px;
    font-size: 9.4871794872dvw;
  }
}

.philosophy-future {
  margin-bottom: 112px;
  background-color: #FFEDED;
  padding: 83px 20px 30px;
  position: relative;
  box-sizing: border-box;
  min-height: 613px;
}
@media (max-width: 767px) {
  .philosophy-future {
    margin-bottom: 14.1025641026dvw;
    padding: 12.8205128205dvw 5.1282051282dvw 5.1282051282dvw;
    min-height: 157.1794871795dvw;
  }
}
.philosophy-future::before {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  content: "THE MOST APPROACHABLE\a COMPANY IN THE COMMUNITY";
  white-space: pre;
  text-align: center;
  font-size: min(9.3rem, 6.459dvw);
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  width: fit-content;
  height: fit-content;
  line-height: 1.2150537634;
  color: rgba(255, 255, 255, 0.54);
}
@media (max-width: 767px) {
  .philosophy-future::before {
    font-size: 48px;
    font-size: 12.3076923077dvw;
    content: "THE MOST\a APPROACHABLE\a COMPANY IN\aTHE COMMUNITY";
  }
}
.philosophy-future__wrap {
  position: relative;
  z-index: 2;
}
.philosophy-future__ttl {
  margin-bottom: 47px;
  text-align: center;
  line-height: 1.5;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .philosophy-future__ttl {
    margin-bottom: 5.1282051282dvw;
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
.philosophy-future__ttl span {
  margin-bottom: 20px;
  display: block;
  font-size: 6.4rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  letter-spacing: 0.001em;
  color: #F07B7E;
  line-height: 1;
}
@media (max-width: 767px) {
  .philosophy-future__ttl span {
    margin-bottom: 5.3846153846dvw;
    font-size: 44px;
    font-size: 11.2820512821dvw;
  }
}
.philosophy-future p {
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 2.125;
}
@media (min-width: 768px) {
  .philosophy-future p {
    letter-spacing: 0.02em;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .philosophy-future p {
    font-size: 4.2vw;
  }
}
.philosophy-future p:not(:last-child) {
  margin-bottom: 2em;
}

.philosophy-faq {
  margin-bottom: 112px;
}
@media (max-width: 767px) {
  .philosophy-faq {
    margin-bottom: 27.9487179487dvw;
  }
}
.philosophy-faq__ttl {
  margin-bottom: 70px;
  text-align: center;
  line-height: 1.7777777778;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .philosophy-faq__ttl {
    margin-bottom: 8.9743589744dvw;
    font-size: 18px;
    font-size: 4.6153846154dvw;
  }
}
.philosophy-faq__ttl span {
  margin-bottom: 19px;
  display: block;
  font-size: 5.4rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  letter-spacing: 0.001em;
  color: #F07B7E;
  line-height: 1;
}
@media (max-width: 767px) {
  .philosophy-faq__ttl span {
    font-size: 39px;
    font-size: 10dvw;
    line-height: 1.0769230769;
  }
}

.philosophy-faq-list {
  max-width: 1200px;
  margin: 0 auto 90px;
}
@media (max-width: 767px) {
  .philosophy-faq-list {
    margin: 0 auto 14.1025641026dvw;
  }
}
.philosophy-faq-list dt,
.philosophy-faq-list dd {
  letter-spacing: 0.02em;
}
.philosophy-faq-list dt > div,
.philosophy-faq-list dd > div {
  border-radius: 16px;
  box-sizing: border-box;
  position: relative;
  text-align: left;
}
@media (max-width: 767px) {
  .philosophy-faq-list dt > div,
.philosophy-faq-list dd > div {
    border-radius: 3.0769230769dvw;
  }
}
.philosophy-faq-list dt {
  margin: 0 64px 31px 29px;
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .philosophy-faq-list dt {
    max-width: 808px;
  }
}
@media (max-width: 767px) {
  .philosophy-faq-list dt {
    margin: 0 6.4102564103dvw 6.9230769231dvw 8.9743589744dvw;
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.philosophy-faq-list dt:not(:first-child) {
  margin-top: 70px;
}
@media (max-width: 767px) {
  .philosophy-faq-list dt:not(:first-child) {
    margin-top: 11.7948717949dvw;
  }
}
.philosophy-faq-list dt > div {
  background-color: #facaca;
  min-height: 93px;
  padding: 32px 48px 32px 73px;
}
@media (max-width: 767px) {
  .philosophy-faq-list dt > div {
    min-height: 14.358974359dvw;
    padding: 3.8461538462dvw 5.641025641dvw 3.8461538462dvw 14.8717948718dvw;
  }
}
.philosophy-faq-list dt > div::before {
  position: absolute;
  top: 0;
  left: -29px;
  background: #facaca;
  display: block;
  margin: auto;
  width: 30px;
  height: 19px;
  content: "";
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
@media (min-width: 768px) {
  .philosophy-faq-list dt > div::before {
    bottom: 0;
  }
}
@media (max-width: 767px) {
  .philosophy-faq-list dt > div::before {
    top: 5.641025641dvw;
    left: -5.641025641dvw;
    width: 5.641025641dvw;
    height: 3.5897435897dvw;
  }
}
.philosophy-faq-list dt > div::after {
  position: absolute;
  top: 0;
  left: 30px;
  width: fit-content;
  height: fit-content;
  margin: auto;
  content: "Q";
  color: #fff;
  font-size: 3.2rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
}
@media (min-width: 768px) {
  .philosophy-faq-list dt > div::after {
    bottom: 0;
  }
}
@media (max-width: 767px) {
  .philosophy-faq-list dt > div::after {
    top: 2.5641025641dvw;
    left: 5.3846153846dvw;
    font-size: 28px;
    font-size: 7.1794871795dvw;
  }
}
.philosophy-faq-list dd {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.2666666667;
  display: grid;
  gap: 27px;
  position: relative;
  margin-right: 262px;
  margin-left: 79px;
}
@media (max-width: 767px) {
  .philosophy-faq-list dd {
    gap: 8.7179487179dvw;
    margin-right: 35.8974358974dvw;
    margin-left: 6.4102564103dvw;
    font-size: 15px;
    font-size: 3.8461538462dvw;
    line-height: 2;
  }
}
.philosophy-faq-list dd::before {
  position: absolute;
  top: -26px;
  right: -262px;
  display: block;
  margin: auto;
  width: 198px;
  height: 198px;
  background: url("../philosophy/images/president.png") center/contain no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .philosophy-faq-list dd::before {
    top: -2.3076923077dvw;
    right: -30dvw;
    width: 22.5641025641dvw;
    height: 22.5641025641dvw;
  }
}
.philosophy-faq-list dd > div {
  border: 2px solid #F07B7E;
  padding: 26px 48px 26px 45px;
}
@media (max-width: 767px) {
  .philosophy-faq-list dd > div {
    border: 0.5128205128dvw solid #F07B7E;
    padding: 5.1282051282dvw 4.358974359dvw 4.1025641026dvw 5.1282051282dvw;
  }
}
.philosophy-faq-list dd > div::before, .philosophy-faq-list dd > div::after {
  position: absolute;
  top: 39px;
  right: -43px;
  background: #F07B7E;
  display: block;
  margin: auto;
  width: 43px;
  height: 26px;
  content: "";
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media (max-width: 767px) {
  .philosophy-faq-list dd > div::before, .philosophy-faq-list dd > div::after {
    top: 6.6666666667dvw;
    right: -6.1538461538dvw;
    width: 6.1538461538dvw;
    height: 3.5897435897dvw;
  }
}
.philosophy-faq-list dd > div::after {
  right: -38px;
  background-color: #fff;
}
@media (max-width: 767px) {
  .philosophy-faq-list dd > div::after {
    right: -5.1282051282dvw;
  }
}
.philosophy-faq-list dd + dd {
  margin-top: 21px;
}

.philosophy-faq-btn p {
  margin-bottom: 20px;
  text-align: center;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .philosophy-faq-btn p {
    margin-bottom: 5.1282051282dvw;
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.philosophy-faq-btn a {
  margin: 0 auto;
  width: 100%;
  max-width: 572px;
  min-height: 87px;
  display: grid;
  place-content: center;
  background-color: #F07B7E;
  color: #fff;
  font-size: 1.9rem;
  font-weight: bold;
  border-radius: 13px;
  letter-spacing: 0.02em;
  position: relative;
}
@media (max-width: 767px) {
  .philosophy-faq-btn a {
    max-width: 87.1794871795dvw;
    min-height: 26.1538461538dvw;
    border-radius: 3.3333333333dvw;
    font-size: 19px;
    font-size: 4.8717948718dvw;
  }
}
.philosophy-faq-btn a::before {
  position: absolute;
  right: 22px;
  top: 0;
  bottom: 0;
  z-index: 2;
  display: block;
  margin: auto;
  content: "";
  width: 26px;
  height: 26px;
  background: url("../images/cmn/arrow_circle_white.svg") center/contain no-repeat;
}
@media (max-width: 767px) {
  .philosophy-faq-btn a::before {
    right: 4.358974359dvw;
    width: 6.6666666667dvw;
    height: 6.6666666667dvw;
  }
}

.environment-header {
  margin: 84px auto 110px;
}
@media (max-width: 767px) {
  .environment-header {
    margin: 13.8461538462dvw auto 17.1794871795dvw;
  }
}

.environment-contents {
  margin: 0 auto 100px;
}
@media (min-width: 768px) {
  .environment-contents {
    max-width: 1200px;
    box-sizing: content-box;
    padding: 0 20px;
  }
}
@media (max-width: 767px) {
  .environment-contents {
    margin: 0 5.1282051282dvw 20vw;
  }
}

.environment-section {
  padding: 57px 64px 56px;
  border: 3px solid #F07B7E;
  position: relative;
  counter-increment: environment-section;
  margin-bottom: 108px;
}
@media (max-width: 767px) {
  .environment-section {
    padding: 10.2564102564dvw 5.1282051282dvw;
    border: 0.7692307692dvw solid #F07B7E;
    margin-bottom: 18.7179487179dvw;
  }
}
.environment-section + .environment-section {
  margin-top: 108px;
}
@media (max-width: 767px) {
  .environment-section + .environment-section {
    margin-top: 18.9743589744dvw;
  }
}
.environment-section::before {
  position: absolute;
  top: -42px;
  right: 0;
  left: 0;
  display: grid;
  place-content: center;
  margin: auto;
  content: counter(environment-section);
  width: 77px;
  height: 77px;
  border-radius: 50%;
  box-sizing: border-box;
  color: #fff;
  background-color: #F07B7E;
  font-size: 3.9rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  border: 2px solid #fff;
}
@media (max-width: 767px) {
  .environment-section::before {
    top: -7.1794871795dvw;
    width: 14.1025641026dvw;
    height: 14.1025641026dvw;
    font-size: 31px;
    font-size: 7.9487179487dvw;
  }
}
.environment-section__ttl {
  margin-bottom: 40px;
  display: block;
  font-size: 3.8rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .environment-section__ttl {
    margin-bottom: 6.6666666667dvw;
    font-size: 20px;
    font-size: 5.1282051282dvw;
  }
}
.environment-section__ttl:has(+ .environment-section__subttl) {
  margin-bottom: -30px;
}
@media (max-width: 767px) {
  .environment-section__ttl:has(+ .environment-section__subttl) {
    margin-bottom: -5.1282051282dvw;
  }
}
.environment-section__subttl {
  margin-bottom: 34px;
  display: block;
  text-align: center;
  background-color: #FFEDED;
  font-size: 2.1rem;
  font-weight: bold;
  padding: 0.36em 0.5em;
  line-height: 1.7647058824;
}
@media (max-width: 767px) {
  .environment-section__subttl {
    margin-bottom: 6.1538461538dvw;
    font-size: 17px;
    font-size: 4.358974359dvw;
  }
}
.environment-section__subttl:not(:first-child) {
  margin-top: 64px;
}
@media (max-width: 767px) {
  .environment-section__subttl:not(:first-child) {
    margin-top: 10.2564102564dvw;
  }
}

.environment-col {
  display: flex;
  gap: 46px;
}
@media (max-width: 767px) {
  .environment-col {
    gap: 10.2564102564dvw;
    flex-flow: column;
    gap: 8.7179487179dvw;
  }
}

@media (min-width: 768px) {
  .environment-txt {
    flex: 1;
  }
}
.environment-txt__ttl {
  margin-bottom: 0.5em;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.875;
}
@media (max-width: 767px) {
  .environment-txt__ttl {
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.environment-txt__ttl:not(:first-child) {
  margin-top: 1.2em;
}
.environment-txt p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .environment-txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.environment-txt p:not(:last-child) {
  margin-bottom: 0.8em;
}
.environment-txt p b {
  font-size: 1.8rem;
  font-weight: bold;
  display: flex;
  flex-flow: wrap;
  align-items: center;
}
@media (max-width: 767px) {
  .environment-txt p b {
    line-height: 1.4;
    font-size: 17px;
    font-size: 4.358974359dvw;
  }
}
.environment-txt p b span {
  font-size: 3.3rem;
  color: #F07B7E;
}
@media (max-width: 767px) {
  .environment-txt p b span {
    font-size: 27px;
    font-size: 6.9230769231dvw;
  }
}

@media (min-width: 768px) {
  .environment-img img {
    width: revert-layer;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  #environment-03 .environment-img {
    order: -1;
  }
}

@media (max-width: 767px) {
  .environment-photo {
    margin-top: 8.9743589744dvw;
  }
}
.environment-photo .slick-dots {
  margin-top: 3.8461538462dvw !important;
  position: relative;
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  gap: 2.5641025641dvw;
}
.environment-photo .slick-dots li,
.environment-photo .slick-dots button {
  margin: 0 !important;
  width: 2.8205128205dvw;
  height: 2.8205128205dvw;
}
.environment-photo .slick-dots li {
  background-color: #cecece;
}
.environment-photo .slick-dots li.slick-active {
  background-color: #F07B7E;
}

@media (min-width: 768px) {
  .environment-photo-slider {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .environment-photo-slider {
    width: 100% !important;
  }
}
.environment-photo-slider__item figure {
  display: block;
}
.environment-photo-slider__item img {
  display: block;
}
@media (max-width: 767px) {
  .environment-photo-slider__item img {
    width: 77.4358974359dvw;
  }
}
.environment-photo-slider__item figcaption {
  margin-top: 12px;
  display: block;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .environment-photo-slider__item figcaption {
    margin-top: 3.0769230769dvw;
    font-size: 18px;
    font-size: 4.6153846154dvw;
  }
}

.career-step {
  margin: 50px auto 78px;
  display: grid;
  gap: 56px;
}
@media (max-width: 767px) {
  .career-step {
    margin: 9.2307692308dvw auto 13.0769230769dvw;
    gap: 7.9487179487dvw;
  }
}
.career-step__item {
  padding: 28px 43px 48px;
  border: 1px solid #707070;
}
@media (max-width: 767px) {
  .career-step__item {
    padding: 4.1025641026dvw 4.6153846154dvw 6.1538461538dvw;
  }
}
.career-step__header {
  display: grid;
}
@media (min-width: 768px) {
  .career-step__header {
    margin-bottom: max(-66px, -4.584dvw);
    gap: 23px;
    margin-left: 9px;
    grid-template-columns: max-content auto;
  }
}
@media (max-width: 767px) {
  .career-step__header {
    margin-bottom: 4vw;
  }
}
.career-step__photo {
  max-width: 124px;
}
@media (max-width: 767px) {
  .career-step__photo {
    margin: 0 auto;
    max-width: 26.9230769231dvw;
  }
}
.career-step__txt p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4444444444;
}
@media (max-width: 767px) {
  .career-step__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
    line-height: 1.4666666667;
  }
}
.career-step__department {
  margin: 10px 0;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767px) {
  .career-step__department {
    font-size: 14px;
    font-size: 3.5897435897dvw;
  }
}

.environment-bubble {
  margin: 72px 45px 60px;
  display: grid;
  gap: 35px;
}
@media (max-width: 767px) {
  .environment-bubble {
    gap: 4.358974359dvw;
    margin: 10.2564102564dvw auto 6.1538461538dvw;
  }
}
.environment-bubble__item {
  border-radius: 16px;
  box-sizing: border-box;
  position: relative;
  text-align: left;
  background-color: #facaca;
  min-height: 93px;
  max-width: 807px;
  padding: 16px 31px;
  display: flex;
  flex-flow: column;
  justify-content: center;
}
@media (min-width: 768px) {
  .environment-bubble__item {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .environment-bubble__item {
    margin-left: 5.641025641dvw;
    border-radius: 3.0769230769dvw;
    min-height: 14.358974359dvw;
    padding: 3.8461538462dvw 6.4102564103dvw;
  }
}
.environment-bubble__item::before {
  position: absolute;
  top: 0;
  left: -29px;
  background: #facaca;
  display: block;
  margin: auto;
  width: 30px;
  height: 19px;
  content: "";
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
@media (min-width: 768px) {
  .environment-bubble__item::before {
    bottom: 0;
  }
}
@media (max-width: 767px) {
  .environment-bubble__item::before {
    top: 5.641025641dvw;
    left: -5.641025641dvw;
    width: 5.641025641dvw;
    height: 3.5897435897dvw;
  }
}
.environment-bubble__item:nth-of-type(even) {
  margin-left: auto;
}
@media (max-width: 767px) {
  .environment-bubble__item:nth-of-type(even) {
    margin-left: auto;
    margin-right: 5.641025641dvw;
  }
}
.environment-bubble__item:nth-of-type(even)::before {
  left: inherit;
  right: -29px;
  transform: scaleX(-1);
}
@media (max-width: 767px) {
  .environment-bubble__item:nth-of-type(even)::before {
    right: -5.641025641dvw;
  }
}
.environment-bubble__item p {
  font-size: 1.9rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .environment-bubble__item p {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .environment-bubble__item p {
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}

.environment-catch {
  margin: 50px auto 34px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 10px;
  min-height: 95px;
  box-sizing: border-box;
  border: 2px solid #F07B7E;
  position: relative;
}
@media (max-width: 767px) {
  .environment-catch {
    margin: 6.6666666667dvw auto 5.641025641dvw;
    padding: 4.8717948718dvw 2.5641025641dvw;
    border: 0.5128205128dvw solid #F07B7E;
  }
}
.environment-catch p {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3333333333;
}
@media (max-width: 767px) {
  .environment-catch p {
    font-size: 18px;
    font-size: 4.6153846154dvw;
  }
}
.environment-catch .item01 {
  position: absolute;
  width: 206px;
  top: -233px;
  left: 25px;
}
@media (max-width: 767px) {
  .environment-catch .item01 {
    width: 27vw;
    top: -30.9vw;
    left: -0.6vw;
  }
}
.environment-catch .item02 {
  position: absolute;
  width: 206px;
  top: -233px;
  right: 25px;
}
@media (max-width: 767px) {
  .environment-catch .item02 {
    width: 27vw;
    top: -30.9vw;
    right: -1vw;
  }
}

.message-mv {
  margin-bottom: 147px;
  position: relative;
}
@media (max-width: 767px) {
  .message-mv {
    margin-bottom: 25.641025641dvw;
  }
}
@media (min-width: 768px) {
  .message-mv__img img {
    height: 713px;
    width: 100%;
    object-fit: cover;
    object-position: top;
  }
}
@media (min-width: 768px) {
  .message-mv__txt {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 97px;
    margin: auto;
    width: 100%;
    max-width: 1160px;
    box-sizing: content-box;
    padding: 0 20px;
    height: fit-content;
  }
}
@media (max-width: 767px) {
  .message-mv__txt {
    margin: -13.5897435897dvw 5.1282051282dvw 0;
  }
}
.message-mv__txt > p {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .message-mv__txt > p {
    font-size: 16px;
    font-size: 4.1025641026dvw;
  }
}
.message-mv__en {
  margin-bottom: 22px;
  display: block;
  font-size: min(7.7rem, 7.196dvw);
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .message-mv__en {
    margin-bottom: 10.2564102564dvw;
    font-size: 38px;
    font-size: 9.7435897436dvw;
  }
}
.message-mv__ttl {
  margin-bottom: 30px;
  font-size: min(3.3rem, 3.085dvw);
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.6666666667;
}
@media (max-width: 767px) {
  .message-mv__ttl {
    margin-bottom: 3.3333333333dvw;
    font-size: 28px;
    font-size: 7.1794871795dvw;
    line-height: 1.6071428571;
  }
}

.message-profile {
  margin-top: 60px;
  border: 1px solid #707070;
  background-color: #fff;
  box-sizing: border-box;
  padding: 24px 37px 20px;
  min-height: 176px;
}
@media (min-width: 768px) {
  .message-profile {
    max-width: 438px;
  }
}
@media (max-width: 767px) {
  .message-profile {
    margin-top: 8.9743589744dvw;
    min-height: 43.0769230769dvw;
    padding: 4.8717948718dvw 5.641025641dvw;
  }
}
.message-profile__ttl {
  margin-bottom: 16px;
  font-size: 2.4rem;
  font-weight: 900;
  font-family: "hanken-grotesk", sans-serif;
  line-height: 1;
  color: #bababa;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .message-profile__ttl {
    font-size: 24px;
    font-size: 6.1538461538dvw;
  }
}
.message-profile p {
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8666666667;
}
@media (max-width: 767px) {
  .message-profile p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}

.message-col {
  margin: 0 auto 150px;
  display: grid;
  gap: 126px;
}
@media (min-width: 768px) {
  .message-col {
    max-width: 1200px;
    padding: 0 20px;
    box-sizing: content-box;
  }
}
@media (max-width: 767px) {
  .message-col {
    gap: 17.9487179487dvw;
    margin: 0 5.1282051282dvw 20dvw;
  }
}
.message-col__item {
  display: flex;
  gap: 54px;
}
@media (max-width: 767px) {
  .message-col__item {
    flex-flow: column;
    gap: 36px;
  }
}
@media (min-width: 768px) {
  .message-col__item:nth-of-type(even) {
    flex-flow: row-reverse;
  }
}
@media (min-width: 768px) {
  .message-col__img {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .message-col__txt {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
  }
}
.message-col__txt p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .message-col__txt p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
@media (min-width: 768px) {
  .message-col__txt p {
    text-align: left;
  }
}
.message-col__ttl {
  margin-bottom: 15px;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
}
@media (min-width: 768px) {
  .message-col__ttl {
    text-align: left;
  }
}
@media (max-width: 767px) {
  .message-col__ttl {
    margin-bottom: 1.5384615385dvw;
    font-size: 22px;
    font-size: 5.641025641dvw;
  }
}

.message-bottom {
  margin: 0 auto 155px;
}
@media (min-width: 768px) {
  .message-bottom {
    max-width: 980px;
  }
}
@media (max-width: 767px) {
  .message-bottom {
    margin: 0 5.1282051282dvw 21.5384615385dvw;
  }
}
.message-bottom__ttl {
  margin-bottom: 18px;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .message-bottom__ttl {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .message-bottom__ttl {
    margin-bottom: 3.0769230769dvw;
    font-size: 22px;
    font-size: 5.641025641dvw;
  }
}
.message-bottom p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}
@media (min-width: 768px) {
  .message-bottom p {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .message-bottom p {
    font-size: 15px;
    font-size: 3.8461538462dvw;
  }
}
.message-bottom picture {
  display: block;
  margin-top: 50px;
}
@media (max-width: 767px) {
  .message-bottom picture {
    margin-top: 9.2307692308dvw;
  }
}

.episode {
  margin: 0 auto 154px;
  background-color: #FFEDED;
  box-sizing: border-box;
  padding: 77px 20px 30px;
}
@media (min-width: 768px) {
  .episode {
    max-width: 1280px;
    min-height: 716px;
  }
}
@media (max-width: 767px) {
  .episode {
    padding: 12.3076923077dvw 5.1282051282dvw 50px;
    margin: 0 auto 25vw;
  }
}
.episode__ttl {
  margin-bottom: 21px;
  text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .episode__ttl {
    margin-bottom: 4.8717948718dvw;
    font-size: 19px;
    font-size: 4.8717948718dvw;
  }
}
.episode__subttl {
  margin-bottom: 42px;
  text-align: center;
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 1.5172413793;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .episode__subttl {
    margin-bottom: 6.9230769231dvw;
    font-size: 29px;
    font-size: 7.4358974359dvw;
  }
}

@media (min-width: 768px) {
  .episode-list {
    max-width: 965px;
    margin: 0 auto;
  }
}
.episode-list ul {
  display: grid;
  gap: 33px;
}
@media (max-width: 767px) {
  .episode-list ul {
    gap: 6.6666666667dvw;
  }
}
.episode-list li {
  background-color: #fff;
  padding: 26px 33px 27px 72px;
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.875;
  margin-left: 16.88px;
}
@media (max-width: 767px) {
  .episode-list li {
    font-size: 16px;
    font-size: 4.1025641026dvw;
    padding: 5.641025641dvw 6.9230769231dvw 5.641025641dvw 13.5897435897dvw;
  }
}
.episode-list li::before {
  position: absolute;
  top: 31px;
  left: 42px;
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #F07B7E;
  content: "";
}
@media (max-width: 767px) {
  .episode-list li::before {
    top: 6.9230769231dvw;
    left: 5.8974358974dvw;
    width: 4.6153846154dvw;
    height: 4.6153846154dvw;
  }
}
.episode-list li::after {
  position: absolute;
  content: "";
  border-style: solid;
  border-width: 10px 17px 10px 0;
  border-color: transparent #fff transparent transparent;
  left: -16.88px;
  top: calc(50% - 8.44px);
}

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