@charset "UTF-8";
/* SCSSの読み込み */
@import url(all.css);
/*===============================================
  切り替え用
===============================================*/
.pc-none {
  display: none !important;
}

a[href^="tel:"] {
  pointer-events: none;
}

/*===============================================
  ページネーション
===============================================*/
/*===============================================
  詳細ページ前後
===============================================*/
/*===============================================
  wrapper
===============================================*/
#wrapper {
  min-width: 1200px;
  background-size: 100%;
}

/*===============================================
  header
===============================================*/
#header .header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - clamp(80px, 6.25vw, 120px));
  padding: 2.5rem 0 3rem;
}
#header .header__logo {
  height: clamp(49px, 3.7837837838vw, 56px);
}
#header .header__logo img {
  height: 76.786%;
  min-height: 38px;
}
#header .header__right {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: column;
  row-gap: clamp(22px, 1.71875vw, 33px);
  font-size: clamp(1.4rem, 1.0810810811vw, 1.6rem);
  padding-right: clamp(40px, 3.125vw, 60px);
}
#header .header__other {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  -moz-column-gap: clamp(20px, 1.5625vw, 30px);
       column-gap: clamp(20px, 1.5625vw, 30px);
}
#header .header__tel {
  row-gap: 0.75em;
  padding-right: clamp(10px, 0.78125vw, 15px);
}
#header .header__tel .com-tel__num {
  font-size: max(2.5rem, 1.75em);
}
#header .header__tel .com-tel__num::before {
  font-size: 0.714286em;
}
#header .header__tel .com-replace {
  font-size: max(1.2rem, 0.8125em);
}
#header .header__mail {
  width: 15em;
  height: max(45px, 3.125em);
  -moz-column-gap: 1.875em;
       column-gap: 1.875em;
  padding-right: 2.1875em;
}
#header .header__sns {
  display: block;
  width: 3.6rem;
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1;
  transition: all 0.3s ease-out;
}
#header .header__sns:hover {
  opacity: 0.64;
}

/*===============================================
  footer
===============================================*/
#footer {
  padding-block: clamp(80px, 6.25vw, 100px);
}
#footer .footer__inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: 4rem;
  width: 1080px;
}
#footer .footer__logo {
  order: 0;
}
#footer .footer__btn {
  width: 30rem;
  order: 2;
}

/*フッターナビ
-----------------------------*/
.footer-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 4rem;
  order: 1;
}
.footer-nav > * {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block: calc((1em - 1lh) / 2);
}
.footer-nav__list {
  line-height: var(--line-height-base);
}
.footer-nav__sub-list {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.footer-nav__item, .footer-nav__sub-item {
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: var(--letter-spacing-base);
}
.footer-nav__item::after, .footer-nav__sub-item::after {
  content: "｜";
  color: var(--color-mos);
  margin-inline: 1em;
}
.footer-nav__item:last-of-type, .footer-nav__sub-item:last-of-type {
  margin-right: calc(var(--letter-spacing-base) * -1);
}
.footer-nav__item:last-of-type::after, .footer-nav__sub-item:last-of-type::after {
  display: none;
}

/*コピーライト
-----------------------------*/
.copy {
  padding-top: 5rem;
}

/*===============================================
  fixed固定
===============================================*/
/*ページトップ
-----------------------------*/
#pagetop {
  height: 10rem;
  padding-block: 1rem;
  padding-left: 1.4rem;
  bottom: 2.8rem;
  right: clamp(30px, 10vw - 102px, 90px);
}
#pagetop:hover {
  height: 11rem;
}

/*===============================================
  visual
===============================================*/
/*共通
-----------------------------*/
.visual {
  max-width: 1920px;
  margin-inline: auto;
  padding-bottom: clamp(70px, 5.4054054054vw, 100px);
}

/*メインビジュアル
-----------------------------*/
.visual__main {
  height: clamp(500px, 41.6666666667vw, 800px);
  padding: clamp(87px, 6.7708333333vw, 130px) 0 0 clamp(125px, 9.7395833333vw, 187px);
}
.visual__main::before {
  width: clamp(875px, 72.9166666667vw, 1400px);
  height: 100%;
  -webkit-mask: url(../img/visual/mv_mask.svg) no-repeat center/100% 100%;
          mask: url(../img/visual/mv_mask.svg) no-repeat center/100% 100%;
  right: clamp(40px, 3.125vw, 60px);
}
.visual__main::after {
  height: clamp(255px, 21.25vw, 408px);
  left: clamp(40px, 3.125vw, 60px);
  bottom: clamp(-118px, -6.1458333333vw, -74px);
}
.visual__catch--main {
  width: clamp(342px, 28.4375vw, 546px);
  row-gap: clamp(20px, 1.5625vw, 30px);
}
.visual__catch--main .catch--sub {
  width: 87.1795%;
  top: -24.839%;
  left: -13.737%;
}

/*サブビジュアル
-----------------------------*/
.visual__sub {
  height: clamp(315px, 26.0416666667vw, 500px);
  padding: clamp(102px, 8.4375vw, 162px) 0 0 clamp(145px, 11.9791666667vw, 230px);
}
.visual__sub::before {
  width: clamp(875px, 72.9166666667vw, 1400px);
  height: 100%;
  -webkit-mask: url(../img/visual/sv_mask.svg) no-repeat center/100% 100%;
          mask: url(../img/visual/sv_mask.svg) no-repeat center/100% 100%;
  right: clamp(40px, 3.125vw, 60px);
}
.visual__sub::after {
  width: clamp(47px, 3.8541666667vw, 74px);
  left: clamp(182px, 15.1041666667vw, 290px);
  bottom: clamp(15px, 1.1979166667vw, 23px);
}
.visual__catch--sub {
  font-size: clamp(2.4rem, 1.875vw, 3.6rem);
}
.visual__catch--sub::before {
  width: 18.33334em;
  top: -1.888888em;
  left: -1.305556em;
}

/*===============================================
  グローバルナビ
===============================================*/
.gnav {
  font-weight: var(--font-weight-semiBold);
  letter-spacing: 0;
  line-height: 1;
}
.gnav__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.gnav__item {
  padding-inline: 2.7rem;
  border-right: solid 1px var(--color-white);
}
.gnav__item:first-of-type {
  padding-left: 0;
}
.gnav__item:last-of-type {
  padding-right: 0;
  border-right: none;
}
.gnav__link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 0.75em;
  min-height: 36px;
  padding-block: 1px;
  position: relative;
}
.gnav__link::after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-white);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.8rem;
  z-index: -2;
  opacity: 0;
}
.gnav__link > span {
  display: block;
  letter-spacing: var(--letter-spacing-base);
  margin-right: calc(var(--letter-spacing-base) * -1);
  transition: all 0.3s ease-out;
}
.gnav__link .en {
  font-size: 0.625em;
  font-family: var(--font-family-kaku);
  font-weight: var(--font-weight-medium);
  color: var(--color-mos);
}
.gnav__link:hover > span {
  transform: translateY(-0.4rem);
}
.gnav__link.current::after {
  opacity: 1;
}

/*===============================================
  main#container
===============================================*/
/*===============================================
  パンくずリスト
===============================================*/
.breadcrumb {
  height: 6rem;
  top: clamp(-100px, -5.4054054054vw, -70px);
}
.breadcrumb__list {
  width: 1080px;
}
/*===============================================
  main共通
===============================================*/
.section {
  padding-block: 10rem;
}
.section:first-of-type:has(+ .com-contact) {
  min-height: clamp(510px, 39.5833333333vw, 760px);
}

.inbox {
  width: 1080px;
}

/*電話番号
-----------------------------*/
/*ボタン
-----------------------------*/
/*テーブル
-----------------------------*/
.com-table tr th {
  padding: 1.3rem 3rem;
}
.com-table tr td {
  padding: 1.3rem 3rem;
}
.com-table tr:first-child th,
.com-table tr:first-child td {
  padding-top: 0;
}
.com-table tr:last-child th,
.com-table tr:last-child td {
  padding-bottom: 0;
}

/*テキストボックス
-----------------------------*/
.com-text p {
  margin-right: calc(var(--letter-spacing-base) * -1);
}

/* 画像
-----------------------------*/
.com-img img {
  border-radius: 2rem;
}

/*お知らせ
-----------------------------*/
.com-post__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem 4rem;
}
.com-post__image {
  margin-bottom: 3rem;
}

/*===============================================
  タイトル
===============================================*/
/*大タイトル
-----------------------------*/
.com-title01 {
  row-gap: 3rem;
  margin-bottom: 6rem;
}

.top .com-title01 {
  row-gap: 5rem;
}

/*中タイトル
-----------------------------*/
.com-title02 {
  padding-bottom: calc(3.5rem + 1px);
  margin-bottom: 5rem;
}
.com-title02::before {
  left: calc(-5rem - 1px);
}
.com-title02::after {
  width: calc(100% + 50vw - 54rem);
}
.com-title02--right::before {
  left: calc(100% + 5rem);
}
.com-title02--right::after {
  right: inherit;
  left: 0;
}

/*小タイトル
-----------------------------*/
/*===============================================
  共通セクション
===============================================*/
/*お問い合わせ
-----------------------------*/
.com-contact {
  padding: clamp(195px, 15.1041666667vw, 290px) 0 clamp(90px, 6.7708333333vw, 130px);
}
.com-contact::before {
  height: calc(clamp(120px, 9.375vw, 180px) + 2px);
}
.com-contact__items {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 4rem;
  padding: 6rem;
}
.com-contact__items::before {
  width: calc(100vw - 10rem);
  max-width: 1280px;
  min-width: 1100px;
  border-radius: 4rem;
}
.com-contact__items::after {
  width: calc(100vw - 16rem);
  max-width: 1190px;
  min-width: 1040px;
  height: calc(100% - 11rem);
  background-size: 19.328%;
  left: calc(50% - 0.5rem);
  top: 4rem;
}
.com-contact__items > *:nth-child(4) {
  margin-inline: calc(50% - 21rem);
}
.com-contact__items:has(> *:last-child:nth-child(2)) .com-btn--mail {
  margin-inline: 0;
}
.com-contact__tel {
  width: 34rem;
  padding-bottom: 2rem;
  margin-inline: 2rem;
  order: 1;
}
.com-contact__btn {
  height: 6.2rem;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  padding-right: 1em;
  order: 2;
}
.com-contact__btn::before {
  width: 3rem;
}
.com-contact__btn.com-btn--mail {
  margin-inline: calc(50% - 21rem);
  order: 0;
}

/*セクション名
-----------------------------*/
/*===============================================
  トップページ
===============================================*/
/*ひとりで抱え込まないで。
話せる安心が、ここにあります。
-----------------------------*/
.top-about {
  background-size: min(72.9rem, 37.96875%), max(1920px, 100%);
  background-position: right top clamp(80px, 6.25vw, 120px), center bottom;
  padding-bottom: calc(8.5rem + clamp(120px, 9.375vw, 180px));
}
.top-about::before {
  width: 92%;
  max-width: 1546px;
  height: clamp(132px, 10.1875vw, 163px);
  top: clamp(242px, 18.90625vw, 363px);
}
.top-about::after {
  height: calc(clamp(120px, 9.375vw, 180px) + 2px);
}
.top-about__inner {
  min-height: 92.4rem;
  padding-top: 10rem;
  padding-left: 56rem;
  position: relative;
}
.top-about__images {
  width: calc(50vw - 10rem);
  max-width: 78rem;
  min-width: 50rem;
  position: absolute;
  top: 0;
  right: calc(50% + 6rem);
}
.top-about__image {
  height: 43.2rem;
  margin-bottom: 6rem;
}
.top-about__image:last-of-type {
  margin-bottom: 0;
}
.top-about__image--top {
  width: 92.308%;
  min-width: 46.5rem;
}
.top-about__image--top img {
  -o-object-position: right center;
     object-position: right center;
}
.top-about__image--bottom {
  width: 51.2821%;
  min-width: 36rem;
  margin-left: auto;
}
.top-about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-about__box {
  padding-top: clamp(85px, 6.6145833333vw, 127px);
}
.top-about__heading {
  row-gap: 5rem;
  width: 42rem;
  padding-top: 2.7rem;
  padding-left: 8rem;
  padding-bottom: calc(5rem + 1px);
}
.top-about__heading::before {
  left: 4rem;
}
.top-about__heading > span:not(.sub):not(.en) {
  padding-right: 2rem;
}
.top-about__heading .en {
  top: 4rem;
}
.top-about__list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 87rem;
  margin-top: -34rem;
  margin-left: auto;
}
.top-about__item {
  width: 32rem;
}
.top-about__item:first-of-type {
  margin-inline: calc(50% - 16rem);
  margin-bottom: -4.5rem;
}
.top-about__body {
  text-align: center;
}
.top-about__btn {
  margin: 6rem auto 0;
  transform: translateX(10.5rem);
}

/*お悩み事例紹介
-----------------------------*/
.top-worries {
  padding-top: 9.4rem;
}
.top-worries::before {
  height: calc(100% + 8rem + clamp(70px, 5.4054054054vw, 100px));
  top: 3rem;
}
.top-worries::after {
  height: clamp(1394px, 108.90625vw, 2091px);
  top: -9rem;
  background-size: min(861px, 44.84375%);
}
.top-worries__image {
  text-align: center;
  margin-bottom: 6rem;
}
.top-worries__image img {
  width: calc(100% - 5rem);
  max-width: 1280px;
  height: 32rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-worries__text {
  text-align: center;
}
.top-worries__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  -moz-column-gap: 12rem;
       column-gap: 12rem;
  padding-top: 7rem;
}
.top-worries__wrapper::before {
  width: calc(100vw - 5rem);
  max-width: 1700px;
  min-width: 1150px;
  height: calc(100% + 3.5rem);
  background-size: 7.059%;
  top: 0;
  left: calc(50% - 1rem);
}
.top-worries__element {
  width: calc(50% - 6rem);
}
.top-worries__element:nth-of-type(2n) {
  padding-top: 9rem;
}
.top-worries__element:nth-of-type(2n + 1) {
  margin-top: -1rem;
}
.top-worries__element:nth-of-type(2n + 1):first-of-type {
  margin-top: 0;
}
.top-worries__btn {
  margin: 6rem auto 0;
}

/*バナーリンクセクション
-----------------------------*/
.top-bnr {
  padding-block: clamp(70px, 5.4054054054vw, 100px);
}
.top-bnr__items {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 6rem;
       column-gap: 6rem;
  width: calc(100% - 10rem);
  max-width: 1780px;
}
.top-bnr__item {
  width: 100%;
  height: 24rem;
  row-gap: 2rem;
  border-radius: 2rem;
}
.top-bnr__item::after {
  height: 2rem;
}
.top-bnr__title {
  row-gap: 2rem !important;
}

/*お知らせ
-----------------------------*/
.top-news {
  padding-bottom: clamp(100px, 7.8125vw, 110px);
}
.top-news__box {
  display: grid;
  grid-template: 17rem 1fr/24rem 1fr;
  align-items: flex-start;
  gap: 6rem;
}
.top-news__title {
  align-self: flex-end;
  margin-bottom: 0;
}
.top-news__list,
.top-news .com-empty {
  min-height: 32rem;
  grid-row: span 2;
}
.top-news__list {
  padding-left: 0.4rem;
}
.top-news .com-empty {
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-news__btn {
  width: 24rem;
  align-self: flex-start;
}
.top-news__btn::before {
  left: 2rem !important;
}

/*===============================================
  初めて方へ
===============================================*/
/*心に寄り添い、
気づきと共に歩む場所
-----------------------------*/
.beginner-concept {
  padding-bottom: 6rem;
}
.beginner-concept::before {
  height: clamp(962px, 75.15625vw, 1443px);
  background-position: right max(50% - 773px, clamp(36px, 2.8125vw, 54px)) top clamp(150px, 11.6145833333vw, 223px), right center;
  background-size: auto clamp(120px, 9.367816092vw, 163px), contain;
  top: clamp(295px, 22.9166666667vw, 440px);
}
.beginner-concept__inner {
  min-height: 49rem;
  padding-top: 10rem;
  padding-left: 56rem;
}
.beginner-concept__title {
  row-gap: 5rem;
  margin-bottom: 8rem;
}
.beginner-concept__image {
  width: calc(50vw - 10rem);
  max-width: 78rem;
  min-width: 50rem;
  height: 49rem;
  position: absolute;
  top: 0;
  right: calc(50% + 6rem);
}
.beginner-concept__image img {
  width: 100%;
  max-width: 72rem;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 2rem;
}

/*選ばれる理由
-----------------------------*/
.beginner-reason {
  background-size: max(1920px, 100%);
  padding-bottom: calc(8.5rem + clamp(120px, 9.375vw, 180px));
}
.beginner-reason::after {
  height: calc(clamp(120px, 9.375vw, 180px) + 2px);
}
.beginner-reason__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10rem;
}
.beginner-reason__item:nth-of-type(2n + 1) {
  flex-direction: row-reverse;
}
.beginner-reason__image {
  width: 45rem;
}
.beginner-reason__inner {
  width: 55rem;
}
.beginner-reason__body {
  padding-right: 1rem;
}

/*よくあるご質問
-----------------------------*/
.beginner-faq {
  padding-top: 9rem;
  padding-bottom: 6rem;
}
.beginner-faq::before {
  height: clamp(1394px, 108.90625vw, 2091px);
  top: -8rem;
  background-size: min(861px, 44.84375%);
}
.beginner-faq::after {
  width: calc(100% - 5rem);
  max-width: 1700px;
  height: calc(100% - 12.6rem);
  background-size: 7.059%;
  top: 25rem;
  left: calc(50% - 1rem);
}
.beginner-faq__list {
  padding-top: 1rem;
}
.beginner-faq__heading {
  margin-bottom: 5rem;
}
.beginner-faq__heading::after {
  width: calc(100% + 10rem);
}

/*料金案内
-----------------------------*/
.beginner-price {
  padding-bottom: 6rem;
}
.beginner-price__list {
  padding-top: 1rem;
}
.beginner-price__item {
  display: grid;
  grid-template-columns: 35rem 1fr;
  align-items: flex-start;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
}
.beginner-price__image img {
  aspect-ratio: 0.935483871;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.beginner-price__options {
  width: 100%;
}

/*ルーム概要
-----------------------------*/
.beginner-info__title {
  margin-bottom: 7rem;
}
.beginner-info__table {
  padding: calc(8rem + (1em - 1lh) / 2) 8rem;
  border-radius: 4rem;
  background: var(--color-bg-sky);
}
.beginner-info__table tr th {
  width: 18rem;
  padding-left: 6rem;
}
.beginner-info__table tr td {
  padding-right: 6rem;
}
.beginner-info__map {
  height: 40rem;
  margin-top: 7rem;
  border-radius: 4rem;
}

/*===============================================
  お悩み事例
===============================================*/
/*こんなお悩みありませんか？
-----------------------------*/
.case-trouble {
  padding-bottom: 6rem;
}
.case-trouble::before {
  height: clamp(962px, 75.15625vw, 1443px);
  background-position: right max(50% - 773px, clamp(36px, 2.8125vw, 54px)) top clamp(150px, 11.6145833333vw, 223px), right center;
  background-size: auto clamp(120px, 9.367816092vw, 163px), contain;
  top: clamp(295px, 22.9166666667vw, 440px);
}
.case-trouble__inner {
  min-height: 49rem;
  padding-top: 10rem;
  padding-left: 56rem;
}
.case-trouble__title {
  align-items: flex-start;
  text-align: left;
  margin-bottom: 7rem;
}
.case-trouble__list:has(+ .case-trouble__text) {
  margin-bottom: 5rem;
}
.case-trouble__item {
  margin-bottom: 3rem;
}
.case-trouble__image {
  width: calc(50vw - 10rem);
  max-width: 78rem;
  min-width: 50rem;
  height: 49rem;
  position: absolute;
  top: 0;
  right: calc(50% + 6rem);
}
.case-trouble__image img {
  width: 100%;
  max-width: 72rem;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 2rem;
}

/*お悩み事例紹介
-----------------------------*/
.case-worries__list {
  padding-top: 1rem;
}
.case-worries__item {
  max-width: 90rem;
}
.case-worries__item:nth-of-type(2n) {
  margin-left: auto;
}
.case-worries__summary {
  text-align: center;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
}

/*===============================================
  カウンセラー紹介
===============================================*/
/*プロフィール
-----------------------------*/
.counselor-profile::before {
  height: clamp(962px, 75.15625vw, 1443px);
  background-position: right max(50% - 773px, clamp(36px, 2.8125vw, 54px)) top clamp(150px, 11.6145833333vw, 223px), right center;
  background-size: auto clamp(120px, 9.367816092vw, 163px), contain;
  top: clamp(295px, 22.9166666667vw, 440px);
}
.counselor-profile__item {
  display: grid;
  grid-template-columns: 27rem 1fr;
  align-items: flex-start;
  -moz-column-gap: 6rem;
       column-gap: 6rem;
}
.counselor-profile__inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.counselor-profile__heading {
  margin-bottom: 5rem;
}
.counselor-profile__entry {
  margin-bottom: 4rem;
}
.counselor-profile__label {
  min-width: 13rem;
  margin-bottom: 4rem;
}
.counselor-profile__images {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 4rem 2.3rem;
}
.counselor-profile__images:has(.counselor-profile__images-inner) {
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.counselor-profile__images-inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 4rem 2.3rem;
}
.counselor-profile__image {
  width: 23rem;
}
.counselor-profile__image--col {
  width: 17rem;
}

/*===============================================
  ご利用者の声
===============================================*/
/*ご利用者の声 一覧
-----------------------------*/
.voice-list__top::before {
  left: calc(-5rem - 1px);
}
.voice-list__top::after {
  width: 44rem;
  left: -10rem;
}

/*ご利用者の声 詳細
-----------------------------*/
/*===============================================
  お知らせ
===============================================*/
/* お知らせ 一覧
-----------------------------*/
/* お知らせ 詳細
-----------------------------*/
.news-detail__title {
  margin-bottom: 3rem;
}
/*タグリスト
-----------------------------*/
/*===============================================
  お問い合わせ
===============================================*/
.contact-form__table tr th {
  width: 40rem;
  text-align: left;
  line-height: 2.375;
  padding-left: 0;
}
.contact-form__table tr th .optional-mark,
.contact-form__table tr th .required-mark {
  margin-top: 0.5rem;
}
.contact-form__table tr td {
  vertical-align: middle;
  line-height: 2.375;
  padding-inline: 0;
}
.contact-form .contact-submits-wrap > * {
  margin: 20px 15px 0;
}

/*===============================================
  お問い合わせ完了
===============================================*/
.contact-complete__text {
  text-align: center;
}

/*===============================================
  プライバシーポリシー
===============================================*/
/*===============================================
  サイトマップ
===============================================*/
.sitemap-list__items {
  display: grid;
  grid-template-rows: repeat(5, 1fr);
  grid-auto-flow: column;
  gap: 20px 80px;
}
.sitemap-list__link {
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  padding: 15px 20px;
}

/*===============================================
  404エラー
===============================================*/