:root {
  --color-font-base: #000;
  --color-font-base-2: #34332E;
  --color-font-sub: #605E56;
  --color-base: #38393F;
  --color-base02: #F5F5F5;
  --color-main: #003662;
  --color-accent01: #06F;
  --color-accent02: #13527F;
  --color-white: #fff;
  --f-size-68: 6.8rem;
  --f-size-66: 6.6rem;
  --f-size-60: 6.0rem;
  --f-size-50: 5.0rem;
  --f-size-42: 4.2rem;
  --f-size-40: 4.0rem;
  --f-size-38: 3.8rem;
  --f-size-36: 3.6rem;
  --f-size-32: 3.2rem;
  --f-size-30: 3rem;
  --f-size-28: 2.8rem;
  --f-size-26: 2.6rem;
  --f-size-24: 2.4rem;
  --f-size-22: 2.2rem;
  --f-size-20: 2rem;
  --f-size-18: 1.8rem;
  --f-size-17: 1.7rem;
  --f-size-16: 1.6rem;
  --f-size-18: 1.8rem;
  --f-size-14: 1.4rem;
  --f-size-13: 1.3rem;
  --f-size-12: 1.2rem;
  --f-size-10: 1.0rem;
  --f-weight-300: 300;
  --f-weight-400: 400;
  --f-weight-500: 500;
  --f-weight-600: 600;
  --f-weight-700: 700;
}

#main {
  background-image: url("/assets/images/topics/topics-bg.jpg");
  background-repeat: repeat;
  background-size: contain;
  padding-block: 140px;
  position: relative;
  z-index: 2;
  display: -ms-grid;
  display: grid;
  row-gap: 120px;
}
#main.topics-detail {
  background-image: none;
}
@media screen and (max-width: 767px) {
  #main {
    padding-block: 90px;
    row-gap: 40px;
  }
}
#main::before {
  content: "";
  display: block;
  width: 230px;
  height: 313px;
  background-image: url("/assets/images/brandconcept/brandconcept-bg01.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: absolute;
  right: 0;
  top: 110px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #main::before {
    width: 28.2051vw;
    height: 38.4615vw;
    top: 20.5128;
  }
}
#main::after {
  content: "";
  display: block;
  width: 280px;
  height: 346px;
  background-image: url("/assets/images/brandconcept/brandconcept-bg02.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: absolute;
  left: 0;
  bottom: 20px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #main::after {
    width: 30.7692vw;
    height: 38.2051vw;
    bottom: -5.1282vw;
  }
}

.page-section {
  max-width: 880px;
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  row-gap: 20px;
  -webkit-margin-after: 64px;
          margin-block-end: 64px;
}
@media screen and (max-width: 767px) {
  .page-section {
    padding-inline: 20px;
  }
}
.page-section h2 {
  font-size: var(--f-size-26);
  font-weight: 500;
  line-height: 1.7;
}
.page-section h2.f-size-36 {
  font-size: var(--f-size-36);
}
.page-section .text-box {
  display: -ms-grid;
  display: grid;
  row-gap: 1em;
}
.page-section .text-box p {
  color: var(--color-font-base-2);
  line-height: 1.8;
}

.brandconcept-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .brandconcept-img {
    padding-inline: 20px;
  }
}
/*# sourceMappingURL=brandconcept.css.map */