@charset "UTF-8";
/* SCSSの読み込み */
@import url(all.css);
/*===============================================
  切り替え用
===============================================*/
html {
  font-size: clamp(9px, 0.6896551724vw, 10px);
  scroll-padding-top: 10rem;
}

.pc-none {
  display: none !important;
}

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

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

/*===============================================
  header
===============================================*/
#header .header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 10rem;
  padding-inline: 2rem;
}
#header .header__logo img {
  height: clamp(20px, 1.5625vw, 28px);
  aspect-ratio: 296/28;
  -o-object-fit: contain;
     object-fit: contain;
}
#header .header__right {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: column;
  row-gap: 1.2rem;
  padding-bottom: 0.2rem;
}
#header .header__other {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 2.4rem;
       column-gap: 2.4rem;
}
#header .header__mail {
  -moz-column-gap: 0.6rem;
       column-gap: 0.6rem;
  width: 20rem;
  height: 4.4rem;
  font-size: var(--font-size-base);
  margin-right: 1.3rem;
}
#header .header__mail::before {
  width: 1.7rem;
}
#header .header__mail::after {
  width: 2.5rem;
}

/*===============================================
  footer
===============================================*/
#footer {
  padding-block: 6.2rem;
}
#footer .footer__inner {
  display: grid;
  grid-template: "logo btn" 3.3rem "info btn" auto/1fr 30rem;
  align-items: flex-start;
  width: 108rem;
  gap: 5.2rem 6rem;
}
#footer .footer__logo {
  grid-area: logo;
}
#footer .footer__logo img {
  height: 100%;
  aspect-ratio: 352/33;
  -o-object-fit: contain;
     object-fit: contain;
}
#footer .footer__info {
  grid-area: info;
}
#footer .footer__btn {
  height: 7.8rem;
  font-size: var(--font-size-base);
  grid-area: btn;
}

/*フッターナビ
-----------------------------*/
.footer-nav {
  margin-top: 4rem;
}
.footer-nav__list {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--font-size-sm);
  line-height: calc(1em + 1rem);
  padding: calc((4.5rem - 1lh) / 2) calc(50% - 60rem);
  background: var(--color-green);
}
.footer-nav__item {
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.034em;
}
.footer-nav__item::after {
  content: "|";
  margin-inline: 0.5em;
}
.footer-nav__item:last-of-type {
  margin-inline-end: -0.034em;
}
.footer-nav__item:last-of-type::after {
  display: none;
}
.footer-nav__sub-list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: 2.8rem;
       column-gap: 2.8rem;
  width: 108rem;
  font-size: var(--font-size-xs);
  line-height: calc(1em + 1rem);
  margin: 2rem auto 0;
}
.footer-nav__sub-item {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.9rem;
       column-gap: 0.9rem;
  margin-block: calc((1em - 1lh) / 2);
}
.footer-nav__sub-item::before {
  content: "";
  display: block;
  width: 0.5rem;
  aspect-ratio: 5/11;
  background: url(../img/common/arrow_nav.svg) no-repeat center/contain;
}

/*コピーライト
-----------------------------*/
.copy {
  width: 108rem;
  margin-inline: auto;
}
.copy p {
  position: absolute;
  right: 0;
  bottom: 0;
}

/*===============================================
  fixed固定
===============================================*/
/*サイドボタン
-----------------------------*/
#side {
  width: clamp(100px, 7.8106508876vw, 132px);
  aspect-ratio: 132/104;
  flex-direction: column;
  row-gap: 0.8rem;
  font-size: clamp(11px, 0.8571428571vw, 15px);
  background: url(../img/common/bg_side.png) no-repeat center/contain;
  padding-bottom: 0.7rem;
  bottom: 3rem;
  right: 1rem;
  transition: all 0.3s ease-out;
}
#side::before {
  width: 1.53334em;
  aspect-ratio: 23/18;
}
#side > span {
  font-size: 1em;
  line-height: 1.2;
}
#side:hover {
  transform: translateY(-0.5rem);
}

/*===============================================
  visual
===============================================*/
/*共通
-----------------------------*/
.visual__catch {
  width: clamp(550px, 42.7083333333vw, 820px);
  box-shadow: 0 0 clamp(14px, 1.0416666667vw, 20px) rgba(0, 0, 0, 0.15);
}
.visual__catch > span.line::before {
  height: clamp(27px, 2.0833333333vw, 40px);
}
.visual__catch > span.line::after {
  width: clamp(480px, 37.5vw, 720px);
  height: clamp(6px, 0.46875vw, 9px);
  background: url(../img/common/line-deco.png) no-repeat center/contain, linear-gradient(to right, var(--color-gold) calc(50% - clamp(20px, 1.5625vw, 30px)), transparent calc(50% - clamp(20px, 1.5625vw, 30px)), transparent calc(50% + clamp(20px, 1.5625vw, 30px)), var(--color-gold) calc(50% + clamp(20px, 1.5625vw, 30px))) no-repeat center/100% 1px;
}
.visual__catch::before {
  width: calc(100% - clamp(14px, 1.0416666667vw, 20px));
  height: calc(100% - clamp(14px, 1.0416666667vw, 20px));
  border-width: clamp(30px, 2.34375vw, 45px);
}

/*メインビジュアル
-----------------------------*/
.visual__main {
  height: clamp(560px, 43.2291666667vw, 830px);
}
.visual__main::before, .visual__main::after {
  height: 100%;
}
.visual__main::before {
  width: 60.365%;
  -webkit-mask: linear-gradient(95.5deg, black 70.397%, transparent 89.242%);
          mask: linear-gradient(95.5deg, black 70.397%, transparent 89.242%);
}
.visual__main::after {
  width: 59.896%;
}
.visual__catch--main {
  aspect-ratio: 820/338;
  row-gap: clamp(24px, 1.875vw, 36px);
}
.visual__catch--main .main {
  padding-bottom: clamp(26px, 2.03125vw, 39px);
}
.visual__catch--main .main img {
  height: calc(clamp(30px, 2.34375vw, 45px) + 1px);
}
.visual__catch--main .main::before {
  width: calc(100% + clamp(50px, 3.90625vw, 75px));
  top: clamp(-30px, -1.5625vw, -20px);
}
.visual__catch--main .sub {
  font-size: clamp(18px, 1.3541666667vw, 26px);
  letter-spacing: 0.15em;
  margin-inline-end: -0.15em;
}

/*サブビジュアル
-----------------------------*/
.visual__sub {
  height: clamp(300px, 23.4375vw, 450px);
}
.visual__catch--sub {
  aspect-ratio: 82/25;
  font-size: clamp(30px, 2.34375vw, 45px);
  padding-top: clamp(8px, 0.625vw, 12px);
}
.visual__catch--sub > span {
  padding-bottom: clamp(28px, 2.1875vw, 42px);
}
.visual__catch--sub > span::before {
  width: calc(100% + clamp(32px, 2.5vw, 48px));
  top: clamp(-33px, -1.71875vw, -22px);
}

/*===============================================
  グローバルナビ
===============================================*/
.gnav {
  font-size: var(--font-size-sm);
  line-height: calc(1em + 1rem);
  letter-spacing: var(--letter-spacing-base);
}
.gnav__list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block: calc((1em - 1lh) / 2);
}
.gnav__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
.gnav__item::after {
  content: "|";
  margin-inline: 1em;
}
.gnav__item:last-of-type {
  margin-inline-end: calc(var(--letter-spacing-base) * -1);
}
.gnav__item:last-of-type::after {
  display: none;
}
.gnav__link {
  display: block;
}
.gnav__link:hover, .gnav__link.current {
  color: var(--color-gold);
}

/*===============================================
  main#container
===============================================*/
/*===============================================
  パンくずリスト
===============================================*/
.breadcrumb {
  padding-block: calc(2.5rem - 0.5em);
  font-size: var(--font-size-base);
  line-height: calc(1em + 1rem);
}
.breadcrumb__list {
  width: 108rem;
}
.breadcrumb__item::after {
  margin-inline: 1em;
}

/*===============================================
  main共通
===============================================*/
.section {
  padding-block: 11.5rem;
}

.inbox {
  width: 108rem;
}

/*電話番号
-----------------------------*/
.com-tel {
  row-gap: 0.8rem;
}
.com-tel__num {
  font-size: 3.2rem;
}
.com-tel__num::before {
  font-size: 1.8rem;
  margin-block: -0.1rem;
}
.com-tel__num span {
  margin-block-start: -0.5rem;
  margin-block-end: -0.2rem;
}
/*ボタン
-----------------------------*/
.com-btn {
  width: 36rem;
  height: 6.5rem;
  font-size: var(--font-size-h6);
}
.com-btn > span {
  letter-spacing: 0.12em;
  margin-inline-end: -0.12em;
}
.com-btn::after {
  width: 3.5rem;
}
.com-btn--mail {
  -moz-column-gap: 1.4rem;
       column-gap: 1.4rem;
}
.com-btn--mail::before {
  width: 2.3rem;
}
.com-btn--window {
  -moz-column-gap: 1.4rem;
       column-gap: 1.4rem;
}
.com-btn--window::before {
  width: 1.5rem;
}

/* SNS
-----------------------------*/
/*テーブル
-----------------------------*/
.com-table {
  line-height: 1.5;
  padding: calc(4rem + (1em - 1lh) / 2) 4rem;
}
.com-table::before {
  border-width: 3.6rem;
}
.com-table tr th,
.com-table tr td {
  padding-block: calc(2.3rem + (1em - 1lh) / 2);
}
.com-table tr th {
  width: 17rem;
}
.com-table tr:first-of-type th,
.com-table tr:first-of-type td {
  padding-top: 0;
}
.com-table tr:last-of-type th,
.com-table tr:last-of-type td {
  padding-bottom: 0;
}

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

/*お知らせ
-----------------------------*/
.com-post__list {
  padding: 4.3rem 4rem;
  box-shadow: 0.3rem 0.3rem 2rem rgba(0, 0, 0, 0.15);
  outline-offset: 1rem;
}
.com-post__item {
  padding-bottom: 3rem;
  margin-bottom: 3rem;
}
.com-post__item--image .com-post__link {
  -moz-column-gap: 6rem;
       column-gap: 6rem;
  padding: 4rem;
}
.com-post__item--image .com-post__image {
  width: 32rem;
}
.com-post__item--image .com-post__image img {
  aspect-ratio: 3/2;
}
.com-post__item--image .com-post__inner {
  gap: 1.5rem 2rem;
}
.com-post__item--image .com-post__heading {
  font-size: var(--font-size-h5);
  margin-bottom: 1rem;
}
.com-post__item--image .com-post__tags {
  padding-top: 0.5rem;
}
.com-post__link {
  gap: 1.5rem 2rem;
}
.com-post__date {
  font-size: calc(var(--font-size-base) + 1px);
}
.com-post__tag {
  font-size: var(--font-size-sm);
  line-height: calc(1em + 0.9rem);
  padding-inline: 2rem;
  border-radius: 100vh;
}

/* こんなお悩みございませんか
-----------------------------*/
.com-worries__inner {
  padding-top: 32rem;
  position: relative;
}
.com-worries__list {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.com-worries__item {
  width: 27.6rem;
  aspect-ratio: 276/218;
  position: absolute;
}
.com-worries__item:nth-of-type(1) {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.com-worries__item:nth-of-type(1) .com-worries__link::before {
  width: 6.2rem;
  aspect-ratio: 62/66;
  background-position: right bottom, left top;
  left: 9.5rem;
  bottom: -5.4rem;
}
.com-worries__item:nth-of-type(2) {
  top: 9.2rem;
  left: 9.7rem;
}
.com-worries__item:nth-of-type(2) .com-worries__link::before {
  width: 7.1rem;
  aspect-ratio: 71/62;
  background-position: right bottom, left top;
  right: 5.6rem;
  bottom: -4.2rem;
}
.com-worries__item:nth-of-type(3) {
  top: 9.2rem;
  right: 10.2rem;
}
.com-worries__item:nth-of-type(3) .com-worries__link::before {
  width: 7.1rem;
  aspect-ratio: 71/62;
  background-position: left bottom, right top;
  left: 5.6rem;
  bottom: -4.2rem;
}
.com-worries__item:nth-of-type(4) {
  top: 33.4rem;
  left: 0;
}
.com-worries__item:nth-of-type(4) .com-worries__link::before {
  width: 8.4rem;
  aspect-ratio: 84/39;
  background-position: right top, left bottom;
  right: -7.2rem;
  bottom: 6.7rem;
}
.com-worries__item:nth-of-type(5) {
  top: 33.4rem;
  right: 0.4rem;
}
.com-worries__item:nth-of-type(5) .com-worries__link::before {
  width: 8.4rem;
  aspect-ratio: 84/39;
  background-position: left top, right bottom;
  left: -7.2rem;
  bottom: 6.7rem;
}
.com-worries__link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
  background: var(--color-white);
  outline: solid 1px var(--color-line);
  outline-offset: -1px;
  box-shadow: 0.4rem 0.4rem var(--color-line);
  border-radius: 50%;
  padding: 2.5em 1em;
  transition: all 0.3s ease-out;
  position: relative;
}
.com-worries__link::before {
  content: "";
  background: url(../img/common/balloon_worries-small.svg) no-repeat, url(../img/common/balloon_worries-big.svg) no-repeat;
  background-size: 3rem, 4.2rem;
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.com-worries__link::after {
  content: "";
  width: 3.4rem;
  aspect-ratio: 1;
  background: url(../img/common/arrow.svg) no-repeat center/0.8rem;
  background-color: var(--color-mos);
  border-radius: 50%;
  position: absolute;
  right: 1.8rem;
  bottom: 1.8rem;
  z-index: 1;
  pointer-events: none;
}
.com-worries__link p {
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-inline-end: -0.05em;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  max-height: 4lh;
}
.com-worries__link:hover {
  transform: translateY(-0.5rem);
}
.com-worries__image {
  text-align: center;
}

/*===============================================
  タイトル
===============================================*/
/*大タイトル
-----------------------------*/
.com-title01 {
  row-gap: 3.4rem;
  margin-bottom: 6rem;
}
.com-title01 > span.en {
  font-size: calc(1em - 2rem);
  margin-block-start: -0.3rem;
  margin-block-end: -0.1rem;
}

/*中タイトル
-----------------------------*/
.com-title02 .deco::before {
  width: calc(100% + 8.6rem);
  height: 2.2rem;
}
.com-title02--line {
  font-size: 3.6rem;
  row-gap: 2rem;
}
.com-title02--line > span {
  line-height: calc(1em + 1rem);
}
.com-title02--line::after {
  margin-top: 1.2rem;
}

/*小タイトル
-----------------------------*/
/*===============================================
  共通セクション
===============================================*/
/*お問い合わせ
-----------------------------*/
.com-contact {
  width: 104rem;
  padding: 8rem 11rem 7rem;
  background-size: calc(100% - 2rem) calc(100% - 2rem);
  margin-inline: auto;
  margin-bottom: 2.5rem;
}
.com-contact::before {
  border-width: 4.5rem;
}
.com-contact::after {
  width: 128.8rem;
  height: 25.5rem;
  bottom: -4.8rem;
}
.com-contact__title {
  margin-bottom: 2.3rem;
}
.com-contact__items {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}
.com-contact__btn {
  width: 30rem;
}
.com-contact__label {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 13rem;
  aspect-ratio: 1;
  border-radius: 50%;
  font-size: var(--font-size-h6);
  line-height: calc(1em + 1rem);
}
.com-contact__label .b {
  font-size: 2.2rem;
  line-height: 1;
}

/*セクション名
-----------------------------*/
/*===============================================
  トップページ
===============================================*/
/*苦しかった経験を、
誰かの希望に変えるために
-----------------------------*/
.top-intro {
  background-size: max(192rem, 100%);
  padding: 11rem 0 10rem;
}
.top-intro + .top-profile {
  padding-top: 10rem;
}
.top-intro__title {
  font-size: 4.4rem;
  margin-bottom: 5rem;
}
.top-intro__title > span.en {
  font-size: 2.5rem;
}
.top-intro__title::after {
  width: 8.8rem;
  aspect-ratio: 88/62;
  right: -5.5rem;
  bottom: -5rem;
}
.top-intro__text {
  font-size: 1.7rem;
  line-height: 1.47059;
  letter-spacing: 0.05em;
}
.top-intro__image {
  width: calc(50vw + 4.8rem);
  min-width: calc(600px + 4.8rem);
  height: 68.4rem;
  position: absolute;
  left: calc(50% - 4.8rem);
  bottom: 0;
  z-index: -1;
  pointer-events: none;
  -webkit-mask: url(../img/index/mask_intro-img.png) no-repeat left center/max(100.8rem, 100%) 100%;
          mask: url(../img/index/mask_intro-img.png) no-repeat left center/max(100.8rem, 100%) 100%;
}
.top-intro__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-intro__inner {
  min-height: 68.4rem;
  padding-right: 45rem;
  position: relative;
  z-index: 0;
}
.top-intro__inner:has(+ *) {
  margin-bottom: 4.6rem;
}

/*プロフィール
-----------------------------*/
.top-profile {
  background-size: max(192rem, 100%);
  padding-bottom: 10rem;
}
.top-profile__title {
  align-items: flex-start;
  text-align: left;
  font-size: 3.6rem;
  margin-bottom: 4.6rem;
}
.top-profile__title > span.en {
  font-size: 2.5rem;
}
.top-profile__title::after {
  width: 6.6rem;
  aspect-ratio: 66/46;
  right: -6.7rem;
  bottom: -1.5rem;
}
.top-profile__text {
  font-size: 1.7rem;
  line-height: 1.47059;
  letter-spacing: 0.05em;
}
.top-profile__image {
  width: 48rem;
  height: 68.6rem;
  position: absolute;
  top: 0;
  left: -10rem;
}
.top-profile__image::before {
  top: 1.4rem;
  left: 1.4rem;
}
.top-profile__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.top-profile__inner {
  min-height: 70rem;
  padding-left: 45rem;
  position: relative;
  z-index: 0;
}
.top-profile__inner:has(+ *) {
  margin-bottom: 4rem;
}

/*こんなお悩みございませんか
-----------------------------*/
.top-worries {
  padding-block: 12.5rem;
}
.top-worries::before {
  height: calc(100% + 13rem);
}
.top-worries__title {
  row-gap: 3.9rem;
  font-size: 4.6rem;
}
.top-worries__title > span.en {
  font-size: 2.5rem;
}
.top-worries__title::after {
  height: 2.2rem;
  margin-top: 1.1rem;
}

/*ネイチャーセラピーへご相談ください
-----------------------------*/
.top-menu {
  padding-top: 0;
}
.top-menu:has(.com-contact)::before {
  height: 77rem;
}
.top-menu__title {
  align-items: flex-start;
  row-gap: 3rem;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 30.5rem;
  padding: 6rem 4.5rem 6.8rem 0;
  text-align: left;
  font-size: 4.4rem;
  margin-bottom: 6.5rem;
}
.top-menu__title::before {
  width: calc(100% + 50vw - 54rem);
  min-width: calc(100% + 600px - 54rem);
  right: 0;
}
.top-menu__title::after {
  width: 8.8rem;
  aspect-ratio: 88/62;
  right: -0.5rem;
  bottom: 3.5rem;
}
.top-menu__title > span.en {
  font-size: 2.5rem;
  margin-bottom: 1.2rem;
}
.top-menu__title > span.mid {
  font-size: calc(1em - 1rem);
}
.top-menu__text {
  text-align: center;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
}
.top-menu__bnr {
  padding-top: 7.5rem;
}
.top-menu__bnr:has(+ *) {
  margin-bottom: 13rem;
}
.top-menu__heading {
  margin-bottom: 2.6rem;
}
.top-menu__item {
  height: 27rem;
}
.top-menu__item::after {
  width: 5.5rem;
  background-size: 0.8rem;
  right: 2rem;
  bottom: 2rem;
}
.top-menu__item p {
  font-size: 3.4rem;
  text-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
}
.top-menu__item p::before {
  width: calc(100% + 18rem);
  height: 23.1rem;
}

/*バナーリンクセクション
-----------------------------*/
.top-bnr__items {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: clamp(64px, 4.9479166667vw, 95px);
       column-gap: clamp(64px, 4.9479166667vw, 95px);
  width: calc(100% - clamp(120px, 9.375vw, 180px));
}
.top-bnr__item {
  width: 100%;
  height: 19rem;
  padding-inline: clamp(26px, 2.03125vw, 39px);
  font-size: clamp(24px, 1.875vw, 36px);
}
.top-bnr__item p {
  letter-spacing: 0.15em;
  margin-inline-end: -0.15em;
}
.top-bnr__item::after {
  width: 4rem;
}

/* お問い合わせ（セクション非表示用）
-----------------------------*/
.top-contact {
  padding-top: 12rem;
}

/*お知らせ・ブログ
-----------------------------*/
.top-news {
  padding: 10rem 0 10.5rem;
}
.top-news::before {
  height: 34rem;
}
.top-news__title {
  font-size: 4.6rem;
  row-gap: 3.9rem;
}
.top-news__title > span.en {
  font-size: 2.5rem;
}
.top-news__btn {
  margin: 5.5rem auto 0;
}

/*===============================================
  ネイチャーガーデンについて
===============================================*/
/*当社のカウンセリング方法
-----------------------------*/
.about-method__title {
  margin-bottom: 4.2rem;
}
.about-method__box {
  row-gap: 3rem;
}
.about-method__image::before {
  width: calc(100% + 18rem);
  height: 23.1rem;
}
.about-method__body {
  text-align: center;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
}
.about-method__list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
  padding-top: 1.5rem;
}
.about-method__item {
  width: 100%;
  padding: 3rem;
}
.about-method__caption {
  font-size: 2.6rem;
  margin-inline: -0.5em;
  margin-bottom: 2.5rem;
}

/*特徴・当社の強み
-----------------------------*/
.about-feature__item {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  min-height: 32rem;
  position: relative;
  margin-bottom: 9rem;
}
.about-feature__item:nth-of-type(2n + 1) {
  padding-right: 56rem;
}
.about-feature__item:nth-of-type(2n + 1) .about-feature__image {
  right: 1.4rem;
}
.about-feature__item:nth-of-type(2n) {
  padding-left: 56rem;
}
.about-feature__item:nth-of-type(2n) .about-feature__image {
  left: 0;
}
.about-feature__heading {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  margin-bottom: 5.2rem;
}
.about-feature__heading > span::after {
  width: 8.8rem;
  aspect-ratio: 88/62;
  right: -5.6rem;
  bottom: -3.4rem;
}
.about-feature__heading::before {
  font-size: 5rem;
}
.about-feature__image {
  width: 48rem;
}
.about-feature__image img {
  width: 100%;
  aspect-ratio: 1.5;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-feature__image {
  position: absolute;
  top: 0;
}
.about-feature__image::before {
  top: 1.2rem;
  left: 1.4rem;
}

/*===============================================
  カウンセリングメニュー
===============================================*/
/*カウンセリングメニュー
-----------------------------*/
.menu-list {
  background-size: max(192rem, 100%);
}
.menu-list:has(+ .top-worries) {
  padding-bottom: 9.3rem;
}
.menu-list:has(+ .top-worries) + .top-worries::before {
  height: 100%;
}
.menu-list__label {
  -moz-column-gap: 5.6rem;
       column-gap: 5.6rem;
  padding: 4.9rem 7rem;
}
.menu-list__label dt {
  font-size: 4.5rem;
  letter-spacing: 0.15em;
  margin-inline-end: -0.15em;
}
.menu-list__label dd {
  font-size: 6rem;
  letter-spacing: 0.12em;
  margin-inline-end: -0.12em;
}
.menu-list__label dd .num {
  display: inline-block;
  font-size: 9rem;
  margin-top: -0.2em;
}
.menu-list__label dd .num .min {
  font-size: 5rem;
}
.menu-list__item + .menu-list__box {
  margin-top: 5.6rem;
}
.menu-list__item {
  min-height: 40rem;
  padding-top: 8rem;
  margin-bottom: 1rem;
  position: relative;
}
.menu-list__item:nth-of-type(2n + 1) {
  padding-right: 56rem;
}
.menu-list__item:nth-of-type(2n + 1) .menu-list__thumb {
  right: 1.4rem;
}
.menu-list__item:nth-of-type(2n) {
  padding-left: 56rem;
}
.menu-list__item:nth-of-type(2n) .menu-list__thumb {
  left: 0;
}
.menu-list__heading {
  padding-bottom: 1.5rem;
  margin-bottom: 2.8rem;
}
.menu-list__thumb {
  width: 48rem;
}
.menu-list__thumb img {
  width: 100%;
  aspect-ratio: 1.5;
  -o-object-fit: cover;
     object-fit: cover;
}
.menu-list__thumb {
  position: absolute;
  top: 8rem;
}
.menu-list__thumb::before {
  top: 1.2rem;
  left: 1.4rem;
}
.menu-list__price {
  font-size: var(--font-size-h6);
  line-height: 1.88889;
  padding-top: 2.5rem;
}
.menu-list__box {
  padding: 5.6rem 5rem;
}
.menu-list__box:has(+ *) {
  margin-bottom: 10rem;
}
.menu-list__caption {
  margin-bottom: 4rem;
}
.menu-list__text {
  text-align: center;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
}
.menu-list__text strong {
  font-size: 2rem;
  line-height: 1.8;
}

/* その他
-----------------------------*/
.menu-other {
  padding-block: 12rem;
}

/*===============================================
  お悩み解決実例
===============================================*/
/*こんなお悩みございませんか
-----------------------------*/
.case-worries {
  padding-bottom: 4.5rem;
}
.case-worries__text {
  font-size: var(--font-size-h3);
  line-height: calc(1em + 1rem);
  letter-spacing: var(--letter-spacing-lg);
  margin-top: calc(4.2rem + (1em - 1lh) / 2) !important;
}
.case-worries__text p {
  margin-inline-end: calc(var(--letter-spacing-lg) * -1);
}
.case-worries__text p span {
  background: linear-gradient(to top, #ebf4de calc(1em - 1.7rem), transparent calc(1em - 1.7rem));
}

/*実際にあったご相談内容をご紹介
-----------------------------*/
.case-list__title {
  margin-bottom: 0;
}
.case-list__item {
  padding-top: 3.2rem;
  margin-bottom: 3.8rem;
}
.case-list__balloon {
  -moz-column-gap: 3.8rem;
       column-gap: 3.8rem;
}
.case-list__balloon--consult {
  margin-bottom: 0.5rem;
}
.case-list__balloon--consult figcaption {
  margin-top: -2rem;
}
.case-list__balloon--counselor figcaption {
  margin-top: -1rem;
}
.case-list__icon {
  width: 17.2rem;
}
.case-list__icon figcaption {
  font-size: var(--font-size-h6);
  padding: calc((3rem - 1em) / 2);
}
.case-list__text {
  padding: calc(4rem - (0.5lh - 0.5em)) 4rem;
}
.case-list__text::after {
  width: 2.4rem;
}
.case-list__text--advice {
  font-size: var(--font-size-h6);
  line-height: 1.44445;
}

/*===============================================
  初めての方へ
===============================================*/
/*ページ内リンク
-----------------------------*/
.guide-link {
  padding-bottom: 0;
}
.guide-link__items {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 6rem;
       column-gap: 6rem;
}
.guide-link__item::before {
  right: 2rem;
}

/*カウンセリングの流れ
-----------------------------*/
.guide-flow {
  padding-top: 7.6rem;
}
.guide-flow__title {
  margin-bottom: 4.2rem;
}
.guide-flow__item {
  min-height: 27rem;
  padding: 4rem;
  padding-left: 33rem;
  margin-bottom: 5.1rem;
}
.guide-flow__item::after {
  height: 2.9rem;
  top: calc(100% + 1.1rem);
}
.guide-flow__heading {
  row-gap: 1.8rem;
  margin-bottom: 3rem;
}
.guide-flow__image {
  width: 25.8rem;
  height: calc(100% - 8rem);
  position: absolute;
  top: 4rem;
  left: 4rem;
}
.guide-flow__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.guide-flow__items {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  -moz-column-gap: 3.8rem;
       column-gap: 3.8rem;
  padding-top: 2.8rem;
}
.guide-flow__tel {
  row-gap: 1.8rem;
}
.guide-flow__tel .com-tel__num {
  font-size: 3.7rem;
  letter-spacing: 0.03em;
}
.guide-flow__tel .com-tel__num::before {
  font-size: 1.7rem;
}
.guide-flow__tel .com-time {
  font-weight: 500;
}
.guide-flow__btn {
  width: 30rem;
}

/*Q&A
-----------------------------*/
.guide-faq__title {
  margin-bottom: 4.8rem;
}
.guide-faq__item {
  padding: 3.6rem 4rem;
  margin-bottom: 4.7rem;
}
.guide-faq__heading {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  padding-bottom: 1.5rem;
  margin-bottom: 2.4rem;
}
.guide-faq__heading::before {
  font-size: 3.5rem;
  margin-top: -0.6rem;
  padding-bottom: 0.3rem;
}
.guide-faq__heading > span {
  line-height: 1.66667;
  margin-block-start: calc((3.2rem - 1lh) / 2);
}
.guide-faq__body {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.guide-faq__body::before {
  font-size: 3.5rem;
  margin-top: -0.6rem;
}
.guide-faq__body p {
  margin-block-start: calc((2.9rem - 1lh) / 2);
}

/*===============================================
  会社情報
===============================================*/
/*会社概要
-----------------------------*/
.company-info__box {
  padding-top: 12rem;
}
.company-info__heading {
  margin-bottom: 3.4rem;
}
.company-info__heading::after {
  width: 6.2rem;
  aspect-ratio: 62/44;
  right: -5rem;
  bottom: -2rem;
}
.company-info__map {
  height: 45rem;
}

/*カウンセラー紹介
-----------------------------*/
.company-counselor__inner {
  min-height: 56.5rem;
  padding-right: 56rem;
  position: relative;
}
.company-counselor__image {
  width: 48rem;
  height: 56.5rem;
  position: absolute;
  top: 0;
  right: 1.4em;
}
.company-counselor__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.company-counselor__image::before {
  top: 1.2rem;
  left: 1.4rem;
}
.company-counselor__heading {
  justify-content: center;
  align-items: flex-start;
  flex-direction: row-reverse;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  font-size: 3.2rem;
  padding-left: calc(2rem + 0.75em);
  margin-bottom: 4.8rem;
}
.company-counselor__heading > span {
  writing-mode: vertical-rl;
  max-height: auto;
  text-orientation: mixed;
}
.company-counselor__heading .main {
  min-height: 17.4rem;
  text-align: center;
  padding: 1em calc((9rem - 1lh) / 2);
  border-block: solid 1px var(--color-mos);
  margin-block: 0;
}
.company-counselor__heading .sub {
  font-size: 0.75em;
}

/*===============================================
  お知らせ
===============================================*/
/* お知らせ 一覧
-----------------------------*/
/* お知らせ 詳細
-----------------------------*/
.news-detail__heading {
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
}

/*タグリスト
-----------------------------*/
/*===============================================
  お問い合わせ
===============================================*/
.contact-form__table tr th {
  width: 36rem;
  text-align: left;
  line-height: calc(4rem / var(--font-size-base));
  padding-right: 4rem;
}
.contact-form__table tr th .optional-mark,
.contact-form__table tr th .required-mark {
  margin-top: calc(2rem - 0.5lh);
}
.contact-form__table tr td {
  vertical-align: middle;
  line-height: calc(4rem / var(--font-size-base));
}
.contact-form .contact-submits-wrap > * {
  margin: 2rem 1.5rem 0;
}

/*===============================================
  お問い合わせ完了
===============================================*/
/*===============================================
  プライバシーポリシー
===============================================*/
.privacy-policy__box {
  padding: 4rem;
}
.privacy-policy__heading {
  margin-bottom: 3rem;
}

/*===============================================
  サイトマップ
===============================================*/
.sitemap-list__items {
  display: grid;
  grid-template: repeat(5, 1fr)/repeat(2, 1fr);
  grid-auto-flow: column;
  gap: 2rem 8rem;
}
.sitemap-list__link {
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 1em 1.5em;
}

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