/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

body, header, footer, section, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  width: 100%;
  overflow-y: scroll;
  font-size: 62.5%;
  scroll-behavior: smooth;
  margin-top: 0 !important; }

img {
  height: auto;
  max-width: 100%;
  -webkit-backface-visibility: hidden; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  vertical-align: top; }

th {
  text-align: left; }

li {
  list-style: none; }

a {
  will-change: transform, opacity;
  outline: none;
  color: #333333;
  text-decoration: none; }

a:-webkit-any-link {
  color: #333333; }

address {
  font-style: normal; }

/* -------------------------
 * MV

 * ------------------------- */
.philosophy__under-mv {
  background: url(../img/philosophy/mv.webp) no-repeat center top/cover; }

.philosophy .under-mv__page-ttl {
  margin-bottom: -4.2rem; }
  @media (max-width: 639px) {
    .philosophy .under-mv__page-ttl {
      margin-bottom: -3.2rem; } }
.philosophy .under-mv__page-ttl--en {
  font-size: 7rem; }
  @media (max-width: 639px) {
    .philosophy .under-mv__page-ttl--en {
      font-size: 5.5rem; } }
.philosophy__under-mv {
  margin-bottom: 0; }
.philosophy__background {
  background: url(../img/philosophy/background-image.png) no-repeat center top/cover; }
.philosophy__first-block {
  padding: 12rem 0;
  position: relative;
  z-index: 1;
  border-bottom: 1px solid #CCCCCC; }
  @media screen and (max-width: 834px) {
    .philosophy__first-block {
      padding: 7rem 0; } }
.philosophy__lead {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #888888;
  font-size: 17px;
  margin-bottom: 5.7rem; }
  @media screen and (max-width: 834px) {
    .philosophy__lead {
      margin-bottom: 2rem; } }
  .philosophy__lead img {
    width: 11px;
    height: 11px; }
.philosophy__catch {
  width: 100%;
  text-align: left;
  font-size: 2.7rem; }
  @media screen and (max-width: 834px) {
    .philosophy__catch {
      font-size: 2.2rem;
      margin-bottom: 2rem; } }
.philosophy__txt-wrap {
  width: 100%;
  font-size: 1.9rem;
  color: #222222; }
  @media screen and (max-width: 834px) {
    .philosophy__txt-wrap {
      font-size: 1.6rem; } }
.philosophy__second-block {
  padding: 8.8rem 0 11rem;
  border-bottom: 1px solid #CCCCCC; }
  @media screen and (max-width: 834px) {
    .philosophy__second-block {
      padding: 4rem 0 5rem; } }
.philosophy__third-block {
  padding: 8.8rem 0 11rem; }
  @media screen and (max-width: 834px) {
    .philosophy__third-block {
      padding: 4rem 0 5rem; } }
  .philosophy__third-block .philosophy__catch {
    font-size: 2.2rem; }
    @media screen and (max-width: 834px) {
      .philosophy__third-block .philosophy__catch {
        font-size: 2rem; } }
.philosophy .philosophy__list {
  margin-top: 6rem; }
  @media screen and (max-width: 834px) {
    .philosophy .philosophy__list {
      margin-top: 5rem; } }
.philosophy .philosophy__item {
  display: flex;
  gap: 6.8rem;
  margin-bottom: 3.6rem;
  position: relative;
  align-items: flex-start; }
  @media screen and (max-width: 834px) {
    .philosophy .philosophy__item {
      gap: 3.5rem;
      margin-bottom: 2rem; } }
  .philosophy .philosophy__item:before {
    content: '';
    position: absolute;
    top: 15px;
    left: 6%;
    width: 35px;
    height: 1.1px;
    background-color: #CCCCCC; }
    @media screen and (max-width: 834px) {
      .philosophy .philosophy__item:before {
        top: 14px;
        left: 7%;
        width: 24px;
        height: 1px; } }
.philosophy .philosophy__number {
  font-size: 1.9rem;
  color: #77968B; }
  @media screen and (max-width: 834px) {
    .philosophy .philosophy__number {
      font-size: 1.6rem; } }
.philosophy .philosophy__item p {
  margin: 0;
  line-height: 1.8;
  font-size: 2rem;
  font-weight: 300; }
  @media screen and (max-width: 834px) {
    .philosophy .philosophy__item p {
      font-size: 1.6rem; } }
