/* =========================================================
page
=========================================================*/
/* =========================================================
page
=========================================================*/
/* Abt - About
--------------------------------------------------------- */
.Abt-sec-about .l-sec--block {
  padding-block-start: 42px;
}
.Abt-sec-about .c-sec-ttl {
  font-size: min(5vw, 55px);
}

@media not all and (max-width: 767px) {
  .Abt-sec-about.l-sec {
    padding-block-end: 138px;
  }
}
@media (max-width: 767px) {
  .Abt-sec-about.l-sec {
    padding-block-end: 58px;
  }
}

/* Cmp - Company
--------------------------------------------------------- */
.Cmp-detail-list {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  -moz-column-gap: 1em;
       column-gap: 1em;
}
.Cmp-detail-list__item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
}
@supports not (grid-template-columns: subgrid) {
  .Cmp-detail-list__item {
    display: contents;
  }
}
.Cmp-detail-list__item > :where(dt) {
  font-weight: inherit;
}

.Cmp-page-block__image {
  text-align: center;
}

:is(.Cmp-sec-overview, .Cmp-sec-chart) .l-greybg {
  overflow: hidden;
  display: block;
}
@media not all and (max-width: 767px) {
  :is(.Cmp-sec-overview, .Cmp-sec-chart) .l-greybg {
    padding-inline: clamp(32px, 32px + (80 - 32) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 80px);
  }
}

@media not all and (max-width: 767px) {
  .Cmp-sec-overview .l-greybg {
    padding-block: 84px 75px;
  }
}
@media (max-width: 767px) {
  .Cmp-sec-overview .l-greybg {
    padding-block: 27px 40px;
  }
}

.Cmp-sec-overview .l-two-column {
  grid-template-columns: 150px 1fr;
  gap: min(2vw, 40px);
}

@media not all and (max-width: 767px) {
  .Cmp-sec-chart .l-greybg {
    padding-block: 62px 60px;
  }
}
@media (max-width: 767px) {
  .Cmp-sec-chart .l-greybg {
    padding-block: 30px;
  }
}
@media not all and (max-width: 767px) {
  .Cmp-sec-chart .c-sec-headline {
    margin-bottom: 0;
  }
}

/* Hom - Home
--------------------------------------------------------- */
.Hom-mv {
  position: relative;
  overflow: clip;
  inline-size: 100%;
}
@media not all and (max-width: 767px) {
  .Hom-mv {
    block-size: 1077px;
  }
}
@media (max-width: 767px) {
  .Hom-mv {
    block-size: calc(531 * var(--sp-ratio));
  }
}
.Hom-mv__hero {
  position: absolute;
  inset: 0;
  z-index: -1;
  inline-size: inherit;
  block-size: inherit;
}
.Hom-mv__hero img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  inline-size: 100%;
  block-size: 100%;
}
.Hom-mv__container {
  block-size: 100%;
  margin-inline: auto;
}
@media not all and (max-width: 767px) {
  .Hom-mv__container {
    inline-size: calc((var(--_w-mv-container_num, 1760) + var(--pi-container_num) * 2) / 1920 * 100vw);
    padding-top: 420px;
    padding-right: 11.3vw;
    padding-left: clamp(1vw, 26vw, 350px);
  }
}
@media (max-width: 767px) {
  .Hom-mv__container {
    padding-top: calc(82 * var(--sp-ratio));
    inline-size: 100%;
  }
}

@media not all and (max-width: 767px) {
  .Hom-mv__content {
    display: flex;
    justify-content: right;
    margin-block-end: calc(38 / 1920 * 100vw);
  }
}
@media (max-width: 767px) {
  .Hom-mv__content {
    margin-block-end: 24px;
  }
}

@media not all and (max-width: 767px) {
  .Hom-mv__ttl img {
    inline-size: 100%;
  }
}
.Hom-mv__ttl-sub {
  block-size: auto;
}
@media not all and (max-width: 767px) {
  .Hom-mv__ttl-sub {
    margin-block-end: 32px;
    margin-block-start: 50px;
    inline-size: clamp(1px, 60vw, 750px);
    font-size: calc(21 * var(--rem));
    line-height: 1.5;
  }
}
@media (max-width: 767px) {
  .Hom-mv__ttl-sub {
    margin-block-end: 20px;
    text-align: right;
    translate: -2em 0;
  }
  .Hom-mv__ttl-sub img {
    inline-size: clamp(123px, 123px + (252 - 123) * (100vw - var(--sp-width) * 1px) / (var(--bp-md_num) - var(--sp-width)), 252px);
  }
}

@media not all and (max-width: 767px) {
  .Hom-mv__ttl-main {
    inline-size: clamp(1px, 60vw, 687px);
  }
}
@media (max-width: 767px) {
  .Hom-mv__ttl-main {
    margin: 0 auto;
    inline-size: calc(315 * var(--sp-ratio));
  }
}

.Hom-mv__bgimg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media (max-width: 767px) {
  .Hom-mv__bgimg {
    text-align: center;
  }
}

.Hom-bg {
  position: relative;
}
@media not all and (max-width: 767px) {
  .Hom-bg::after {
    content: "";
    background: url(/tthas/assets/img/home/img_bg.png) bottom/cover no-repeat;
    width: 100vw;
    height: 100%;
    top: 0;
    right: 0;
    position: absolute;
    z-index: -1;
  }
}
.Hom-sec-philosophy {
  --_bgi-outer-container: url(/tthas/assets/img/home/img_philosophy.jpg);
  --_bgp-outer-container: bottom;
}
@media (max-width: 1048px) {
  .Hom-sec-philosophy {
    --_bgi-outer-container: url(/tthas/assets/img/home/img_philosophy_sp.jpg);
  }
}
@media not all and (max-width: 767px) {
  .Hom-sec-philosophy.l-sec {
    padding-block-end: 127px;
  }
}
.Hom-sec-philosophy .l-outer-container {
  --_pb-md-outer-container_num: 66;
  padding-block-end: clamp(var(--_pbe-md-philosophy-outer-container_num, 153) * 1px, var(--_pbe-md-philosophy-outer-container_num, 153) * 1px + (var(--_pbe-xl-philosophy-outer-container_num, 253) - var(--_pbe-md-philosophy-outer-container_num, 153)) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), var(--_pbe-xl-philosophy-outer-container_num, 253) * 1px);
}
@media not all and (max-width: 1048px) {
  .Hom-sec-philosophy .p-split-block {
    --_w-lg-split-body_num: 593;
    --_w-xxl-split-body_num: 790;
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-philosophy .c-btn {
    margin-block-start: 42px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-philosophy .c-btn {
    margin-inline-start: auto;
    margin-block-start: 30px;
  }
}
@media not all and (max-width: 767px) {
  .Hom-sec-philosophy .l-two-column__img img {
    position: absolute;
    inset: 0;
    width: auto;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media not all and (max-width: 767px) {
  .Hom-sec-philosophy .l-two-column__img {
    margin-top: 8px;
    margin-right: calc((100vw - 100%) / 2 * -1);
  }
}
@media (max-width: 767px) {
  .Hom-sec-philosophy .l-two-column__img {
    margin-top: calc(30 * var(--sp-ratio));
    margin-left: calc(-30 * var(--sp-ratio));
    margin-right: calc(-30 * var(--sp-ratio));
  }
}

@media (max-width: 767px) {
  .Hom-sec-about .l-container {
    padding-inline: 0;
  }
}
@media (max-width: 767px) {
  .Hom-sec-about.l-sec {
    padding-block-end: calc(34 * var(--sp-ratio));
  }
}
@media not all and (max-width: 767px) {
  .Hom-sec-about__container {
    width: 1280px;
  }
}
@media (max-width: 767px) {
  .Hom-sec-about__container {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .Hom-sec-service {
    position: relative;
  }
  .Hom-sec-service::after {
    content: "";
    background: url(/tthas/assets/img/home/img_bg_sp.png) top/contain no-repeat;
    width: 100%;
    height: 2430px;
    position: absolute;
    top: -200px;
    left: 0;
    z-index: -1;
  }
}
@media (max-width: 767px) {
  .Hom-sec-service.l-sec {
    padding-block-end: calc(60 * var(--sp-ratio));
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-service .l-two-column {
    gap: 43px;
    grid-template-columns: min(50vw, 630px) 1fr;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-service .l-two-column {
    grid-template-columns: 1fr;
  }
}
@media not all and (max-width: 767px) {
  .Hom-sec-service .l-two-column__main {
    margin-bottom: 0;
  }
}
.Hom-sec-service .l-two-column__img {
  margin-top: 0px;
  margin-right: 0px;
}
@media (max-width: 1048px) {
  .Hom-sec-service .l-two-column__img img {
    margin: 0 auto;
    display: block;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-service .l-two-column__img {
    margin-left: 0;
  }
}
.Hom-sec-service .l-outer-container {
  --_pb-xl-outer-container_num: 160;
}
@media not all and (max-width: 1048px) {
  .Hom-sec-service .l-outer-container {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-service .p-media-block {
    -moz-column-gap: clamp(40px, 40px + (70 - 40) * (100vw - var(--bp-lg_num) * 1px) / (var(--bp-xl_num) - var(--bp-lg_num)), 70px);
         column-gap: clamp(40px, 40px + (70 - 40) * (100vw - var(--bp-lg_num) * 1px) / (var(--bp-xl_num) - var(--bp-lg_num)), 70px);
    margin-block-start: 48px;
    grid-template-columns: clamp(416px, 416px + (590 - 416) * (100vw - var(--bp-lg_num) * 1px) / (var(--bp-xl_num) - var(--bp-lg_num)), 590px);
  }
}
@media (max-width: 1048px) {
  .Hom-sec-service .p-media-block {
    row-gap: 24px;
    margin-block-start: 24px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-service .p-split-block__ttl {
    margin-block-end: calc(12 * var(--sp-ratio));
  }
}
@media (max-width: 1048px) {
  .Hom-sec-service .p-split-block__content {
    margin-bottom: calc(24 * var(--sp-ratio));
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-service .p-media-block__img {
    position: relative;
    overflow: visible;
    border-radius: 0;
  }
  .Hom-sec-service .p-media-block__img::before {
    position: absolute;
    content: "";
    z-index: -1;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    display: block;
    inline-size: calc(1440 / 615 * 100%);
    block-size: auto;
    aspect-ratio: 1/1;
    background: url(/tthas/assets/img/home/bg_service_pc.svg) center/contain no-repeat;
    translate: -50% -50%;
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-service__desc :where(:not(:last-child)) {
    margin-block-end: 15px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-service__desc :where(:not(:last-child)) {
    margin-block-end: 10px;
  }
}
.Hom-sec-service__list {
  display: grid;
}
@media not all and (max-width: 767px) {
  .Hom-sec-service__list {
    row-gap: 24px;
  }
}
@media (max-width: 767px) {
  .Hom-sec-service__list {
    row-gap: 21px;
  }
}

.Hom-sec-service__item-heading {
  color: var(--c-main);
  line-height: 1.4;
  font-weight: 600;
}
@media not all and (max-width: 767px) {
  .Hom-sec-service__item-heading {
    margin-block-end: 10px;
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .Hom-sec-service__item-heading {
    margin-block-end: 12px;
    font-size: 16px;
  }
}

.Hom-sec-office .l-greybg {
  display: flex;
  justify-content: center;
}
@media not all and (max-width: 767px) {
  .Hom-sec-office .l-greybg {
    padding: 90px clamp(10px, 5vw, 200px);
  }
}
@media (max-width: 767px) {
  .Hom-sec-office .l-greybg {
    padding: calc(40 * var(--sp-ratio)) calc(30 * var(--sp-ratio));
  }
}
.Hom-sec-office .l-two-column {
  gap: min(10vw, 92px);
  grid-template-columns: min(32vw, 750px) 1fr;
  align-items: center;
}
@media (max-width: 1048px) {
  .Hom-sec-office .l-two-column {
    display: block;
  }
}
.Hom-sec-office .l-two-column__img {
  margin-right: 0px;
}
@media not all and (max-width: 1048px) {
  .Hom-sec-office .l-two-column__img {
    margin-top: -13px;
  }
  .Hom-sec-office .l-two-column__img img {
    position: relative;
    height: auto;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-office .l-two-column__img {
    margin-top: calc(40 * var(--sp-ratio));
    margin-left: 0px;
  }
}

.Hom-sec-news {
  background-color: var(--c-bg);
}
@media not all and (max-width: 767px) {
  .Hom-sec-news {
    padding-top: 130px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-news {
    padding-top: calc(30 * var(--sp-ratio));
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-news.l-sec {
    padding-block-end: 130px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-news.l-sec {
    padding-block-end: calc(30 * var(--sp-ratio));
  }
}
@media not all and (max-width: 767px) {
  .Hom-sec-news .l-container {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-news .l-two-column {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 0;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-news .l-two-column {
    display: block;
    width: 100%;
  }
}
.Hom-sec-news .l-two-column__main {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0px 0px 16px 0px rgba(205, 205, 205, 0.7);
}
@media not all and (max-width: 1048px) {
  .Hom-sec-news .l-two-column__main {
    padding: 42px 20px;
    width: 61%;
    margin-bottom: 0px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-news .l-two-column__main {
    margin-top: calc(20 * var(--sp-ratio));
    margin-bottom: 0;
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-news .l-two-column__side {
    width: 30%;
    padding-top: 17px;
  }
}
.Hom-sec-news .c-sec-ttl {
  margin-block-end: 0;
}

@media not all and (max-width: 767px) {
  .Hom-sec-contact:where([id], :focus) {
    scroll-margin-block-start: 0;
  }
}
@media (max-width: 767px) {
  .Hom-sec-contact:where([id], :focus) {
    scroll-margin-block-start: var(--h-header);
  }
}
@media not all and (max-width: 767px) {
  .Hom-sec-contact.l-sec {
    padding-block-end: 131px;
  }
}
@media (max-width: 767px) {
  .Hom-sec-contact.l-sec--block {
    padding-block-start: calc(60 * var(--sp-ratio));
  }
}
.Hom-sec-contact .c-sec-ttl {
  margin-block-end: min(5vw, 58px);
}
.Hom-sec-contact__ttl {
  font-family: var(--ff-zen-kaku);
  margin-left: 43px;
  line-height: 1.5;
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__ttl {
    font-size: calc(22 * var(--rem));
  }
}
@media (max-width: 1048px) {
  .Hom-sec-contact__ttl {
    font-size: calc(22 * var(--rem));
    margin-left: 0;
    line-height: 1.4;
  }
}

.Hom-sec-contact__ttl.Hom-sec-contact__ttl--center {
  margin-left: 0px;
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__ttl.Hom-sec-contact__ttl--center {
    margin-top: 6px;
  }
}
.Hom-sec-contact__contact {
  font-family: var(--ff-zen-kaku);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.Hom-sec-contact__contact::before {
  content: "";
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__contact::before {
    background: url(/tthas/assets/img/home/ico_mail.svg) center/contain no-repeat;
    width: 3vw;
    height: 3vw;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-contact__contact::before {
    background: url(/tthas/assets/img/home/ico_mail_sp.svg) center/contain no-repeat;
    width: 25px;
    height: 25px;
  }
}
.Hom-sec-contact__contact span {
  position: relative;
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__contact span::after {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--c-main);
    bottom: -7px;
    left: 0;
    position: absolute;
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__contact {
    margin-top: 10px;
    font-size: clamp(16px, 2.1vw, 32px);
  }
}
@media (max-width: 1048px) {
  .Hom-sec-contact__contact {
    font-size: calc(14 * var(--rem));
    color: #fff;
    background-image: linear-gradient(170deg, #f8b5cd, #4f62be 79%);
    width: clamp(0px, 90%, 400px);
    margin: 18px auto 0;
    border-radius: 5px;
    box-shadow: 0px 0px 16px 0px rgba(205, 205, 205, 0.7);
    height: 40px;
    transition: opacity 0.3s;
  }
  .Hom-sec-contact__contact:hover {
    opacity: 0.7;
  }
}

@media not all and (max-width: 1048px) {
  .Hom-sec-contact__contact.Hom-sec-contact__contact--mt {
    margin-top: 35px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-contact__contact.Hom-sec-contact__contact--mt {
    margin: 10px auto 0;
  }
}

.Hom-sec-contact__phone {
  font-family: var(--ff-zen-kaku);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.Hom-sec-contact__phone::before {
  content: "";
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__phone::before {
    background: url(/tthas/assets/img/home/ico_phone.svg) center/contain no-repeat;
    width: 3vw;
    height: 3vw;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-contact__phone::before {
    background: url(/tthas/assets/img/home/ico_phone_sp.svg) center/contain no-repeat;
    width: 25px;
    height: 25px;
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__phone {
    font-size: clamp(16px, 3.5vw, 45px);
    margin-top: 26px;
    pointer-events: none;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-contact__phone {
    font-size: calc(23 * var(--rem));
    color: #fff;
    background-image: linear-gradient(170deg, #f8b5cd, #4f62be 79%);
    width: clamp(0px, 90%, 400px);
    margin: 18px auto 0;
    border-radius: 5px;
    box-shadow: 0px 0px 16px 0px rgba(205, 205, 205, 0.7);
    height: 45px;
  }
  .Hom-sec-contact__phone:hover {
    opacity: 0.7;
  }
}

.Hom-sec-contact__caution {
  margin-left: min(7vw, 48px);
  text-align: left;
  display: block;
  line-height: 1.3;
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__caution.Hom-sec-contact__caution--ml {
    margin-left: min(7vw, 28px);
    margin-right: 25px;
  }
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__caution {
    margin-top: 30px;
    margin-right: 10px;
    font-size: 14px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-contact__caution {
    margin-top: 20px;
    margin-right: min(7vw, 85px);
    font-size: calc(14 * var(--rem));
    line-height: 1.4;
  }
}

.Hom-sec-contact__phone-text {
  margin-top: 18px;
}
@media not all and (max-width: 1048px) {
  .Hom-sec-contact__phone-text {
    font-size: 14px;
  }
}
@media (max-width: 1048px) {
  .Hom-sec-contact__phone-text {
    font-size: calc(14 * var(--rem));
  }
}

/* History
--------------------------------------------------------- */
@media not all and (max-width: 767px) {
  .Hst-sec-history .l-greybg {
    padding: 76px 80px;
  }
}
@media (max-width: 767px) {
  .Hst-sec-history .l-greybg {
    padding: calc(22 * var(--sp-ratio)) calc(30 * var(--sp-ratio));
  }
}
@media (max-width: 767px) {
  .Hst-sec-history .l-container {
    padding: 0;
  }
}

.Hst-history-timeline {
  --_w-timeline-marker-ico: 12px;
  width: 100%;
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline {
    --_pb-timeline-item: 30px;
    --_w-timeline-head: clamp(114px, 114px + (144 - 114) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 144px);
    --_ibs-timeline-marker: 18px;
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline {
    --_pb-timeline-item: calc(11 * var(--sp-ratio));
    --_w-timeline-head: calc(70 * var(--sp-ratio));
    --_ibs-timeline-marker: 10px;
  }
}
.Hst-history-timeline__item {
  display: grid;
  grid-template-columns: var(--_w-timeline-head) 1fr;
  align-items: stretch;
  justify-content: space-between;
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__item {
    -moz-column-gap: clamp(30px, 30px + (60 - 30) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 60px);
         column-gap: clamp(30px, 30px + (60 - 30) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 60px);
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__item {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
.Hst-history-timeline__item.Hst-history-timeline__item--top .ico-circle {
  margin-block-start: 0;
  inset-block-start: var(--_ibs-timeline-marker);
}
.Hst-history-timeline__item.Hst-history-timeline__item--top .Hst-history-timeline__year {
  align-self: start;
}

.Hst-history-timeline__head {
  display: grid;
  justify-content: space-between;
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__head {
    grid-template-columns: 1fr var(--_w-timeline-marker-ico);
  }
  .Hst-history-timeline__item:last-child .Hst-history-timeline__head {
    align-self: end;
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__head {
    grid-template-columns: var(--_w-timeline-marker-ico) 1fr;
    -moz-column-gap: calc(5 * var(--sp-ratio));
         column-gap: calc(5 * var(--sp-ratio));
    margin-block-start: var(--leading-trim);
  }
}

.Hst-history-timeline__year {
  align-self: start;
  color: var(--c-main);
  font-family: var(--ff-zen-kaku);
  font-weight: 800;
  line-height: 1.25;
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__year {
    font-size: 36px;
  }
  .Hst-history-timeline__item:not(:first-child) .Hst-history-timeline__year {
    padding-block-start: 24px;
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__year {
    grid-row: 1;
    grid-column: 2;
    font-size: calc(24 * var(--rem));
  }
  .Hst-history-timeline__item:not(:first-child) .Hst-history-timeline__year {
    padding-block-start: calc(var(--_pb-timeline-item) + 2px);
  }
}

.Hst-history-timeline__marker {
  position: relative;
  display: flex;
  height: 100%;
}
@media (max-width: 767px) {
  .Hst-history-timeline__marker {
    grid-row: 1;
    grid-column: 1;
  }
}
.Hst-history-timeline__item:not(:last-child) .Hst-history-timeline__marker::before {
  content: "";
  position: absolute;
  display: block;
  inset-inline: 0;
  margin-inline: auto;
  width: 2px;
  background-color: var(--c-main);
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__item:not(:last-child) .Hst-history-timeline__marker::before {
    inset-block-start: calc(var(--_pb-timeline-item) + 0.5lh);
    height: 100%;
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__item:not(:last-child) .Hst-history-timeline__marker::before {
    inset-block-start: 0.5lh;
    height: calc(100% + 2.5vw);
  }
}
.Hst-history-timeline__item:first-child .Hst-history-timeline__marker::before {
  inset-block-start: calc(var(--_ibs-timeline-marker) + var(--_w-timeline-marker-ico));
  height: calc(100% + var(--_ibs-timeline-marker));
}
@media (max-width: 767px) {
  .Hst-history-timeline__item:first-child .Hst-history-timeline__marker::before {
    height: 100%;
  }
}
.Hst-history-timeline__marker .ico-circle {
  position: relative;
  z-index: 2;
  display: block;
  margin-block-end: auto;
  height: auto;
  width: var(--_w-timeline-marker-ico);
  aspect-ratio: 1;
  background: linear-gradient(90deg, #946de4 0%, #4055bc 82%);
  border-radius: calc(infinity * 1px);
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__marker .ico-circle {
    margin-block-start: calc(var(--_pb-timeline-item) + 0.5lh);
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__marker .ico-circle {
    margin-block-start: calc(var(--_pb-timeline-item) + 0.5lh);
  }
}

.Hst-history-timeline__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__item:first-child .Hst-history-timeline__body {
    padding-block-start: 3px;
  }
  .Hst-history-timeline__item:not(:first-child) .Hst-history-timeline__body {
    padding-block-start: var(--_pb-timeline-item);
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__item:not(:first-child) .Hst-history-timeline__body {
    padding-block-start: var(--_pb-timeline-item);
  }
}
.Hst-history-timeline__item:not(:last-child) .Hst-history-timeline__body {
  border-block-end: 1px solid #DCDCDC;
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__item:not(:last-child) .Hst-history-timeline__body {
    padding-block-end: var(--_pb-timeline-item);
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__item:not(:last-child) .Hst-history-timeline__body {
    padding-block-end: var(--_pb-timeline-item);
  }
}

.Hst-history-timeline__content {
  display: grid;
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__content {
    grid-template-columns: 3em 1fr;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__content {
    margin-block-end: 4px;
    font-size: calc(16 * var(--rem));
  }
}

.Hst-history-timeline__date {
  font-family: var(--ff-zen-kaku);
  font-weight: 700;
  line-height: 1;
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__date {
    justify-self: end;
    font-size: 22px;
  }
  .Hst-history-timeline__item:first-child .Hst-history-timeline__date {
    margin-block-start: 3px;
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__date {
    font-size: calc(22 * var(--rem));
  }
}
@media not all and (max-width: 767px) {
  .Hst-history-timeline__date :where(span) {
    font-size: 0.7272727273em;
  }
}
@media (max-width: 767px) {
  .Hst-history-timeline__date :where(span) {
    font-size: 0.6363636364em;
  }
}

@media (max-width: 767px) {
  .Hst-history-timeline__desc {
    line-height: 1.5;
  }
}

/* Msg - Message
--------------------------------------------------------- */
@media not all and (max-width: 767px) {
  .Msg-message-block {
    display: flex;
    flex-direction: row-reverse;
    align-items: start;
    max-inline-size: 1040px;
    margin-inline: auto;
    -moz-column-gap: 45px;
         column-gap: 45px;
  }
}
.Msg-message-block__img {
  overflow: hidden;
}
@media not all and (max-width: 767px) {
  .Msg-message-block__img {
    flex: 0 0 auto;
    border-radius: 10px;
    inline-size: min(36%, 326px);
  }
}
@media (max-width: 767px) {
  .Msg-message-block__img {
    margin-block-end: 20px;
    border-radius: 8px;
  }
}
.Msg-message-block__img img {
  display: block;
  inline-size: 100%;
}

.Msg-message-block__content {
  line-height: 1.5;
  letter-spacing: 0em;
}
@media not all and (max-width: 767px) {
  .Msg-message-block__content {
    flex: 0 1 auto;
    inline-size: 100%;
  }
}
@media (max-width: 767px) {
  .Msg-message-block__content {
    font-size: calc(16 * var(--rem));
  }
}

.Msg-message-block__message {
  letter-spacing: inherit;
}
.Msg-message-block__message > * {
  letter-spacing: inherit;
}

.Msg-message-block__signature {
  line-height: 1.4285714286;
  font-size: calc(14 * var(--rem));
  font-weight: 600;
}
@media not all and (max-width: 767px) {
  .Msg-message-block__signature {
    margin-block-start: 26px;
  }
}
@media (max-width: 767px) {
  .Msg-message-block__signature {
    margin-block-start: 32px;
  }
}
.Msg-message-block__signature > span {
  display: block;
}
@media not all and (max-width: 767px) {
  .Msg-sec-message .l-greybg {
    padding-block: 60px;
  }
}
/* Phl - Philosophy
--------------------------------------------------------- */
.Phl-personality-card {
  display: flex;
  align-items: center;
  font-family: var(--ff-main);
  background-color: #fff;
  border-radius: 10px;
}
@media not all and (max-width: 767px) {
  .Phl-personality-card {
    -moz-column-gap: 12px;
         column-gap: 12px;
    padding: 30px clamp(20px, 20px + (40 - 20) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 40px);
  }
}
@media (max-width: 767px) {
  .Phl-personality-card {
    flex-direction: column;
    padding: calc(15 * var(--sp-ratio)) calc(20 * var(--sp-ratio));
  }
}
@media not all and (max-width: 767px) {
  .Phl-personality-card__ico {
    flex: 0 0 auto;
    inline-size: 78px;
  }
}
@media (max-width: 767px) {
  .Phl-personality-card__ico {
    margin-inline: auto;
    margin-bottom: 9px;
    inline-size: min(55 * var(--sp-ratio), 78px);
  }
}

@media not all and (max-width: 767px) {
  .Phl-personality-card__content {
    flex: 0 1 auto;
    inline-size: 100%;
  }
}
.Phl-personality-card__sub {
  color: var(--c-main);
  font-weight: 700;
  font-family: var(--ff-zen-kaku);
  letter-spacing: 0;
}
@media not all and (max-width: 767px) {
  .Phl-personality-card__sub {
    margin-bottom: 5px;
    line-height: 1.3636363636;
    font-size: calc(22 * var(--rem));
  }
}
@media (max-width: 767px) {
  .Phl-personality-card__sub {
    margin-bottom: 4px;
    text-align: center;
  }
}

.Phl-personality-card__main {
  font-weight: 700;
  font-family: var(--ff-zen-kaku);
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media not all and (max-width: 767px) {
  .Phl-personality-card__main {
    line-height: 1.3333333333;
    font-size: calc(18 * var(--rem));
  }
}
@media (max-width: 767px) {
  .Phl-personality-card__main {
    line-height: 1.2;
    font-size: calc(20 * var(--rem));
  }
}

.Phl-sec-philosophy {
  font-family: var(--ff-zen-kaku);
}
.Phl-sec-philosophy .c-sec-ttl {
  margin-block-end: min(5vw, 50px);
}
.Phl-sec-philosophy .l-container {
  position: relative;
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy .l-greybg {
    padding: 82px clamp(32px, 32px + (80 - 32) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 80px);
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .l-greybg {
    padding: calc(24 * var(--sp-ratio)) calc(16 * var(--sp-ratio));
  }
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy .c-list {
    line-height: 1.2;
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .c-list {
    line-height: 1.3333;
    font-size: calc(18 * var(--rem));
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .c-list__item {
    letter-spacing: 0;
  }
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy .c-list__item:not(:last-child) {
    margin-block-end: 21px;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .c-list__item:not(:last-child) {
    margin-block-end: calc(10 * var(--sp-ratio));
  }
}
.Phl-sec-philosophy .c-list__item::before {
  display: none;
}
.Phl-sec-philosophy .l-two-column {
  grid-template-columns: 36px 1fr;
  align-items: center;
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column {
    -moz-column-gap: 9px;
         column-gap: 9px;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column {
    display: grid;
    grid-template-columns: minmax(36px, calc(28 * var(--sp-ratio))) 1fr;
    -moz-column-gap: calc(8 * var(--sp-ratio));
         column-gap: calc(8 * var(--sp-ratio));
  }
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column:not(:last-child) {
    margin-block-end: 30px;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column:not(:last-child) {
    margin-block-end: calc(22 * var(--sp-ratio));
  }
}
.Phl-sec-philosophy .l-two-column__side {
  display: grid;
  align-items: center;
  height: 100%;
  position: relative;
  color: var(--c-main);
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column__side {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column__side {
    font-size: calc(22 * var(--rem));
  }
}
.Phl-sec-philosophy .l-two-column__side::after {
  content: "";
  inline-size: 1px;
  height: 100%;
  background-color: var(--c-main);
  position: absolute;
  top: 0;
  right: 0;
  display: block;
}
.Phl-sec-philosophy .l-two-column__main {
  margin-block-end: 0;
  line-height: 1.2;
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column__main {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column__main {
    line-height: 1.5;
  }
}
.Phl-sec-philosophy .l-two-column__main .u-c-main {
  font-size: 20px;
}
@media (max-width: 767px) {
  .Phl-sec-philosophy .l-two-column__main .u-c-main {
    line-height: 1.3333;
    font-size: calc(18 * var(--rem));
    letter-spacing: 0;
  }
}
.Phl-sec-philosophy__img {
  position: relative;
  z-index: -1;
  overflow: hidden;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border-radius: 20px;
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy__img {
    margin-block-end: -9.2%;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy__img {
    margin-block-end: -24%;
  }
}

@media not all and (max-width: 767px) {
  .Phl-sec-philosophy__management {
    inline-size: 100%;
  }
}
.Phl-sec-philosophy__management .c-dl-list {
  font-weight: 700;
  inline-size: 100%;
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy__management .c-dl-list {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: clamp(16px, 16px + (30 - 16) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 30px);
         column-gap: clamp(16px, 16px + (30 - 16) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 30px);
  }
}
.Phl-sec-philosophy__management .c-dl-list:not(:last-child) {
  border-block-end: 1px solid #DCDCDC;
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy__management .c-dl-list:not(:last-child) {
    margin-block-end: 22px;
    padding-block-end: 30px;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy__management .c-dl-list:not(:last-child) {
    margin-block-end: calc(12 * var(--sp-ratio));
    padding-block-end: calc(18 * var(--sp-ratio));
  }
}
.Phl-sec-philosophy__management .c-dl-list__title {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-block-start: 0px;
  color: var(--c-main);
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy__management .c-dl-list__title {
    font-size: clamp(24px, 24px + (36 - 24) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 36px);
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy__management .c-dl-list__title {
    margin-block-end: calc(16 * var(--sp-ratio));
    font-size: calc(22 * var(--rem));
  }
}
.Phl-sec-philosophy__management .c-dl-list__text {
  inline-size: 100%;
  margin-block-start: 0px;
}
.Phl-sec-philosophy__management .c-dl-list__text:not(:last-of-type)::after {
  inline-size: 120%;
  inset-block-end: -30px;
  background-color: #DCDCDC;
}
@media not all and (max-width: 767px) {
  .Phl-sec-philosophy__management .c-dl-list__text.--big {
    font-size: clamp(22px, 22px + (36 - 22) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 36px);
    line-height: 1.7;
  }
}
@media (max-width: 767px) {
  .Phl-sec-philosophy__management .c-dl-list__text.--big {
    font-size: calc(20 * var(--rem));
  }
}

.Phl-sec-personality {
  font-family: var(--ff-zen-kaku);
}
.Phl-sec-personality .l-greybg {
  display: block;
}
@media not all and (max-width: 767px) {
  .Phl-sec-personality .l-greybg {
    padding: 60px clamp(32px, 32px + (80 - 32) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 80px);
  }
}
@media (max-width: 767px) {
  .Phl-sec-personality .l-greybg {
    padding: calc(24 * var(--sp-ratio)) calc(16 * var(--sp-ratio));
  }
}
.Phl-sec-personality .p-sec-title {
  font-size: clamp(22px, 22px + (36 - 22) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 36px);
}
@media (max-width: 767px) {
  .Phl-sec-personality .p-sec-title {
    font-size: calc(22 * var(--rem));
  }
}
.Phl-sec-personality__card-list {
  display: grid;
  inline-size: inherit;
}
@media not all and (max-width: 767px) {
  .Phl-sec-personality__card-list {
    margin-block-start: clamp(32px, 32px + (52 - 32) * (100vw - var(--bp-md_num) * 1px) / (var(--bp-xl_num) - var(--bp-md_num)), 52px);
    gap: 27px 25px;
    grid-template-columns: repeat(auto-fit, minmax(376px, 1fr));
  }
}
@media (max-width: 767px) {
  .Phl-sec-personality__card-list {
    row-gap: calc(20 * var(--sp-ratio));
    margin-block-start: calc(10 * var(--sp-ratio));
  }
}