@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');


/* ------------------------------
  ベース
------------------------------ */
html {
  font-family: "Noto Sans JP", sans-serif;
}

/* ------------------------------
  ヘッダー
------------------------------ */

.header {
  background-color: rgb(250 250 244 / 0.9);
}


.header-logo {
  max-height: 3rem;
}

/* ------------------------------
  ページタイトル
------------------------------ */

.page-title-wrapper[style] {
  color: var(--color-text);
}

.page-title-wrapper[style] .page-title-en {
  color: var(--color-text);
}

.page-title-filter {
  background: rgba(216, 216, 216, 0.55);
}

@media (min-width: 48rem) {
  .page-title-wrapper {
    height: 22.5rem;
  }
  .page-title {
    font-size: 2.5rem;
    line-height: var(--line-height-sm);
  }
  .page-title-en {
    font-size: 1.25rem;
    line-height: var(--line-height-lg);
  }
}

.main-visual .main-visual-box {
  color: var(--color-white);
}



@media (min-width: 48rem) {

  .main-visual .main-visual-box {
    max-width: 48rem;
  }


  .main-visual .main-visual-catch {
    font-size: 3.3rem;
    line-height: var(--line-height-2xs);
    margin-bottom: 1.5rem;
  }

.main-visual .main-visual-catch-sub {
  font-size: 1.2rem;
  /* font-weight: normal; */
}


}


/* 小見出し */
.card-lead,
.entry-style .card-lead {
  margin-block: 0;
  font-size: 1rem;
  line-height: var(--line-height-xl);
  color: var(--color-primary);
}

.card-read-more-text {
  font-size: 1rem;
  font-weight: normal;
  line-height: var(--line-height-base);
  color: var(--color-primary);
}

.card-read-more-icon {
  background-color: var(--color-primary);
}

@media (hover: hover) {
  .card-link:-moz-any-link:hover .card-read-more-icon {
    background-color: var(--color-primary-hover);
  }
  .card-link:any-link:hover .card-read-more-icon {
    background-color: var(--color-primary-hover);
  }
}

.section-vertical-text {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: normal;
  line-height: var(--line-height-base);
  color: var(--color-primary);
  letter-spacing: 0.1em;
}

@media (min-width: 64rem) {
  .section-vertical-heading {
    font-size: 2.2rem;
    line-height: var(--line-height-2xs);
  }
}

/* お問い合わせ2カラム */

  .cta-general.cta-tel,
  .cta-general.cta-mail {
    padding: 1rem 0 0.5rem;
  }

  .cta-general.cta-tel .cta-tel-text {
    margin: 1rem 0 0rem;
  }

  .cta-general.cta-mail {
  background: #454f44;
  }

  .cta-general.cta-mail a {
    color: #f2f4f4;
    text-decoration: none;
  }

  .cta-general.cta-mail .cta-mail-text {
    margin: 1rem 0 0rem;
  }
  .cta-general.cta-mail .cta-mail-title {
    /* margin: 1rem 0 0rem; */
    font-weight: bold;
    font-size: 1.5rem;
  }


@media (min-width: 48rem) {
  .cta-general.cta-tel,
  .cta-general.cta-mail {
  border-radius: var(--border-radius-xl);
  }

}

.cta-general-text {
  margin: 1rem 0 1.5rem;
}


/* キャプション
------------------------------ */
:where(.entry-style) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) .caption {
  display: block;
  font-size: 1rem;
  color: var(--color-text-2nd);
}



/* 運営サービス
------------------------------ */
.group-service {
  padding-left: 1rem;
  padding-right: 1rem;
}

.entry-style .service-lead {
    font-size: 1.5rem;
    margin-top:0;
    text-align: center;
}


.entry-style .mark-symbols {
  margin-bottom: 0.5rem;
  text-align: center;
}

.entry-style .service-text {
  margin-bottom: 0;
}

/* 詳しく見る */
@media (min-width: 48rem) {
  .card-read-more,
  .entry-style .card-read-more {
    justify-content: flex-end;
  }
}

.entry-style .aboutus-lead {
    font-size: 2rem;
    margin-top: 0;
}

/* 所在地 */

.footer-address-name {
  font-size: 1.5rem;
}

.footer-address-item {
  font-size: 0.9rem;
}


.form-privacy-body {
  /* box-sizing: border-box;
  height: 20rem;
  padding: 0.75rem 1rem;
  margin: 0 0 1rem;
  overflow-y: auto;
  line-height: var(--line-height-base);
  color: var(--color-gray80);
  background: var(--color-gray10);
  border-radius: var(--border-radius-lg); */
  font-size: 0.9rem;
}