@charset "UTF-8";
:root {
  --philosophy-color: #004976;
}

/*=====================================================
  reset
=====================================================*/
.tdHeadTitleLv3 {
  margin-bottom: 0;
}

.pbMainArea {
  padding-top: 0;
}

/*=====================================================
  breadcrumb-td
=====================================================*/
.breadcrumb-td {
  margin: 0 auto;
  position: relative;
  color: var(--white);
  background-color: var(--brandPrimaryDarken);
}
.breadcrumb-td a {
  color: var(--borderOnColorAccent);
  background-image: var(--chevronRightBoldWhite);
}

/*=====================================================
  ideaPhilosophy
=====================================================*/
.ideaPhilosophy {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 80px 20px;
  color: var(--white);
  background-color: var(--brandPrimaryDarken);
  background-image: url(/library/td2026/images/company/idea/philosophy_bg_sp.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy {
    width: 1440px;
    margin: 0;
    padding-bottom: 160px;
    position: relative;
    left: -150px;
    background-image: url(/library/td2026/images/company/idea/philosophy_bg.png);
  }
}
@media print, screen and (min-width: 1280px) {
  .ideaPhilosophy {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    left: 0;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner {
    width: 1140px;
    margin: 0 auto;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__mainTitle {
  width: 100%;
  margin: 0 0 12px 0;
  padding: 12px 0;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: var(--fontWeightBlack);
  text-align: center;
  background-color: var(--philosophy-color);
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__mainTitle {
    font-size: 36px;
    font-size: 2.25rem;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__title {
  width: 100%;
  margin: 0 0 4px 0;
  padding: 12px 0;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.25;
  font-weight: var(--fontWeightBlack);
  text-align: center;
  background-color: var(--philosophy-color);
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__title {
    width: 178px;
    margin-right: 8px;
    margin-bottom: 12px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.25;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__block {
  width: 100%;
  margin: 0 0 12px 0;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: var(--philosophy-color);
  background-color: var(--white);
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__block {
    width: calc(100% - 186px);
    padding: 20px 48px;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__purposeTitle {
  width: 100%;
  margin: 0 0 20px 0;
  padding: 0;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: var(--fontWeightBlackEn);
  line-height: 1.25;
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__purposeTitle {
    font-size: 32px;
    font-size: 2rem;
    text-align: left;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__purposeTitle strong {
  font-size: 38px;
  font-size: 2.375rem;
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__purposeTitle strong {
    font-size: 40px;
    font-size: 2.5rem;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__purposeText {
  width: 100%;
  margin: 0 0 0 18px;
  padding: 0;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.25;
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__purposeText {
    font-size: 28px;
    font-size: 1.75rem;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__value {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__value dt {
  width: 112px;
  margin: 0 20px 0 0;
  padding: 0;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: var(--fontWeightBlackEn);
  line-height: 1.25;
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__value dt {
    width: 134px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__value dd {
  width: calc(100% - 132px);
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__value dd {
    width: calc(100% - 154px);
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__vision {
  margin: 0;
  padding: 0;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.25;
  font-weight: var(--fontWeightBlack);
}
@media print, screen and (min-width: 769px) {
  .ideaPhilosophy .ideaPhilosophy__inner .ideaPhilosophy__vision {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

/*=====================================================
  ideaMovie
=====================================================*/
.ideaMovie {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 20px 80px 20px;
  position: relative;
  color: var(--white);
  background-image: url(/library/td2026/images/company/idea/movie_bg_sp.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}
@media print, screen and (min-width: 769px) {
  .ideaMovie {
    width: 1440px;
    margin: 0;
    padding: 0 0 112px 0;
    position: relative;
    left: -150px;
    background-image: url(/library/td2026/images/company/idea/movie_bg.png);
  }
}
@media print, screen and (min-width: 1280px) {
  .ideaMovie {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    left: 0;
  }
}
.ideaMovie .ideaMovie__inner {
  width: 100%;
  padding: 32px 0;
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .ideaMovie .ideaMovie__inner {
    width: 1140px;
    margin: 0 auto;
    padding: 64px 0;
  }
}
.ideaMovie .ideaMovie__titleEn {
  width: 100%;
  margin: 0 0 4px 0;
  font-family: Roboto, sans-serif;
  font-size: 64px;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -0.05rem;
  font-weight: var(--fontWeightSemiBoldEn);
  transform: translateY(-30px);
  opacity: 0.3;
}
@media print, screen and (min-width: 769px) {
  .ideaMovie .ideaMovie__titleEn {
    margin-bottom: 20px;
    font-size: 80px;
    font-size: 5rem;
    line-height: 0.7;
  }
}
.ideaMovie .ideaMovie__titleJa {
  width: 100%;
  margin: 0 0 32px 0;
  padding: 0;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: var(--fontWeightBlack);
}
@media print, screen and (min-width: 769px) {
  .ideaMovie .ideaMovie__titleJa {
    margin-bottom: 80px;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1;
  }
}
.ideaMovie .ideaMovie__youtube {
  margin: 0 auto 16px auto;
}
@media print, screen and (min-width: 769px) {
  .ideaMovie .ideaMovie__youtube {
    width: 800px;
  }
}
.ideaMovie .ideaMovie__caption {
  margin: 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.7;
}
@media print, screen and (min-width: 769px) {
  .ideaMovie .ideaMovie__caption {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.75;
  }
}

/*=====================================================
  ideaSpiritTitle
=====================================================*/
.ideaSpiritTitle {
  width: 100%;
}
.ideaSpiritTitle .ideaSpiritTitle__en {
  margin: 0 0 8px 0;
  padding: 0;
  position: relative;
  font-size: 56px;
  font-size: 3.5rem;
  font-family: Roboto, sans-serif;
  color: var(--philosophy-color);
  letter-spacing: -0.08rem;
  font-weight: var(--fontWeightBoldEn);
}
@media print, screen and (min-width: 769px) {
  .ideaSpiritTitle .ideaSpiritTitle__en {
    font-size: 64px;
    font-size: 4rem;
    margin-bottom: 64px;
  }
}
.ideaSpiritTitle .ideaSpiritTitle__en::after {
  width: 64px;
  height: 1px;
  display: block;
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  background-color: var(--textTitleEn);
}
@media print, screen and (min-width: 769px) {
  .ideaSpiritTitle .ideaSpiritTitle__en::after {
    width: 856px;
  }
}
@media print, screen and (min-width: 769px) {
  .ideaSpiritTitle .ideaSpiritTitle__en.ideaSpiritTitle__en--vision:after {
    width: 760px;
  }
}
.ideaSpiritTitle .ideaSpiritTitle__ja {
  margin: 0 0 32px 0;
  padding: 0;
  position: relative;
  font-size: 20px;
  font-size: 1.25rem;
  color: var(--philosophy-color);
  font-weight: var(--fontWeightBlack);
}
@media print, screen and (min-width: 769px) {
  .ideaSpiritTitle .ideaSpiritTitle__ja {
    font-size: 24px;
    font-size: 1.5rem;
  }
}

/*=====================================================
  ideaPurpose
=====================================================*/
.ideaPurpose {
  width: 100%;
  margin: 0 0 72px 0;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose {
    margin-bottom: 96px;
  }
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaSpiritTitle .ideaSpiritTitle__en::after {
    width: 824px;
  }
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__block {
    width: 946px;
    margin: 0 0 0 194px;
  }
}
.ideaPurpose .ideaPurpose__slogan {
  width: 100%;
  margin: 0;
  padding: 12px 12px;
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
  color: var(--philosophy-color);
  font-weight: var(--fontWeightBlackEn);
  line-height: 1.25;
  letter-spacing: 0.04rem;
  background-color: var(--backGroundSubtleAccent);
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__slogan {
    margin-bottom: 32px;
    padding: 12px 24px;
    font-size: 38px;
    font-size: 2.375rem;
    text-align: left;
  }
}
.ideaPurpose .ideaPurpose__sloganDetail {
  margin-bottom: 32px;
  padding-left: 26px;
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__sloganDetail {
    margin-bottom: 48px;
  }
}
.ideaPurpose .ideaPurpose__sloganDetail li {
  margin: 0 0 8px 0;
  padding: 0;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.25;
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__sloganDetail li {
    font-size: 28px;
    font-size: 1.75rem;
  }
}
.ideaPurpose .ideaPurpose__sloganDetail li strong {
  padding: 0.1rem 0.4rem 0.2rem 0.4rem;
  display: inline;
  color: var(--white);
  font-weight: var(--fontWeightBlack);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background-color: var(--philosophy-color);
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__sloganDetail li strong {
    margin-right: 8px;
  }
}
.ideaPurpose .ideaPurpose__mission {
  width: 100%;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__mission {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.ideaPurpose .ideaPurpose__mission .ideaPurpose__missionTitle {
  width: 100%;
  margin: 0 0 20px 0;
  padding: 10px;
  font-size: 20px;
  font-size: 1.25rem;
  color: var(--philosophy-color);
  font-weight: var(--fontWeightBlack);
  text-align: center;
  border: 2px solid var(--philosophy-color);
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__mission .ideaPurpose__missionTitle {
    width: 56px;
    writing-mode: sideways-rl;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__mission .ideaPurpose__missionInner {
    width: 862px;
  }
}
.ideaPurpose .ideaPurpose__mission .ideaPurpose__missionSlogan {
  width: 100%;
  margin: 0 0 24px 0;
  padding: 16px;
  font-size: 20px;
  font-size: 1.25rem;
  color: var(--philosophy-color);
  font-weight: var(--fontWeightBold);
  line-height: 1.25;
  letter-spacing: 0.04rem;
  background-color: var(--backGroundSubtleAccent);
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__mission .ideaPurpose__missionSlogan {
    padding: 11px 16px;
    font-size: 28px;
    font-size: 1.75rem;
  }
}
.ideaPurpose .ideaPurpose__mission .ideaPurpose__missionLead {
  margin: 0 0 24px 0;
  padding: 0;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.25;
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__mission .ideaPurpose__missionLead {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
.ideaPurpose .ideaPurpose__mission .ideaPurpose__missionLead strong {
  font-weight: var(--fontWeightBold);
  color: var(--philosophy-color);
}
.ideaPurpose .ideaPurpose__mission .ideaPurpose__missionDetail {
  margin: 0 0 0 24px;
  padding: 0;
}
.ideaPurpose .ideaPurpose__mission .ideaPurpose__missionDetail li {
  margin: 0 0 12px 0;
  padding: 0 0 0 20px;
  list-style: none;
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}
@media print, screen and (min-width: 769px) {
  .ideaPurpose .ideaPurpose__mission .ideaPurpose__missionDetail li {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.ideaPurpose .ideaPurpose__mission .ideaPurpose__missionDetail li::before {
  width: 10px;
  height: 2px;
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  background-color: var(--philosophy-color);
}
.ideaPurpose .ideaPurpose__mission .ideaPurpose__missionDetail li strong {
  font-weight: var(--fontWeightBold);
  color: var(--philosophy-color);
}

/*=====================================================
  ideaValue
=====================================================*/
.ideaValue {
  width: 100%;
  margin: 0 0 72px 0;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  .ideaValue .ideaValue__inner {
    width: 946px;
    margin: 0 0 0 194px;
  }
}
.ideaValue .ideaValue__titleBlock {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .ideaValue .ideaValue__titleBlock {
    height: 112px;
    margin-bottom: 8px;
  }
}
.ideaValue .ideaValue__titleBlock .ideaValue__titleCircle {
  width: 84px;
  height: 84px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 10;
  font-size: 16px;
  font-size: 1rem;
  font-weight: var(--fontWeightBlack);
  color: var(--philosophy-color);
  text-align: center;
  letter-spacing: 0;
  border-radius: 50%;
  border: 10px solid var(--backGroundSubtleAccent);
  background-color: var(--white);
}
@media print, screen and (min-width: 769px) {
  .ideaValue .ideaValue__titleBlock .ideaValue__titleCircle {
    width: 112px;
    height: 112px;
    margin: 0;
    font-size: 17px;
    font-size: 1.0625rem;
    position: absolute;
    left: 0;
    top: 0;
    border-width: 15px;
  }
}
.ideaValue .ideaValue__titleBlock .ideaValue__title {
  width: 100%;
  margin: 0;
  padding: 14px;
  display: block;
  position: relative;
  top: -20px;
  left: 0;
  z-index: 1;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.25;
  color: var(--philosophy-color);
  background-color: var(--backGroundSubtleAccent);
}
@media print, screen and (min-width: 769px) {
  .ideaValue .ideaValue__titleBlock .ideaValue__title {
    width: calc(100% - 56px);
    padding: 8px 24px 8px 70px;
    position: absolute;
    left: 56px;
    top: 28px;
    font-size: 27px;
    font-size: 1.6875rem;
  }
}
.ideaValue .ideaValue__lead {
  width: 100%;
  margin: 0 0 16px 0;
  padding: 0;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.25;
}
.ideaValue .ideaValue__lead strong {
  color: var(--philosophy-color);
}
@media print, screen and (min-width: 769px) {
  .ideaValue .ideaValue__lead {
    padding-left: 98px;
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.ideaValue .ideaValue__list {
  margin: 0 0 40px 0;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  .ideaValue .ideaValue__list {
    margin-bottom: 30px;
    padding-left: 98px;
  }
}
.ideaValue .ideaValue__list li {
  margin: 0;
  padding: 0 0 0 22px;
  list-style: none;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .ideaValue .ideaValue__list li {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.ideaValue .ideaValue__list li::before {
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  content: "・";
  position: absolute;
  left: 6px;
  top: 0;
}

/*=====================================================
  ideaVision
=====================================================*/
.ideaVision {
  width: 100%;
  margin: 0 0 72px 0;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  .ideaVision {
    margin-bottom: 120px;
  }
}
@media print, screen and (min-width: 769px) {
  .ideaVision .ideaVision__inner {
    width: 946px;
    margin: 0 0 0 194px;
  }
}
.ideaVision .ideaVision__title {
  width: 100%;
  margin: 0 0 24px 0;
  padding: 16px;
  font-size: 20px;
  font-size: 1.25rem;
  color: var(--philosophy-color);
  font-weight: var(--fontWeightBold);
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.04rem;
  background-color: var(--backGroundSubtleAccent);
}
@media print, screen and (min-width: 769px) {
  .ideaVision .ideaVision__title {
    margin-bottom: 34px;
    padding: 8px 26px;
    font-size: 28px;
    font-size: 1.75rem;
    text-align: left;
  }
}
.ideaVision .ideaVision__detail {
  width: 100%;
  margin: 0;
  padding: 0 0 0 40px;
}
@media print, screen and (min-width: 769px) {
  .ideaVision .ideaVision__detail {
    margin-bottom: 32px;
    padding-left: 24px;
  }
}
.ideaVision .ideaVision__detail li {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.25;
}
@media print, screen and (min-width: 769px) {
  .ideaVision .ideaVision__detail li {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.ideaVision .ideaVision__detail li strong {
  color: var(--philosophy-color);
}