/* Updated 2026/03/11.T */
/*-------------------------------------------
Override
-------------------------------------------*/
/* main */

/*-------------------------------------------
Philosophy Modules
-------------------------------------------*/
/* Bg
-------------------------------------------*/
.main-area {
  z-index: 0;
  position: relative;
}

.philosophy-bg01 {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 800px;
}
.philosophy-bg01::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: radial-gradient(117.27% 100% at 100% 0%, rgba(253, 249, 245, 0) 0%, rgba(253, 249, 245, 0.5) 65.87%, #fdf9f5 100%);
  content: "";
}
.philosophy-bg01 > picture > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Title
-------------------------------------------*/
.philosophy-titleHeading01 > .inner > .title {
  display: block;
  color: var(--color-gold01);
  font-size: 1.6rem;
  line-height: 1.3;
  font-family: var(--fontfamily-oliveNature);
  text-transform: uppercase;
}
.philosophy-titleHeading01 > .inner > .text {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.philosophy-titleHeading02 > .title {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
}
.philosophy-titleHeading03 > .inner {
  color: var(--color-green01);
}
.philosophy-titleHeading03 > .inner > .text {
  display: block;
  font-size: 4rem;
  line-height: 1.3;
  font-family: var(--fontfamily-oliveNature);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.philosophy-titleHeading03 > .inner > .title {
  font-size: 1.2rem;
  line-height: 1.3;
}

/* Text
-------------------------------------------*/
.philosophy-textBlock01 > p {
  line-height: 2.2;
}

.philosophy-textBlock01 > p + p {
  margin-top: 5.4em;
}

.philosophy-textBlock02 > p {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.philosophy-textBlock02 > p + p {
  margin-top: 1.3em;
}

/* List
-------------------------------------------*/
.philosophy-detailList01 > .title {
  font-weight: 700;
  letter-spacing: 0.1em;
}
.philosophy-detailList01 > .detail {
  font-size: 1.6rem;
}

/* Column
-------------------------------------------*/
.philosophy-column01 {
  display: flex;
}
.philosophy-column01 > .item:nth-of-type(1) {
  padding: 276px 0 0;
}
.philosophy-column01 > .item:nth-of-type(2) {
  z-index: 0;
  position: relative;
}

/*-------------------------------------------
Philosophy Components
-------------------------------------------*/
.philosophy-logoBlock01 > .inner > .img {
  display: inline-flex;
  align-items: center;
  width: 400px;
  height: 400px;
  padding: 8px 0 0 40px;
  overflow: hidden;
  border-radius: 50%;
  background-color: var(--color-gold01a50);
}

.philosophy-misson01 {
  z-index: 0;
  position: relative;
}

/*-------------------------------------------
Function
-------------------------------------------*/
.fn-philosophyTitle01 [data-fn=philosophyTitle01-child] {
  visibility: hidden;
}

.fn-philosophyLogo01 [data-fn=philosophyLogo01-logo] {
  visibility: hidden;
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .page-main #main-area {
    margin: 0;
  }
  .philosophy-titleHeading01 > .inner > .text {
    margin: 8px 0 0;
    font-size: 2.6rem;
  }
  .philosophy-titleHeading02 > .title {
    font-size: 2.6rem;
  }
  .philosophy-titleHeading03 {
    margin: 0 0 16px;
  }
  .philosophy-textBlock01 > p {
    font-size: 1.6rem;
  }
  .philosophy-textBlock02 > p {
    font-size: 2.2rem;
  }
  .philosophy-detailList01 > .title {
    margin: 0 0 10px;
    font-size: 2.2rem;
  }
  .philosophy-detailList01 > .detail:not(:last-child) {
    margin: 0 0 16px;
  }
  .philosophy-column01 {
    flex-direction: column;
  }
  .philosophy-column01 > .item:nth-of-type(2) {
    margin-top: 100px;
    padding: 0 0 0 32px;
  }
  .philosophy-logoBlock01 {
    margin: 0 0 100px;
    overflow-x: hidden;
  }
  .philosophy-logoBlock01 > .inner {
    padding: 0 0 0 32px;
  }
}

@media screen and (min-width: 768px), print and (min-width: 768px) {
  .page-main #main-area {
    margin: 0;
  }
  .philosophy-titleHeading01 > .inner > .text {
    margin: 12px 0 0;
    font-size: 4rem;
  }
  .philosophy-titleHeading02 > .title {
    margin: 0 0 165px;
    font-size: 4rem;
  }
  .philosophy-titleHeading03 {
    margin: 0 0 25px;
  }
  .philosophy-textBlock01 > p {
    font-size: 1.8rem;
  }
  .philosophy-textBlock02 > p {
    font-size: 2.8rem;
  }
  .philosophy-detailList01 > .title {
    margin: 0 0 12px;
    font-size: 2.6rem;
  }
  .philosophy-detailList01 > .detail:not(:last-child) {
    margin: 0 0 24px;
  }
  .philosophy-column01 > .item:nth-of-type(1) {
    width: 362px;
  }
  .philosophy-column01 > .item:nth-of-type(2) {
    width: calc(100% - 362px);
    margin-left: 60px;
    padding: 714px 0 0;
  }
  .philosophy-logoBlock01 {
    max-width: 1000px;
    margin: 0 auto;
  }
  .philosophy-logoBlock01 > .inner {
    padding: 274px 60px 0;
  }
  .philosophy-misson01 {
    padding: 0 0 0 360px;
  }
}
