@charset "UTF-8";
/* ========================================
  レイアウト
======================================== */
@media (min-width: 768px) {
  .l-contents-teaser {
    padding-top: 8.2rem;
    padding-bottom: 23.2rem;
  }
}
@media (max-width: 767px) {
  .l-contents-teaser {
    padding-top: 10.9rem;
    padding-bottom: 14.3rem;
  }
}
.main {
  width: 100%;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .main-inner {
    width: calc(100% - 12rem);
  }
}
@media (min-width: 768px) {
  .l-contents-section + .l-contents-section {
    padding-top: 10.8rem;
    margin-top: 10.8rem;
  }
}
@media (max-width: 767px) {
  .l-contents-section + .l-contents-section {
    padding-top: 3rem;
    margin-top: 9.8rem;
  }
}
p {
  letter-spacing: 0.1em;
}

/* ========================================
  タイトル
======================================== */
.l-section-title-02--en {
  font-family: var(--font-en);
}
.l-section-title-02--ja {
  font-family: var(--font-main-bold);
  margin-left: 2rem;
}

@media (min-width: 768px) {
  .l-section-title-02--en {
    font-size: 3.2rem;
  }
  .l-section-title-02--ja {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .l-section-title-02--en {
    font-size: 2.8rem;
  }
  .l-section-title-02--ja {
    font-size: 1.4rem;
  }
}
.l-section-title-03 {
  font-size: 1.3rem;
  line-height: 1.84615385;
}

/* ========================================
  リスト
======================================== */
.l-list--circle {
  text-indent: -1.4em;
  padding-left: 1.4em;
}
.l-list .l-list-item {
  font-size: 1.3rem;
  line-height: 2.15384615;
}

/* ========================================
  リード文エリア
======================================== */
.l-page-lead {
  font-family: var(--font-main-bold);
  font-weight: var(--fw-bold);
}
.l-page-lead__text {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}

@media (min-width: 768px) {
  .l-page-lead__title {
    font-size: 7rem;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .l-page-lead__title + .l-page-lead__text {
    margin-top: 1.9rem;
  }
  .l-page-lead .l-page-lead__text + .l-page-lead__text {
    margin-top: 1.4rem;
  }
}
@media (max-width: 767px) {
  .l-page-lead {
    padding-inline: 3.8rem 3rem;
  }
  .l-page-lead__title {
    font-size: 5.4rem;
    letter-spacing: 0.08em;
    line-height: 1.14814815;
  }
  .l-page-lead__title + .l-page-lead__text {
    margin-top: 2.6rem;
  }
  .l-page-lead .l-page-lead__text + .l-page-lead__text {
    margin-top: 1.4rem;
  }
}
/* ========================================
  Company
======================================== */
.l-company .l-company-text {
  font-size: 1.3rem;
}
.l-company .l-company-text__map-link {
  display: inline-block;
  margin-left: 1rem;
}
.l-company .l-company-text__map-link img {
  position: relative;
  top: 0.1rem;
  display: inline-block;
  width: 1.3rem;
  height: auto;
  margin-right: 0.2rem;
}
.l-company .l-company-map {
  aspect-ratio: 4/3;
  margin-top: 1rem;
}
.l-company .l-company-map iframe {
  width: 100%;
  height: 100%;
}
.l-company .l-company-map + .l-company-text {
  margin-top: 1rem;
}
.l-company .l-company-title {
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
}
.l-company .l-company-title + .l-board-member-text {
  margin-top: 0.7rem;
}
.l-company .l-accordion-wrapper {
  width: 31rem;
}
.l-company .l-accordion-wrapper + .l-company-title {
  margin-top: 3.5rem;
}
.l-company .l-accordion-wrapper .l-accordion-list {
  border-top: 0.1rem solid var(--color-main);
}
.l-company .l-accordion-wrapper .l-accordion-list:last-child {
  border-bottom: 0.1rem solid var(--color-main);
}
.l-company .l-accordion-wrapper .l-accordion-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-company .l-accordion-wrapper .l-accordion-title.active .l-accordion-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media (hover: hover) {
  .l-company .l-accordion-wrapper .js-accordion-title:hover {
    cursor: pointer;
  }
}
.l-company .l-accordion-wrapper .l-accordion-title__inner {
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
}
.l-company .l-accordion-wrapper .l-accordion-icon {
  width: 0.9rem;
  height: 0.5rem;
  background: url(../img/icon/arrow_accordion.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--transition-default);
  transition: -webkit-transform var(--transition-default);
  transition: transform var(--transition-default);
  transition: transform var(--transition-default), -webkit-transform var(--transition-default);
}
.l-company .l-accordion-wrapper .l-accordion-desc {
  font-size: 1.3rem;
  padding-bottom: 2rem;
}
.l-company .l-board-member-text {
  font-size: 1.3rem;
}
.l-company .l-accordion-wrapper .l-accordion-title {
  padding-block: 1.5rem 1.14rem;
  padding-right: 1.1rem;
}

@media (min-width: 768px) {
  .l-company .l-company-text {
    margin-top: 3.3rem;
    line-height: 2.15384615;
  }
  .l-company .l-company-map {
    width: 96%;
  }
  .l-company .l-board-member-area {
    margin-top: 3.3rem;
  }
  .l-company .l-accordion-wrapper {
    margin-top: 1.3rem;
  }
}
@media (max-width: 767px) {
  .l-company {
    padding-inline: 4rem;
  }
  .l-company .l-company-text {
    margin-top: 2.7rem;
    line-height: 2.15384615;
  }
  .l-company .l-board-member-area {
    margin-top: 3.3rem;
  }
  .l-company .l-accordion-wrapper {
    margin-top: 1.4rem;
  }
}
/* ========================================
  Message
======================================== */
.l-message .l-message-text {
  margin-top: 3.2rem;
  font-size: 1.6rem;
}
.l-message .l-message-text--name {
  margin-top: 2.8rem;
  text-align: right;
}

@media (min-width: 768px) {
  .l-message.l-contents-section {
    margin-top: 34rem;
  }
  .l-message.l-contents-section .l-message-text {
    width: 50rem;
  }
  .l-message.l-contents-section .l-message-text--name {
    padding-right: 2.1rem;
  }
}
@media (max-width: 767px) {
  .l-message {
    padding-inline: 3.8rem 3.5rem;
  }
  .l-message.l-contents-section {
    margin-top: 30.4rem;
  }
  .l-message .l-message-text {
    margin-top: 2.4rem;
  }
  .l-message .l-message-text + .l-message-text {
    margin-top: 3rem;
  }
  .l-message .l-message-text--name {
    padding-right: 0.3rem;
  }
}
/* ========================================
  Message
======================================== */
.l-business .l-list {
  margin-top: 3.2rem;
}

@media (max-width: 767px) {
  .l-business {
    padding-inline: 3.8rem;
  }
  .l-business .l-list {
    margin-top: 2.9rem;
  }
  .l-business .l-list .l-list-item {
    line-height: 1.85;
  }
  .l-business .l-list .l-list-item + .l-list-item {
    margin-top: 0.4rem;
  }
}
/* ========================================
  Works
======================================== */
.l-works .l-works-text {
  font-size: 1.3rem;
  line-height: 1.84615385;
}
.l-works .l-works-text + .l-section-title-03 {
  margin-top: 2.4rem;
}

@media (min-width: 768px) {
  .l-works .l-section-title-02 + .l-section-title-03 {
    margin-top: 3.2rem;
  }
  .l-works .l-works-text + .l-section-title-03 {
    margin-top: 2.4rem;
  }
}
@media (max-width: 767px) {
  .l-works {
    padding-inline: 3.8rem 3.5rem;
  }
  .l-works .l-section-title-02 + .l-section-title-03 {
    margin-top: 2.8rem;
  }
  .l-works .l-works-text + .l-section-title-03 {
    margin-top: 2.4rem;
  }
}