.philosophy__description *:not(h1, h2, h3, h4, h5, h6) {
  font-size: var(--tdfs-body);
  font-family: Noto Sans JP;
  font-weight: 300;
  line-height: 2;
}
.philosophy__description h1, .philosophy__description h2, .philosophy__description h3, .philosophy__description h4, .philosophy__description h5, .philosophy__description h6 {
  font-size: var(--tdfs-body-l);
  font-family: Noto Sans JP;
  font-weight: 600;
  line-height: 1.2;
}
.custom-breadcrumb__item {
  font-size: var(--tdfs-body-s);
  font-family: Noto Sans JP;
  font-weight: 300;
  line-height: 1.7;
}
.page-header {
  position: relative;
  overflow: hidden;
}
.page-header__image-container {
  position: relative;
  width: 100%;
  display: block;
}
.page-header__image-container:before {
  content: "";
  display: block;
  padding-top: 31.25%;
}
.page-header__image-container .ratio-item {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .page-header__image-container:before {
    padding-top: 73.3333333333%;
  }
}
.page-header__image-container {
  opacity: 0;
}
.page-header__image-container img {
  transform: scale(1.05);
}
.page-header__image-container::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(103, 148, 255, 0.2);
}
.page-header__title-wrapper {
  position: absolute;
  z-index: 3;
  bottom: -5px;
  left: 0;
  background-color: #FFFFFF;
  border-top-right-radius: 2.0833333333vw;
  padding: 2.0833333333vw;
}
@media screen and (max-width: 1440px) {
  .page-header__title-wrapper {
    border-top-right-radius: 2.7777777778vw;
  }
}
@media screen and (max-width: 767px) {
  .page-header__title-wrapper {
    border-top-right-radius: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .page-header__title-wrapper {
    border-top-right-radius: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .page-header__title-wrapper {
    border-top-right-radius: 6.4vw;
  }
}
@media screen and (max-width: 1440px) {
  .page-header__title-wrapper {
    padding: 2.7777777778vw;
  }
}
@media screen and (max-width: 767px) {
  .page-header__title-wrapper {
    padding: 2.0860495437vw 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .page-header__title-wrapper {
    padding: 3.3333333333vw 5vw;
  }
}
@media screen and (max-width: 375px) {
  .page-header__title-wrapper {
    padding: 4.2666666667vw 6.4vw;
  }
}
.page-header__title {
  margin-bottom: 1.4583333333vw;
}
@media screen and (max-width: 1440px) {
  .page-header__title {
    margin-bottom: 1.9444444444vw;
  }
}
@media screen and (max-width: 767px) {
  .page-header__title {
    margin-bottom: 2.6075619296vw;
  }
}
@media screen and (max-width: 480px) {
  .page-header__title {
    margin-bottom: 4.1666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .page-header__title {
    margin-bottom: 5.3333333333vw;
  }
}
.page-header__subtitle {
  color: #153175;
}

.custom-breadcrumb {
  --bs-breadcrumb-divider: url("data:image/svg+xml,%3Csvg width='6' height='10' viewBox='0 0 6 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 10V0L5.5 5L0.5 10Z' fill='%23153175'/%3E%3C/svg%3E");
  --bs-breadcrumb-item-padding-x: 0.8854166667vw;
  display: block;
  text-align: center;
  margin: 1.25vw 0.625vw;
  white-space: nowrap;
  overflow: auto;
}
@media screen and (max-width: 1440px) {
  .custom-breadcrumb {
    --bs-breadcrumb-item-padding-x: 1.1805555556vw;
  }
}
@media screen and (max-width: 767px) {
  .custom-breadcrumb {
    --bs-breadcrumb-item-padding-x: 2.2164276402vw;
  }
}
@media screen and (max-width: 480px) {
  .custom-breadcrumb {
    --bs-breadcrumb-item-padding-x: 3.5416666667vw;
  }
}
@media screen and (max-width: 375px) {
  .custom-breadcrumb {
    --bs-breadcrumb-item-padding-x: 4.5333333333vw;
  }
}
@media screen and (max-width: 1440px) {
  .custom-breadcrumb {
    margin: 1.6666666667vw 0.8333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .custom-breadcrumb {
    margin: 3.1290743155vw 1.5645371578vw;
  }
}
@media screen and (max-width: 480px) {
  .custom-breadcrumb {
    margin: 5vw 2.5vw;
  }
}
@media screen and (max-width: 375px) {
  .custom-breadcrumb {
    margin: 6.4vw 3.2vw;
  }
}
.custom-breadcrumb__item {
  display: inline-block;
  color: #153175;
  font-weight: 400;
  line-height: 1.7;
}
.custom-breadcrumb__item a {
  color: currentColor;
  text-decoration: none;
}
.custom-breadcrumb__item > * {
  color: currentColor;
  border-bottom: 1px solid #D4D4D4;
}
.custom-breadcrumb__item.active {
  color: #153175;
}

.section-title {
  text-align: center;
}
.section-title__icon-container {
  position: relative;
  width: 100%;
  display: inline-block;
  max-width: 1.9791666667vw;
}
@media screen and (max-width: 1440px) {
  .section-title__icon-container {
    max-width: 2.6388888889vw;
  }
}
@media screen and (max-width: 767px) {
  .section-title__icon-container {
    max-width: 4.9543676662vw;
  }
}
@media screen and (max-width: 480px) {
  .section-title__icon-container {
    max-width: 7.9166666667vw;
  }
}
@media screen and (max-width: 375px) {
  .section-title__icon-container {
    max-width: 10.1333333333vw;
  }
}
.section-title__icon-container:before {
  content: "";
  display: block;
  padding-top: 94.7368421053%;
}
.section-title__icon-container .ratio-item {
  -o-object-fit: contain;
     object-fit: contain;
}
.section-title__icon-container {
  margin-bottom: 0.5208333333vw;
}
@media screen and (max-width: 1440px) {
  .section-title__icon-container {
    margin-bottom: 0.6944444444vw;
  }
}
@media screen and (max-width: 767px) {
  .section-title__icon-container {
    margin-bottom: 0.7822685789vw;
  }
}
@media screen and (max-width: 480px) {
  .section-title__icon-container {
    margin-bottom: 1.25vw;
  }
}
@media screen and (max-width: 375px) {
  .section-title__icon-container {
    margin-bottom: 1.6vw;
  }
}
.section-title__title {
  font-family: Noto Sans JP;
  font-size: 1.6666666667vw;
  font-weight: 300;
  line-height: 1.3;
  text-align: center;
  color: #153175;
  margin-bottom: 0;
}
@media screen and (max-width: 1440px) {
  .section-title__title {
    font-size: 2.2222222222vw;
  }
}
@media screen and (max-width: 767px) {
  .section-title__title {
    font-size: 3.3898305085vw;
  }
}
@media screen and (max-width: 480px) {
  .section-title__title {
    font-size: 5.4166666667vw;
  }
}
@media screen and (max-width: 375px) {
  .section-title__title {
    font-size: 6.9333333333vw;
  }
}

.intro {
  padding: 6.25vw 0vw;
}
.intro__image-container {
  position: relative;
  width: 100%;
  display: block;
}
.intro__image-container:before {
  content: "";
  display: block;
  padding-top: 57.9310344828%;
}
.intro__image-container .ratio-item {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1440px) {
  .intro {
    padding: 8.3333333333vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .intro {
    padding: 1.0430247718vw 0vw 4.1720990874vw 0vw;
  }
}
@media screen and (max-width: 480px) {
  .intro {
    padding: 1.6666666667vw 0vw 6.6666666667vw 0vw;
  }
}
@media screen and (max-width: 375px) {
  .intro {
    padding: 2.1333333333vw 0vw 8.5333333333vw 0vw;
  }
}
.intro__title {
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 1440px) {
  .intro__title {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .intro__title {
    margin-bottom: 4.1720990874vw;
  }
}
@media screen and (max-width: 480px) {
  .intro__title {
    margin-bottom: 6.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .intro__title {
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .intro__image-container {
    margin-bottom: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .intro__image-container {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .intro__image-container {
    margin-bottom: 6.4vw;
  }
}
.intro__heading {
  background: linear-gradient(180deg, #143175 0%, #5770AA 100%);
  padding: 0.8333333333vw;
  color: #FFFFFF;
  margin-bottom: 1.25vw;
  text-align: center;
  border-radius: 0.4166666667vw;
}
@media screen and (max-width: 1440px) {
  .intro__heading {
    padding: 1.1111111111vw;
  }
}
@media screen and (max-width: 767px) {
  .intro__heading {
    padding: 2.0860495437vw;
  }
}
@media screen and (max-width: 480px) {
  .intro__heading {
    padding: 3.3333333333vw;
  }
}
@media screen and (max-width: 375px) {
  .intro__heading {
    padding: 4.2666666667vw;
  }
}
@media screen and (max-width: 1440px) {
  .intro__heading {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .intro__heading {
    margin-bottom: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .intro__heading {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .intro__heading {
    margin-bottom: 6.4vw;
  }
}
@media screen and (max-width: 1440px) {
  .intro__heading {
    border-radius: 0.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .intro__heading {
    border-radius: 1.0430247718vw;
  }
}
@media screen and (max-width: 480px) {
  .intro__heading {
    border-radius: 1.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .intro__heading {
    border-radius: 2.1333333333vw;
  }
}
.intro__description {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 1440px) {
  .intro__description {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .intro__description {
    margin-bottom: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .intro__description {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .intro__description {
    margin-bottom: 6.4vw;
  }
}
.intro__ceo-name {
  font-family: "Yuji Boku", serif;
  font-weight: 400;
  text-align: right;
  line-height: 2;
  margin-top: 1.25vw;
  margin-bottom: 0;
}
@media screen and (max-width: 1440px) {
  .intro__ceo-name {
    margin-top: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .intro__ceo-name {
    margin-top: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .intro__ceo-name {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .intro__ceo-name {
    margin-top: 6.4vw;
  }
}
.intro__image-bottom {
  width: 100%;
  height: 20.8333333333vw;
}
@media screen and (max-width: 1440px) {
  .intro__image-bottom {
    height: 27.7777777778vw;
  }
}
@media screen and (max-width: 767px) {
  .intro__image-bottom {
    height: 13.037809648vw;
  }
}
@media screen and (max-width: 480px) {
  .intro__image-bottom {
    height: 20.8333333333vw;
  }
}
@media screen and (max-width: 375px) {
  .intro__image-bottom {
    height: 26.6666666667vw;
  }
}
.intro__image-bottom img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.philosophy {
  padding: 6.25vw 0vw 0vw 0vw;
}
.philosophy__image-container {
  position: relative;
  width: 100%;
  display: block;
}
.philosophy__image-container:before {
  content: "";
  display: block;
  padding-top: 34.2797783934%;
}
.philosophy__image-container .ratio-item {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1440px) {
  .philosophy {
    padding: 8.3333333333vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .philosophy {
    padding: 4.1720990874vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 480px) {
  .philosophy {
    padding: 6.6666666667vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 375px) {
  .philosophy {
    padding: 8.5333333333vw 0vw 0vw 0vw;
  }
}
.philosophy__title {
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 1440px) {
  .philosophy__title {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__title {
    margin-bottom: 4.1720990874vw;
  }
}
@media screen and (max-width: 480px) {
  .philosophy__title {
    margin-bottom: 6.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .philosophy__title {
    margin-bottom: 8.5333333333vw;
  }
}
.philosophy__subtitle {
  margin-bottom: 1.25vw;
  line-height: 1.4;
}
@media screen and (max-width: 1440px) {
  .philosophy__subtitle {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__subtitle {
    margin-bottom: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .philosophy__subtitle {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .philosophy__subtitle {
    margin-bottom: 6.4vw;
  }
}
@media (max-width: 767px) {
  .philosophy__subtitle {
    text-align: left;
  }
}
.philosophy__image-container {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 1440px) {
  .philosophy__image-container {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__image-container {
    margin-bottom: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .philosophy__image-container {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .philosophy__image-container {
    margin-bottom: 6.4vw;
  }
}
.philosophy__description {
  color: #000000;
}
.philosophy__description h1, .philosophy__description h2, .philosophy__description h3, .philosophy__description h4, .philosophy__description h5, .philosophy__description h6 {
  line-height: 1.7;
}
.philosophy__description *:not(h1, h2, h3, h4, h5, h6) {
  line-height: 1.7;
}
.philosophy__description p {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 1440px) {
  .philosophy__description p {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__description p {
    margin-bottom: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .philosophy__description p {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .philosophy__description p {
    margin-bottom: 6.4vw;
  }
}

.information {
  padding-top: 6.25vw;
}
@media screen and (max-width: 1440px) {
  .information {
    padding-top: 8.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .information {
    padding-top: 4.1720990874vw;
  }
}
@media screen and (max-width: 480px) {
  .information {
    padding-top: 6.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .information {
    padding-top: 8.5333333333vw;
  }
}
.information + .information {
  padding-top: 6.25vw;
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 1440px) {
  .information + .information {
    padding-top: 8.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .information + .information {
    padding-top: 4.1720990874vw;
  }
}
@media screen and (max-width: 480px) {
  .information + .information {
    padding-top: 6.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .information + .information {
    padding-top: 8.5333333333vw;
  }
}
@media screen and (max-width: 1440px) {
  .information + .information {
    padding-bottom: 8.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .information + .information {
    padding-bottom: 4.1720990874vw;
  }
}
@media screen and (max-width: 480px) {
  .information + .information {
    padding-bottom: 6.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .information + .information {
    padding-bottom: 8.5333333333vw;
  }
}
.information__title {
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 1440px) {
  .information__title {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .information__title {
    margin-bottom: 4.1720990874vw;
  }
}
@media screen and (max-width: 480px) {
  .information__title {
    margin-bottom: 6.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .information__title {
    margin-bottom: 8.5333333333vw;
  }
}
.information__list {
  display: flex;
  align-items: stretch;
  gap: 3.6458333333vw;
  border-bottom: 1px solid #D5DAE8;
}
@media screen and (max-width: 1440px) {
  .information__list {
    gap: 4.8611111111vw;
  }
}
@media screen and (max-width: 767px) {
  .information__list {
    gap: 0vw;
  }
}
@media screen and (max-width: 480px) {
  .information__list {
    gap: 0vw;
  }
}
@media screen and (max-width: 375px) {
  .information__list {
    gap: 0vw;
  }
}
.information__list:first-child {
  border-top: 1px solid #D5DAE8;
}
.information__list:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .information__list {
    flex-direction: column;
    border-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .information__list {
    margin-bottom: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .information__list {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .information__list {
    margin-bottom: 6.4vw;
  }
}
.information__list-title {
  flex: 0 0 16%;
  background-color: #F0F3F7;
  padding: 0.8333333333vw;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1440px) {
  .information__list-title {
    padding: 1.1111111111vw;
  }
}
@media screen and (max-width: 767px) {
  .information__list-title {
    padding: 0.5215123859vw;
  }
}
@media screen and (max-width: 480px) {
  .information__list-title {
    padding: 0.8333333333vw;
  }
}
@media screen and (max-width: 375px) {
  .information__list-title {
    padding: 1.0666666667vw;
  }
}
.information__list-value {
  flex: 1 1 0;
  padding: 0.8333333333vw;
}
@media screen and (max-width: 1440px) {
  .information__list-value {
    padding: 1.1111111111vw;
  }
}
@media screen and (max-width: 767px) {
  .information__list-value {
    padding: 0.5215123859vw;
  }
}
@media screen and (max-width: 480px) {
  .information__list-value {
    padding: 0.8333333333vw;
  }
}
@media screen and (max-width: 375px) {
  .information__list-value {
    padding: 1.0666666667vw;
  }
}

.gallery {
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin-top: 2.6041666667vw;
}
@media screen and (max-width: 1440px) {
  .gallery {
    margin-top: 3.4722222222vw;
  }
}
@media screen and (max-width: 767px) {
  .gallery {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 480px) {
  .gallery {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 375px) {
  .gallery {
    margin-top: 0vw;
  }
}
.gallery__item {
  flex: 1 1 50%;
  display: block;
  min-height: 49.4791666667vw;
}
@media screen and (max-width: 1440px) {
  .gallery__item {
    min-height: 65.9722222222vw;
  }
}
@media screen and (max-width: 767px) {
  .gallery__item {
    min-height: 26.075619296vw;
  }
}
@media screen and (max-width: 480px) {
  .gallery__item {
    min-height: 41.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .gallery__item {
    min-height: 53.3333333333vw;
  }
}
.gallery__item:last-child {
  padding: 1.8229166667vw 0vw;
}
@media screen and (max-width: 1440px) {
  .gallery__item:last-child {
    padding: 2.4305555556vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .gallery__item:last-child {
    padding: 1.3037809648vw 0vw;
  }
}
@media screen and (max-width: 480px) {
  .gallery__item:last-child {
    padding: 2.0833333333vw 0vw;
  }
}
@media screen and (max-width: 375px) {
  .gallery__item:last-child {
    padding: 2.6666666667vw 0vw;
  }
}
.gallery__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.map {
  padding: 6.25vw 0vw;
}
@media screen and (max-width: 1440px) {
  .map {
    padding: 8.3333333333vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .map {
    padding: 4.1720990874vw 0vw;
  }
}
@media screen and (max-width: 480px) {
  .map {
    padding: 6.6666666667vw 0vw;
  }
}
@media screen and (max-width: 375px) {
  .map {
    padding: 8.5333333333vw 0vw;
  }
}
.map__title {
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 1440px) {
  .map__title {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .map__title {
    margin-bottom: 4.1720990874vw;
  }
}
@media screen and (max-width: 480px) {
  .map__title {
    margin-bottom: 6.6666666667vw;
  }
}
@media screen and (max-width: 375px) {
  .map__title {
    margin-bottom: 8.5333333333vw;
  }
}
.map__iframe > * {
  width: 100%;
  height: auto;
  aspect-ratio: 16/8;
}
.map__description {
  text-align: center;
  margin-top: 1.25vw;
  margin-bottom: 0;
}
@media screen and (max-width: 1440px) {
  .map__description {
    margin-top: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .map__description {
    margin-top: 3.1290743155vw;
  }
}
@media screen and (max-width: 480px) {
  .map__description {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 375px) {
  .map__description {
    margin-top: 6.4vw;
  }
}
@media (max-width: 767px) {
  .map__description {
    text-align: left;
  }
}

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