@charset "UTF-8";
/*
 * Sass    : Dart sass
 * 命名規則 : BEM ベース
 *   [接頭辞]
 *   .-****  : Variant
 *   ._****  : Helpers
 *   .c-**** : 汎用コンポーネント
 *   .l-**** : レイアウト
 *   .f-**** : フォーム系コンポーネント
 */
@import url("https://use.fontawesome.com/releases/v5.15.1/css/all.css");
/**************************************************/
/* helpers */
/**************************************************/
._disp-ib {
  display: inline-block !important;
}

@media (max-width: 1089px) {
  ._view-cw-high {
    display: none !important;
  }
}
@media (min-width: 1090px) {
  ._view-cw-low {
    display: none !important;
  }
}
@media (max-width: 1279px) {
  ._view-xl-high {
    display: none !important;
  }
}
@media (min-width: 1280px) {
  ._view-xl-low {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  ._view-lg-high {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  ._view-lg-low {
    display: none !important;
  }
}
@media (max-width: 767px) {
  ._view-md-high {
    display: none !important;
  }
}
@media (min-width: 768px) {
  ._view-md-low {
    display: none !important;
  }
}
@media (max-width: 479px) {
  ._view-sm-high {
    display: none !important;
  }
}
@media (min-width: 480px) {
  ._view-sm-low {
    display: none !important;
  }
}
._clearfix {
  zoom: 1;
}
._clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

._center {
  text-align: center !important;
}

._left {
  text-align: left !important;
}

._right {
  text-align: right !important;
}

._float-l {
  float: left !important;
}

._float-r {
  float: right !important;
}

._clear {
  clear: both !important;
}

._hidden {
  display: none !important;
}

._disp-ib {
  display: inline-block !important;
}

._margin0 {
  margin: 0 !important;
}

._padding0 {
  padding: 0 !important;
}

._border0 {
  border: none !important;
}

._fixed {
  position: fixed !important;
}

._absolute {
  position: absolute !important;
}

._static {
  position: static !important;
}

._xsmall {
  font-size: 75% !important;
}

._small {
  font-size: 88% !important;
}

._large {
  font-size: 113% !important;
}

._xlarge {
  font-size: 133% !important;
}

._nowrap {
  white-space: nowrap !important;
}

._nobg {
  background: none !important;
}

._full {
  width: 100% !important;
}

/**************************************************/
/* base */
/**************************************************/
:root {
  font-size: min(16px, 1.0810810811vw);
}
@media (max-width: 767px) {
  :root {
    font-size: 4.2666666667vw;
  }
}

html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  min-width: 320px;
  padding: 0;
  color: #000;
  font-size: 1rem;
  line-height: 1.5;
}
body.-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

input,
textarea {
  font-size: 16px;
}

input,
textarea,
select,
button {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
}

button,
input[type=button],
input[type=submit] {
  transition: opacity 0.15s ease-out;
}
button:hover,
input[type=button]:hover,
input[type=submit]:hover {
  opacity: 0.7;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: #2e3192;
  text-decoration: underline;
  transition: opacity 0.15s ease-out;
}
a:hover {
  opacity: 0.7;
}
a:hover {
  text-decoration: none;
}

em {
  font-style: normal;
}

a.-telink,
a.js-telink {
  cursor: default;
  opacity: 1 !important;
}

body._ios a:hover {
  opacity: 1;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* Header */
/**************************************************/
.l-header {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 3.125rem 0 0.75rem;
  z-index: 100;
}
.l-header__logo {
  max-width: 19rem;
  margin: 0 auto;
  color: #000;
  line-height: 0;
}
.l-header__logo a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}
.l-header__logo img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .l-header {
    padding: 1.25rem 1rem 0.75rem;
  }
  .l-header__logo {
    max-width: 9.375rem;
  }
}

.l-menuBtn {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 7.5rem;
  height: 7.5rem;
  margin: 0;
  cursor: pointer;
  z-index: 101;
}
.l-menuBtn__icon {
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  background: url(../../images/common/icon_menu.png) no-repeat center/4rem auto;
}
@media (max-width: 767px) {
  .l-menuBtn {
    width: 3.75rem;
    height: 3.75rem;
  }
  .l-menuBtn__icon {
    background-size: 2rem auto;
  }
}

.l-menuClose {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 7.5rem;
  height: 7.5rem;
  margin: 0;
  cursor: pointer;
  z-index: 103;
}
.l-menuClose__icon {
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  background: url(../../images/common/icon_menu_close.png) no-repeat center/4rem auto;
}
@media (max-width: 767px) {
  .l-menuClose {
    width: 3.75rem;
    height: 3.75rem;
  }
  .l-menuClose__icon {
    background-size: 2rem auto;
  }
}

.l-spnav {
  display: none;
  position: fixed;
  right: 0;
  width: 100%;
  max-width: 35rem;
  height: 100%;
  background: #fff;
  box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.05);
  z-index: 102;
}
.l-spnav__container {
  scrollbar-width: none;
  -ms-overflow-style: none;
  box-sizing: border-box;
  max-height: 100%;
  padding: 4.375rem 3.125rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.l-spnav__container::-webkit-scrollbar {
  display: none;
}
.l-spnav__list {
  margin: 0 auto;
  padding-left: 0;
  list-style: none;
}
.l-spnav__list > li {
  display: block;
  position: relative;
  padding-left: 5rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.l-spnav__list > li::before {
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 1rem);
  width: 4.25rem;
  height: 2rem;
  background: no-repeat center/contain;
  content: "";
}
.l-spnav__list > li + li {
  margin-top: 2.5rem;
}
.l-spnav__btn {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  font-weight: 500;
}
.l-spnav__tel {
  margin: 3.75rem 0 0;
  padding: 0 1.25rem;
}
.l-spnav__tel-head {
  margin: 0;
  padding: 0.5rem;
  border-radius: 6.25rem;
  background: #d9630d;
  color: #fff;
  font-size: 1.4375rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
}
.l-spnav__tel-number {
  margin: 1rem 0 0;
  color: #d9630d;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.08em;
}
.l-spnav__tel-number a {
  color: inherit;
  text-decoration: none;
}
.l-spnav__line {
  margin: 1.875rem 0 0;
  padding: 0 1.25rem;
}
.l-spnav__line-link {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1rem;
  color: inherit;
  font-size: 1.4375rem;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.l-spnav__line-link::before {
  flex: 0 0 auto;
  display: block;
  width: 6.625rem;
  height: 6.625rem;
  background: url(../../images/common/icon_line.svg) no-repeat center/contain;
  content: "";
}
.l-spnav__list > li[data-menu=home]::before {
  top: calc(50% - 2.125rem);
  height: 4.25rem;
}
.l-spnav__list > li[data-menu=profile]::before {
  top: calc(50% - 2.625rem);
  height: 5.3125rem;
}
.l-spnav__list > li[data-menu=home]::before {
  background-image: url(../../images/common/menu_home.png);
}
.l-spnav__list > li[data-menu=blog]::before {
  background-image: url(../../images/common/menu_blog.png);
}
.l-spnav__list > li[data-menu=symptoms]::before {
  background-image: url(../../images/common/menu_symptoms.png);
}
.l-spnav__list > li[data-menu=treatment]::before {
  background-image: url(../../images/common/menu_treatment.png);
}
.l-spnav__list > li[data-menu=voices]::before {
  background-image: url(../../images/common/menu_voices.png);
}
.l-spnav__list > li[data-menu=profile]::before {
  background-image: url(../../images/common/menu_profile.png);
}
@media (max-width: 767px) {
  .l-spnav {
    max-width: 85%;
  }
  .l-spnav__container {
    padding: 3.125rem 1.25rem;
  }
  .l-spnav__list > li {
    padding-left: 2.5rem;
    font-size: 1rem;
  }
  .l-spnav__list > li::before {
    top: calc(50% - 0.5rem);
    width: 2.125rem;
    height: 1rem;
  }
  .l-spnav__list > li + li {
    margin-top: 1.875rem;
  }
  .l-spnav__tel {
    margin: 2.5rem 0 0;
    padding: 0;
  }
  .l-spnav__tel-head {
    font-size: 0.9375rem;
    letter-spacing: 0.05em;
  }
  .l-spnav__tel-number {
    margin-top: 0.5rem;
    font-size: 1.5625rem;
  }
  .l-spnav__line {
    padding: 0;
  }
  .l-spnav__line-link {
    font-size: 1rem;
  }
  .l-spnav__line-link::before {
    width: 4rem;
    height: 4rem;
  }
  .l-spnav__list > li[data-menu=home]::before {
    top: calc(50% - 1.0625rem);
    height: 2.125rem;
  }
  .l-spnav__list > li[data-menu=profile]::before {
    top: calc(50% - 1.3125rem);
    height: 2.6875rem;
  }
}

/**************************************************/
/* Footer */
/**************************************************/
.l-footer {
  padding: 3.125rem 0;
  background: url(../../images/common/bg_yellow.jpg) repeat center;
  text-align: center;
}
.l-footer__address {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
@media (max-width: 767px) {
  .l-footer {
    padding: 1.875rem 1rem;
  }
  .l-footer__address {
    font-size: 0.875rem;
  }
}

/**************************************************/
/* contents */
/**************************************************/
.l-page-container {
  position: relative;
  overflow: clip;
}

.wp-pagenavi {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  list-style: none;
  padding-left: 0;
  gap: 1.25rem;
  margin: 3.75rem auto 0;
}
.wp-pagenavi a, .wp-pagenavi span {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  width: 4.75rem;
  border-radius: 50%;
  background: #d26d3d;
  color: inherit;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
  aspect-ratio: 1/1;
}
.wp-pagenavi span.current {
  background: #e5ab8f;
}
@media (max-width: 767px) {
  .wp-pagenavi {
    gap: 0.25rem;
    margin-top: 2.5rem;
  }
  .wp-pagenavi a, .wp-pagenavi span {
    width: 2.75rem;
    font-size: 0.875rem;
  }
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* Home */
/**************************************************/
:root {
  --height-mv: 61.875rem;
  --height-blog: 38.75rem;
  --height-symptoms: 40rem;
  --height-treatment: 38.75rem;
  --height-voices: 41.25rem;
}
@media (max-width: 767px) {
  :root {
    --height-mv: 26.25rem;
  }
}

@keyframes mv_petal {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(10deg);
  }
}
@keyframes mv_wind {
  from {
    background-position: 50% 0, 0 0;
    -webkit-mask-position: 50% 0;
            mask-position: 50% 0;
  }
  to {
    background-position: 50% -250rem, 200% 0;
    -webkit-mask-position: 50% -250rem;
            mask-position: 50% -250rem;
  }
}
@keyframes mv_wind_sp {
  from {
    background-position: 50% 0, 0 0;
    -webkit-mask-position: 50% 0;
            mask-position: 50% 0;
  }
  to {
    background-position: 50% -100rem, 200% 0;
    -webkit-mask-position: 50% -100rem;
            mask-position: 50% -100rem;
  }
}
.p-home-flower {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding-top: var(--height-mv);
  z-index: 0;
}
.p-home-flower__petal {
  position: absolute;
  top: 8.75rem;
  left: calc(50% - 17.5rem);
  width: 31.25rem;
  z-index: 5;
  animation: mv_petal 1.6s steps(2, start) infinite;
}
.p-home-flower__root {
  position: absolute;
  top: 27.5rem;
  left: calc(50% - 32.5rem);
  width: 62.5rem;
  z-index: 4;
}
.p-home-flower__wind {
  position: absolute;
  top: 5.625rem;
  left: calc(50% - 46.25rem);
  width: 92.5rem;
  margin: 0 auto;
  background: url(../../images/home/wind_sprite.png) repeat-y, linear-gradient(to left, transparent 0%, rgba(187, 224, 250, 0.65) 25%, transparent 50%, transparent 100%);
  background-position: 50% 0, 0 0;
  background-size: 92.5rem auto, 200% 100%;
  aspect-ratio: 1480/1000;
  background-blend-mode: screen;
  -webkit-mask: url(../../images/home/wind_sprite.png) repeat-y;
          mask: url(../../images/home/wind_sprite.png) repeat-y;
  -webkit-mask-position: 50% 0;
          mask-position: 50% 0;
  -webkit-mask-size: 92.5rem auto;
          mask-size: 92.5rem auto;
  animation: mv_wind 3.2s steps(4, end) -0.4s infinite;
}
.p-home-flower__blog-bg, .p-home-flower__symptoms-bg, .p-home-flower__treatment-bg, .p-home-flower__voices-bg {
  background: repeat center top;
  background-size: 92.5rem auto;
}
.p-home-flower__blog-bg {
  height: var(--height-blog);
  background-image: url(../../images/common/bg_yellow.jpg);
}
.p-home-flower__symptoms-bg {
  height: var(--height-symptoms);
  background-image: url(../../images/common/bg_green.jpg);
}
.p-home-flower__treatment-bg {
  height: var(--height-treatment);
  background-image: url(../../images/common/bg_red.jpg);
}
.p-home-flower__voices-bg {
  height: var(--height-voices);
  background-image: url(../../images/common/bg_blue.jpg);
}
@media (max-width: 767px) {
  .p-home-flower__petal {
    top: 5rem;
    left: calc(50% - 7rem);
    width: 12.5rem;
  }
  .p-home-flower__root {
    top: 12.5rem;
    left: calc(50% - 13rem);
    width: 25rem;
  }
  .p-home-flower__wind {
    top: 3.75rem;
    left: calc(50% - 18.5rem);
    width: 37rem;
    background-size: 37rem auto, 200% 100%;
    -webkit-mask-size: 37rem auto;
            mask-size: 37rem auto;
    animation-name: mv_wind_sp;
  }
}

.p-home-container {
  position: relative;
  z-index: 2;
}

.p-home-mv {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  position: relative;
  height: var(--height-mv);
  padding-top: 10.25rem;
  z-index: 2;
}
.p-home-mv__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
  top: 23.75rem;
  left: 0;
  margin: 0;
  font-size: 1.6875rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.3em;
  font-feature-settings: "palt";
  z-index: 2;
}
.p-home-mv__main-line {
  display: block;
}
.p-home-mv__star1, .p-home-mv__star2 {
  position: absolute;
}
.p-home-mv__star1 {
  top: 2.5rem;
  left: -3.75rem;
  width: 20.375rem;
}
.p-home-mv__star2 {
  bottom: 10rem;
  right: -3.75rem;
  width: 10.125rem;
}
@media (max-width: 767px) {
  .p-home-mv__main {
    gap: 0.5em;
    top: 16.875rem;
    left: 1.5rem;
    font-size: 1.25rem;
    line-height: 1.25;
  }
  .p-home-mv__main-line {
    background: rgba(255, 255, 255, 0.9);
  }
  .p-home-mv__star1 {
    top: 1.875rem;
    left: -0.625rem;
    width: 8.15rem;
  }
  .p-home-mv__star2 {
    display: none;
  }
}

.p-home-blog,
.p-home-symptoms,
.p-home-treatment,
.p-home-voices {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  height: var(--home-height);
  padding: 1.25rem 0;
  z-index: 2;
}
.p-home-blog__textarea,
.p-home-symptoms__textarea,
.p-home-treatment__textarea,
.p-home-voices__textarea {
  position: relative;
  z-index: 3;
}
.p-home-blog__ttl,
.p-home-symptoms__ttl,
.p-home-treatment__ttl,
.p-home-voices__ttl {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.3em;
  font-feature-settings: "palt";
}
.p-home-blog__lead,
.p-home-symptoms__lead,
.p-home-treatment__lead,
.p-home-voices__lead {
  margin: 0.5em 0 0;
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0.3em;
}
.p-home-blog__more,
.p-home-symptoms__more,
.p-home-treatment__more,
.p-home-voices__more {
  display: flex;
  margin: 1.5rem 0 0;
}
.p-home-blog__btn,
.p-home-symptoms__btn,
.p-home-treatment__btn,
.p-home-voices__btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 2px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: block;
  padding: 0.8125rem 4rem 0.8125rem 1.5rem;
  border: 0.1875rem solid #2e3192;
  border-radius: 6.25rem;
  background: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.p-home-blog__btn::after,
.p-home-symptoms__btn::after,
.p-home-treatment__btn::after,
.p-home-voices__btn::after {
  display: block;
  position: absolute;
  top: -0.1875rem;
  right: -0.1875rem;
  height: calc(100% + 0.375rem);
  border-radius: 50%;
  background: #2e3192 url(../../images/home/icon_arrow.svg) no-repeat left center/2rem auto;
  aspect-ratio: 1/1;
  content: "";
  transition: transform 0.2s ease;
}
.p-home-blog__btn:hover,
.p-home-symptoms__btn:hover,
.p-home-treatment__btn:hover,
.p-home-voices__btn:hover {
  opacity: 1;
}
.p-home-blog__btn:hover::after,
.p-home-symptoms__btn:hover::after,
.p-home-treatment__btn:hover::after,
.p-home-voices__btn:hover::after {
  transform: translateX(0.3125rem);
}
@media (max-width: 767px) {
  .p-home-blog,
  .p-home-symptoms,
  .p-home-treatment,
  .p-home-voices {
    display: block;
    height: auto;
    padding: 3.125rem 1rem;
  }
  .p-home-blog__ttl,
  .p-home-symptoms__ttl,
  .p-home-treatment__ttl,
  .p-home-voices__ttl {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
  }
  .p-home-blog__lead,
  .p-home-symptoms__lead,
  .p-home-treatment__lead,
  .p-home-voices__lead {
    font-size: 0.9375rem;
    letter-spacing: 0.05em;
  }
  .p-home-blog__btn,
  .p-home-symptoms__btn,
  .p-home-treatment__btn,
  .p-home-voices__btn {
    padding: 0.8125rem 3.5rem 0.8125rem 1.5rem;
    border-width: 0.125rem;
    font-size: 0.9375rem;
  }
  .p-home-blog__btn::after,
  .p-home-symptoms__btn::after,
  .p-home-treatment__btn::after,
  .p-home-voices__btn::after {
    top: -0.125rem;
    right: -0.125rem;
    height: calc(100% + 0.25rem);
  }
}

.p-home-blog {
  --home-height: var(--height-blog);
}
.p-home-blog__item1, .p-home-blog__item2 {
  position: absolute;
}
.p-home-blog__item1 img, .p-home-blog__item2 img {
  display: block;
  width: 100%;
}
.p-home-blog__item1 {
  top: 3.5rem;
  right: 0.625rem;
  width: 24.375rem;
  animation: blog_item1 1.6s steps(2, start) infinite;
}
.p-home-blog__item2 {
  bottom: 4.375rem;
  right: 1.25rem;
  width: 10.875rem;
}
@media (max-width: 767px) {
  .p-home-blog {
    padding-top: 7.5rem;
    padding-bottom: 8.75rem;
  }
  .p-home-blog__item1 {
    top: auto;
    right: auto;
    bottom: 0.625rem;
    right: 2.1875rem;
    width: 9.75rem;
  }
  .p-home-blog__item2 {
    bottom: auto;
    top: 18.75rem;
    right: -0.625rem;
    width: 5.4375rem;
  }
}

@keyframes blog_item1 {
  from {
    transform: rotate(-10deg);
  }
  to {
    transform: rotate(10deg);
  }
}
.p-home-symptoms {
  --home-height: var(--height-symptoms);
  justify-content: flex-end;
  padding-bottom: 5rem;
  color: #fff;
}
.p-home-symptoms__item1, .p-home-symptoms__item2, .p-home-symptoms__item3, .p-home-symptoms__item4, .p-home-symptoms__insect1, .p-home-symptoms__insect2, .p-home-symptoms__dandelion {
  position: absolute;
}
.p-home-symptoms__item1 {
  top: 2.5rem;
  left: -4.375rem;
  width: 7rem;
}
.p-home-symptoms__item2 {
  top: 18.75rem;
  left: -3.75rem;
  width: 3.5rem;
}
.p-home-symptoms__item3 {
  top: 20rem;
  left: 26.25rem;
  width: 3.875rem;
}
.p-home-symptoms__item4 {
  top: 4.375rem;
  right: -3.75rem;
  width: 6rem;
}
.p-home-symptoms__insect1 {
  bottom: -0.25rem;
  right: -3.75rem;
  width: 19.625rem;
}
.p-home-symptoms__insect2 {
  bottom: 4.75rem;
  right: 0.5rem;
  width: 5rem;
  transform-origin: 30% bottom;
  animation: symptoms_insect2 3.2s steps(2, start) infinite;
}
.p-home-symptoms__dandelion {
  bottom: 0;
  left: 0.625rem;
  width: 21.25rem;
  transform-origin: bottom;
  animation: symptoms_dandelion 3.2s steps(2, start) -0.4s infinite;
}
@media (max-width: 767px) {
  .p-home-symptoms {
    padding-bottom: 12.5rem;
  }
  .p-home-symptoms__item1, .p-home-symptoms__item2, .p-home-symptoms__item3 {
    display: none;
  }
  .p-home-symptoms__item4 {
    top: 6.875rem;
    right: 0.625rem;
    width: 4.5rem;
  }
  .p-home-symptoms__insect1 {
    bottom: -0.125rem;
    right: 1.875rem;
    width: 7.85rem;
  }
  .p-home-symptoms__insect2 {
    bottom: 1.875rem;
    right: 3.4375rem;
    width: 2rem;
  }
  .p-home-symptoms__dandelion {
    bottom: 0;
    left: 2.5rem;
    width: 6.375rem;
  }
}

@keyframes symptoms_dandelion {
  0% {
    transform: rotate(2deg);
  }
  50% {
    transform: rotate(-2deg);
  }
  100% {
    transform: rotate(2deg);
  }
}
@keyframes symptoms_insect2 {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.8);
  }
  100% {
    transform: scale(1);
  }
}
.p-home-treatment {
  --home-height: var(--height-treatment);
  color: #fff;
}
.p-home-treatment__rainbow, .p-home-treatment__doll {
  position: absolute;
}
.p-home-treatment__rainbow {
  bottom: 21.875rem;
  right: -3.75rem;
  width: 26.75rem;
}
.p-home-treatment__doll {
  bottom: 0rem;
  right: 1.875rem;
  width: 15.5rem;
  transform-origin: bottom;
  animation: treatment_doll 6.4s steps(4, start) infinite;
}
@media (max-width: 767px) {
  .p-home-treatment {
    padding-bottom: 12.5rem;
  }
  .p-home-treatment__rainbow {
    bottom: 8.25rem;
    right: 1.375rem;
    width: 10.7rem;
  }
  .p-home-treatment__doll {
    bottom: -0.625rem;
    right: 3.75rem;
    width: 6.2rem;
  }
}

@keyframes treatment_doll {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(15deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.p-home-voices {
  --home-height: var(--height-voices);
  justify-content: flex-end;
  color: #fff;
}
.p-home-voices__item1, .p-home-voices__item2, .p-home-voices__item3, .p-home-voices__item4, .p-home-voices__item5, .p-home-voices__twig, .p-home-voices__doll {
  position: absolute;
}
.p-home-voices__item1 {
  top: 5rem;
  left: -4.25rem;
  width: 5.25rem;
}
.p-home-voices__item2 {
  bottom: 4rem;
  left: 17.5rem;
  width: 9.5rem;
}
.p-home-voices__item3 {
  bottom: 4.375rem;
  right: -2.5rem;
  width: 7.375rem;
}
.p-home-voices__item4 {
  top: 13.75rem;
  right: 31.25rem;
  width: 2.75rem;
}
.p-home-voices__item5 {
  top: 7.5rem;
  right: -6.25rem;
  width: 13.375rem;
}
.p-home-voices__twig {
  bottom: 23.75rem;
  left: 8rem;
  width: 10.375rem;
  transform-origin: 10% bottom;
  animation: voices_twig 6.4s steps(4, start) -0.4s infinite;
}
.p-home-voices__doll {
  bottom: 0rem;
  left: 1.875rem;
  width: 19.375rem;
}
@media (max-width: 767px) {
  .p-home-voices {
    padding-bottom: 13.75rem;
  }
  .p-home-voices__item1 {
    top: -2.5rem;
    left: 0.9375rem;
    width: 3.9375rem;
  }
  .p-home-voices__item2 {
    display: none;
  }
  .p-home-voices__item3 {
    bottom: 4.375rem;
    right: -0.625rem;
    width: 5.53125rem;
  }
  .p-home-voices__item4 {
    top: auto;
    bottom: 9.25rem;
    right: 5rem;
    width: 2.0625rem;
  }
  .p-home-voices__item5 {
    top: 3.75rem;
    right: -1.875rem;
    width: 10.03125rem;
  }
  .p-home-voices__twig {
    bottom: 7.25rem;
    left: 5.5rem;
    width: 4.15rem;
  }
  .p-home-voices__doll {
    bottom: -2.5rem;
    left: 3.125rem;
    width: 7.75rem;
  }
}

@keyframes voices_twig {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.8);
  }
  100% {
    transform: scale(1);
  }
}
.p-home-profile__inner {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 5rem 0;
}
.p-home-profile__textarea {
  position: relative;
  z-index: 3;
}
.p-home-profile__ttl {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.3em;
  font-feature-settings: "palt";
}
.p-home-profile__lead {
  margin: 0.5em 0 0;
  font-size: 1.125rem;
  line-height: 2;
}
.p-home-profile__lead + .p-home-profile__lead {
  margin-top: 0;
}
.p-home-profile__tel {
  display: flex;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.875rem 0 0;
}
.p-home-profile__tel-head {
  margin: 0;
  padding: 0.5rem 1em;
  border-radius: 6.25rem;
  background: #d9630d;
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
}
.p-home-profile__tel-number {
  margin: 0.75rem 0 0;
  color: #d9630d;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.08em;
}
.p-home-profile__tel-number a {
  color: inherit;
  text-decoration: none;
}
.p-home-profile__line {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
  margin: 1.875rem 0 0;
}
.p-home-profile__line a {
  display: block;
}
.p-home-profile__line-icon {
  width: 5.625rem;
}
.p-home-profile__line-text {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.5;
  text-align: justify;
}
.p-home-profile__note {
  margin: 1.875rem 0 0;
  font-size: 1.125rem;
  line-height: 2;
}
.p-home-profile__item1, .p-home-profile__item2, .p-home-profile__doll, .p-home-profile__dandelion1, .p-home-profile__dandelion2, .p-home-profile__dandelion3 {
  position: absolute;
}
.p-home-profile__item1 {
  top: 2.5rem;
  right: 20rem;
  width: 14.875rem;
}
.p-home-profile__item2 {
  top: 11.25rem;
  right: -0.625rem;
  width: 11.875rem;
}
.p-home-profile__doll {
  bottom: -0.625rem;
  right: -2.5rem;
  width: 46.25rem;
}
.p-home-profile__dandelion1 {
  bottom: 9.25rem;
  right: 33.75rem;
  width: 6.125rem;
  transform-origin: bottom;
  animation: profile_dandelion 1.6s steps(2, start) infinite;
}
.p-home-profile__dandelion2 {
  bottom: 8rem;
  right: 10.5rem;
  width: 6rem;
  transform-origin: bottom;
  animation: profile_dandelion 1.6s steps(2, start) -0.8s infinite;
}
.p-home-profile__dandelion3 {
  bottom: 9.875rem;
  right: 0.75rem;
  width: 4.875rem;
  transform-origin: bottom;
  animation: profile_dandelion 1.6s steps(2, start) infinite;
}
@media (max-width: 767px) {
  .p-home-profile__inner {
    padding: 3.125rem 1rem 15rem;
  }
  .p-home-profile__ttl {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
  }
  .p-home-profile__lead {
    font-size: 0.9375rem;
    text-align: justify;
  }
  .p-home-profile__lead + .p-home-profile__lead {
    margin-top: 1.5em;
  }
  .p-home-profile__tel-head {
    font-size: 1rem;
  }
  .p-home-profile__tel-number {
    font-size: 1.75rem;
  }
  .p-home-profile__line {
    gap: 0.75rem;
  }
  .p-home-profile__line-icon {
    width: 3.75rem;
  }
  .p-home-profile__line-text {
    font-size: 0.875rem;
  }
  .p-home-profile__note {
    font-size: 0.9375rem;
  }
  .p-home-profile__item1 {
    top: auto;
    bottom: 12.5rem;
    right: 1.25rem;
    width: 5.95rem;
  }
  .p-home-profile__item2 {
    display: none;
  }
  .p-home-profile__doll {
    bottom: -0.625rem;
    right: 3.125rem;
    width: 18.5rem;
  }
  .p-home-profile__dandelion1 {
    bottom: 3.25rem;
    right: 17.625rem;
    width: 2.45rem;
  }
  .p-home-profile__dandelion2 {
    bottom: 2.75rem;
    right: 8.25rem;
    width: 2.4rem;
  }
  .p-home-profile__dandelion3 {
    bottom: 3.25rem;
    right: 4.25rem;
    width: 1.95rem;
  }
}

@keyframes profile_dandelion {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.35);
  }
}
/**************************************************/
/* Blog */
/**************************************************/
body.pg-blog .l-page-container {
  background: url(../../images/common/bg_yellow.jpg) repeat center top;
}
body.pg-blog .l-footer {
  background: none;
}

.p-blog-title {
  position: relative;
  background: #fff;
}
.p-blog-title__inner {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  position: relative;
  padding: 11.25rem 0 2.5rem;
}
.p-blog-title__main {
  position: relative;
  max-width: 30.125rem;
  margin: 0 auto;
  font-size: 100%;
  z-index: 2;
}
.p-blog-title__main img {
  display: block;
  width: 100%;
}
.p-blog-title__item1, .p-blog-title__item2 {
  display: block;
  position: absolute;
  z-index: 0;
}
.p-blog-title__item1 {
  left: -3.75rem;
  bottom: -4.25rem;
  width: 23.75rem;
}
.p-blog-title__item2 {
  right: -10rem;
  bottom: -0.5rem;
  width: 30.625rem;
}
@media (max-width: 767px) {
  .p-blog-title__inner {
    padding: 6.25rem 1rem 5rem;
  }
  .p-blog-title__main {
    max-width: 15.0625rem;
  }
  .p-blog-title__item1 {
    left: 0.625rem;
    bottom: -1.5rem;
    width: 7.125rem;
  }
  .p-blog-title__item2 {
    right: -0.3125rem;
    bottom: -0.25rem;
    width: 9.1875rem;
  }
}

.p-archive {
  box-sizing: border-box;
  padding: 5rem 0 2.5rem;
}
.p-archive__inner {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-archive {
    padding: 3.125rem 1rem 1.25rem;
  }
}

.p-archive-list {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.125rem;
}
.p-archive-list__card {
  display: block;
  box-sizing: border-box;
  padding: 2.5rem;
  border-radius: 1.875rem;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.p-archive-list__card:hover {
  opacity: 1;
}
.p-archive-list__card:hover .p-archive-list__title {
  text-decoration: underline;
}
.p-archive-list__card:hover .p-archive-list__thumb img {
  transform: scale(1.05);
}
.p-archive-list__thumb {
  display: block;
  overflow: hidden;
}
.p-archive-list__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 300/190;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-archive-list__date {
  margin: 0.9375rem 0 0;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-archive-list__title {
  margin: 0.5rem 0 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-archive-list__title-label {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  max-height: 3em;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 2;
}
.p-archive-list__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  max-height: 5.25em;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 3;
  margin: 0.5rem 0 0;
  font-size: 1.125rem;
  line-height: 1.75;
}
.p-archive-list__details {
  margin: 0.625rem 0 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: right;
  letter-spacing: 0.2em;
}
.p-archive-list__details-label {
  display: inline-block;
  position: relative;
  padding-right: 1.25rem;
}
.p-archive-list__details-label::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.3125rem);
  right: 0.3125rem;
  width: 0.625rem;
  height: 0.625rem;
  border: 1px solid transparent;
  border-width: 1px 1px 0 0;
  border-top-color: currentColor;
  border-right-color: currentColor;
  content: "";
  transform: rotate(45deg);
}
@media (max-width: 767px) {
  .p-archive-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  .p-archive-list__card {
    padding: 0.75rem;
    border-radius: 0.625rem;
  }
  .p-archive-list__date {
    margin-top: 0.75rem;
    font-size: 0.8125rem;
    letter-spacing: 0;
  }
  .p-archive-list__title {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
    letter-spacing: 0;
  }
  .p-archive-list__title-label {
    max-height: 4.5em;
    -webkit-line-clamp: 3;
  }
  .p-archive-list__text {
    display: none;
    margin-top: 0.25rem;
    font-size: 0.8125rem;
  }
  .p-archive-list__details {
    margin-top: 0.5rem;
    font-size: 0.75rem;
    letter-spacing: 0;
  }
  .p-archive-list__details-label {
    padding-right: 0.75rem;
  }
  .p-archive-list__details-label::after {
    top: calc(50% - 0.1875rem);
    right: 0.1875rem;
    width: 0.375rem;
    height: 0.375rem;
  }
}

.p-single {
  box-sizing: border-box;
  padding: 5rem 0;
}
.p-single__inner {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
}
.p-single__content {
  padding: 6.25rem 6.25rem;
  border-radius: 1.875rem;
  background: #fff;
}
@media (max-width: 767px) {
  .p-single {
    padding: 3.125rem 1rem;
  }
  .p-single__content {
    padding: 1.875rem 1rem 2.5rem;
    border-radius: 0.625rem;
  }
}

.p-single-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #000;
}
.p-single-head__title {
  margin: 0;
  font-size: 1.4375rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.p-single-head__date {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .p-single-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .p-single-head__title {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
  }
  .p-single-head__date {
    order: -1;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-single-body {
  margin: 3.125rem 0 0;
  font-size: 1.125rem;
  line-height: 2;
}
.p-single-body > *:first-child {
  margin-top: 0 !important;
}
.p-single-body > *:last-child {
  margin-bottom: 0 !important;
}
.p-single-body figure {
  margin: 2.5rem auto;
}
.p-single-body p {
  margin: 2.5rem 0 0;
  font-size: 1.125rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-single-body {
    margin: 1.875rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.8;
  }
  .p-single-body p {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
}

.p-single-pager {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  margin: 3.75rem auto 0;
}
.p-single-pager__return a {
  display: inline-block;
  color: inherit;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
}
.p-single-pager__prev, .p-single-pager__next {
  width: 4.75rem;
}
.p-single-pager__prev a, .p-single-pager__next a {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  border-radius: 50%;
  background: #d26d3d;
  color: inherit;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
  aspect-ratio: 1/1;
}
@media (max-width: 767px) {
  .p-single-pager {
    gap: 1.25rem;
    margin-top: 2.5rem;
  }
  .p-single-pager__return a {
    font-size: 0.875rem;
  }
  .p-single-pager__prev, .p-single-pager__next {
    width: 2.75rem;
  }
  .p-single-pager__prev a, .p-single-pager__next a {
    font-size: 0.875rem;
  }
}

/**************************************************/
/* Pages */
/**************************************************/
.p-symptoms {
  box-sizing: border-box;
  position: relative;
  padding: 10.25rem 0 10.25rem;
  z-index: 2;
}
.p-symptoms__inner {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-symptoms__foot {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  max-width: 92.5rem;
  z-index: 2;
  pointer-events: none;
}
.p-symptoms__foot-a {
  display: block;
  position: absolute;
  left: 6.25rem;
  bottom: -0.625rem;
  width: 11.5rem;
}
.p-symptoms__foot-a img {
  display: block;
  width: 100%;
}
.p-symptoms__foot-b {
  display: block;
  position: absolute;
  right: 4.25rem;
  bottom: -0.625rem;
  width: 18.25rem;
}
.p-symptoms__foot-b img {
  display: block;
  width: 100%;
}
.p-symptoms__h1 {
  max-width: 51.875rem;
  margin: auto;
  text-align: center;
}
.p-symptoms__h1 img {
  display: block;
  width: 100%;
}
.p-symptoms__h2 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin: 5rem 0 0;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
}
.p-symptoms__h2::before, .p-symptoms__h2::after {
  flex: 0 0 auto;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: no-repeat center/contain;
  content: "";
}
.p-symptoms__h2::before {
  margin-right: 1.25rem;
  background-image: url(../../images/common/icon_green_a.png);
}
.p-symptoms__h2::after {
  margin-left: 0.625rem;
  background-image: url(../../images/common/icon_green_b.png);
}
.p-symptoms__lead {
  margin: 2.5rem 0 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  text-align: left;
  letter-spacing: 0.2em;
}
.p-symptoms__caused-img {
  max-width: 41.75rem;
  margin: 1.25rem auto 0;
  text-align: center;
}
.p-symptoms__unexplained-img {
  max-width: 43.75rem;
  margin: 1.25rem auto 0;
  text-align: center;
}
.p-symptoms__unexplained-text {
  margin: 3.125rem 0 0;
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .p-symptoms {
    padding: 4.5rem 1rem 9.375rem;
  }
  .p-symptoms__foot-a {
    left: 0.625rem;
    bottom: -0.3125rem;
    width: 5.75rem;
  }
  .p-symptoms__foot-b {
    right: 0.625rem;
    bottom: -0.3125rem;
    width: 9.125rem;
  }
  .p-symptoms__h2 {
    margin-top: 3.125rem;
    font-size: 1.125rem;
  }
  .p-symptoms__h2::before, .p-symptoms__h2::after {
    width: 1.875rem;
    height: 1.875rem;
  }
  .p-symptoms__h2::before {
    margin-right: 0.625rem;
  }
  .p-symptoms__h2::after {
    margin-left: 0.3125rem;
  }
  .p-symptoms__lead {
    margin-top: 1.875rem;
    font-size: 1.125rem;
    letter-spacing: 0.05em;
  }
  .p-symptoms__unexplained-text {
    margin-top: 1.875rem;
    font-size: 0.9375rem;
    letter-spacing: 0;
  }
}

.p-treatment {
  box-sizing: border-box;
  position: relative;
  padding: 10.25rem 0 10.25rem;
  z-index: 2;
}
.p-treatment__inner {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-treatment__foot {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  max-width: 92.5rem;
  z-index: 2;
  pointer-events: none;
}
.p-treatment__foot-a {
  display: block;
  position: absolute;
  left: 6.25rem;
  bottom: -0.625rem;
  width: 11.5rem;
}
.p-treatment__foot-a img {
  display: block;
  width: 100%;
}
.p-treatment__foot-b {
  display: block;
  position: absolute;
  right: 4.25rem;
  bottom: -0.625rem;
  width: 18.25rem;
}
.p-treatment__foot-b img {
  display: block;
  width: 100%;
}
.p-treatment__hr {
  max-width: 55rem;
  width: 100%;
  margin: 5rem auto;
  border: none;
  border-top: 3px dashed #336353;
}
.p-treatment__hr + * {
  margin-top: 0 !important;
}
.p-treatment__hr2 {
  max-width: 25rem;
  width: 100%;
  margin: 3.125rem auto;
  border: none;
  border-top: 2px dashed #336353;
}
.p-treatment__hr2 + * {
  margin-top: 0 !important;
}
.p-treatment__h1 {
  max-width: 51.875rem;
  margin: auto;
  text-align: center;
}
.p-treatment__h1 img {
  display: block;
  width: 100%;
}
.p-treatment__individuality-h2, .p-treatment__fee-h2, .p-treatment__course-h2 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin: 5rem 0 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.2em;
}
.p-treatment__individuality-h2::before, .p-treatment__individuality-h2::after, .p-treatment__fee-h2::before, .p-treatment__fee-h2::after, .p-treatment__course-h2::before, .p-treatment__course-h2::after {
  flex: 0 0 auto;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: no-repeat center/contain;
  content: "";
}
.p-treatment__individuality-h2::before, .p-treatment__fee-h2::before, .p-treatment__course-h2::before {
  margin-right: 1.25rem;
}
.p-treatment__individuality-h2::after, .p-treatment__fee-h2::after, .p-treatment__course-h2::after {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}
.p-treatment__individuality-h2::before {
  background-image: url(../../images/common/icon_red_a.png);
}
.p-treatment__individuality-h2::after {
  background-image: url(../../images/common/icon_red_b.png);
}
.p-treatment__fee-h2::before, .p-treatment__course-h2::before {
  background-image: url(../../images/common/icon_green_a.png);
}
.p-treatment__fee-h2::after, .p-treatment__course-h2::after {
  background-image: url(../../images/common/icon_green_b.png);
}
.p-treatment__fee-value {
  margin: 1.875rem 0 0;
  font-size: 2.25rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .p-treatment {
    padding: 4.5rem 1rem 9.375rem;
  }
  .p-treatment__foot-a {
    left: 0.625rem;
    bottom: -0.3125rem;
    width: 5.75rem;
  }
  .p-treatment__foot-b {
    right: 0.625rem;
    bottom: -0.3125rem;
    width: 9.125rem;
  }
  .p-treatment__hr {
    margin: 3.125rem auto;
  }
  .p-treatment__hr2 {
    max-width: 12.5rem;
    margin: 1.875rem auto;
  }
  .p-treatment__individuality-h2, .p-treatment__fee-h2, .p-treatment__course-h2 {
    margin-top: 3.125rem;
    font-size: 1.125rem;
    letter-spacing: 0.1em;
  }
  .p-treatment__individuality-h2::before, .p-treatment__individuality-h2::after, .p-treatment__fee-h2::before, .p-treatment__fee-h2::after, .p-treatment__course-h2::before, .p-treatment__course-h2::after {
    width: 1.875rem;
    height: 1.875rem;
  }
  .p-treatment__individuality-h2::before, .p-treatment__fee-h2::before, .p-treatment__course-h2::before {
    margin-right: 0.625rem;
  }
  .p-treatment__individuality-h2::after, .p-treatment__fee-h2::after, .p-treatment__course-h2::after {
    margin-left: 0.3125rem;
  }
  .p-treatment__individuality-h2 {
    margin-top: 2.5rem;
  }
  .p-treatment__fee-value {
    margin-top: 0.9375rem;
    font-size: 1.75rem;
  }
}

.p-treatment-individuality {
  margin: 3.125rem 0 0;
}
.p-treatment-individuality__imgs {
  position: relative;
  max-width: 54.125rem;
  margin: 0 auto 0;
  text-align: center;
}
.p-treatment-individuality__sun {
  position: absolute;
  top: -9.75rem;
  left: -13.25rem;
  width: 22.625rem;
}
.p-treatment-individuality__cloud {
  position: absolute;
  top: -8.25rem;
  right: -12.25rem;
  width: 22rem;
}
.p-treatment-individuality__text {
  margin: 3.125rem 0 0;
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .p-treatment-individuality {
    margin-top: 2.5rem;
  }
  .p-treatment-individuality__imgs {
    max-width: 19.9375rem;
  }
  .p-treatment-individuality__sun {
    top: -1.5rem;
    left: -5rem;
    width: 8.75rem;
  }
  .p-treatment-individuality__cloud {
    top: -0.25rem;
    right: -4.75rem;
    width: 8.5rem;
  }
  .p-treatment-individuality__text {
    margin-top: 1.875rem;
    font-size: 0.9375rem;
    letter-spacing: 0.05em;
  }
}

.p-treatment-reserve__wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 1rem;
  margin: auto;
}
.p-treatment-reserve__telHead, .p-treatment-reserve__lineHead {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
}
.p-treatment-reserve__telBody {
  width: 24rem;
  margin: 0.75rem auto 0;
  text-align: center;
}
.p-treatment-reserve__lineBody {
  width: 5rem;
  margin: 0.5rem auto 0;
  text-align: center;
}
.p-treatment-reserve__text {
  margin: 3.125rem 0 0;
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0.2em;
}
.p-treatment-reserve__text-dots {
  display: inline-block;
  position: relative;
  font-weight: 700;
}
.p-treatment-reserve__text-dots::after {
  content: "・・・・・・・・";
  display: block;
  text-align: center;
  color: #b77172;
  position: absolute;
  bottom: calc(100% - 0.9em);
  left: 0;
  white-space: nowrap;
}
.p-treatment-reserve__see {
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 40.625rem;
  margin: 1.875rem 0 0;
  padding: 1.25rem;
  border: 0.1875rem solid #336353;
  border-radius: 0.75rem;
}
.p-treatment-reserve__seeText {
  margin: 0;
  color: #336353;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.75;
  text-align: justify;
}
@media (max-width: 767px) {
  .p-treatment-reserve__wrap {
    flex-wrap: wrap;
    gap: 1.25rem;
  }
  .p-treatment-reserve__telHead, .p-treatment-reserve__lineHead {
    font-size: 0.9375rem;
  }
  .p-treatment-reserve__telBody {
    width: 18.75rem;
    margin-top: 0.5rem;
  }
  .p-treatment-reserve__text {
    margin-top: 1.875rem;
    font-size: 0.9375rem;
    letter-spacing: 0.05em;
  }
  .p-treatment-reserve__see {
    padding: 0.9375rem;
    border-width: 0.125rem;
  }
  .p-treatment-reserve__seeText {
    font-size: 0.9375rem;
  }
}

.p-treatment-course {
  box-sizing: border-box;
  margin: 7.5rem 0 0;
}
.p-treatment-course__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  justify-content: center;
  gap: 1.25rem;
  margin: 0;
}
.p-treatment-course__list > li {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
  width: 23.125rem;
  padding: 5.625rem 1.25rem 2.5rem;
  border-radius: 18.75rem;
  background: #487e64;
  color: #fff;
  aspect-ratio: 1/1;
}
.p-treatment-course__list > li:nth-child(even) {
  background: #006d78;
}
.p-treatment-course__img {
  position: absolute;
  top: -5rem;
  left: calc(50% - 5.3125rem);
  width: 10.625rem;
}
.p-treatment-course__name {
  margin: 0;
  font-size: 1.6875rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
.p-treatment-course__explain {
  margin: 0.25rem 0;
  font-size: 1.1875rem;
  line-height: 1.5;
  text-align: center;
}
.p-treatment-course__value {
  width: 100%;
  max-width: 17.5rem;
  margin: 1.5rem 0 0;
  padding-top: 1.875rem;
  border-top: 0.125rem solid #fff;
  font-size: 1.75rem;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .p-treatment-course {
    width: 100%;
    max-width: 18.75rem;
    margin-top: 3.125rem;
  }
  .p-treatment-course__list {
    flex-direction: column;
    gap: 3.125rem;
  }
  .p-treatment-course__list > li {
    width: 100%;
    padding: 5.625rem 1.25rem 2.5rem;
  }
  .p-treatment-course__img {
    top: -1.875rem;
    left: calc(50% - 3.75rem);
    width: 7.5rem;
  }
  .p-treatment-course__name {
    font-size: 1.25rem;
  }
  .p-treatment-course__explain {
    font-size: 0.9375rem;
  }
  .p-treatment-course__value {
    max-width: 15rem;
    margin-top: 1rem;
    padding-top: 1rem;
    font-size: 1.5rem;
  }
}

body.pg-voices .l-page-container {
  background: url(../../images/common/bg_grayish.jpg) repeat center top;
}
body.pg-voices .l-footer {
  background: none;
}

.p-voices-title {
  position: relative;
  background: #fff;
}
.p-voices-title__inner {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  position: relative;
  padding: 11.25rem 0 2.5rem;
}
.p-voices-title__main {
  position: relative;
  max-width: 17.5rem;
  margin: 0 auto;
  font-size: 100%;
  z-index: 2;
}
.p-voices-title__main img {
  display: block;
  width: 100%;
}
.p-voices-title__item1, .p-voices-title__item2 {
  display: block;
  position: absolute;
  z-index: 0;
}
.p-voices-title__item1 {
  left: -3.75rem;
  bottom: -1rem;
  width: 30rem;
}
.p-voices-title__item2 {
  right: -3.75rem;
  bottom: -1rem;
  width: 27.25rem;
}
@media (max-width: 767px) {
  .p-voices-title__inner {
    padding: 6.25rem 1rem 5rem;
  }
  .p-voices-title__main {
    max-width: 8.75rem;
  }
  .p-voices-title__item1 {
    left: 0.625rem;
    bottom: -0.25rem;
    width: 10rem;
  }
  .p-voices-title__item2 {
    right: 0.625rem;
    bottom: -0.25rem;
    width: 9.0833333333rem;
  }
}

.p-voices {
  box-sizing: border-box;
  padding: 5rem 0 2.5rem;
}
.p-voices__inner {
  max-width: 77.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-voices {
    padding: 3.125rem 1rem 1.25rem;
  }
}

.p-voices-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-voices-list > li {
  display: block;
  box-sizing: border-box;
  position: relative;
  padding: 5rem 6.25rem;
  border-radius: 1.875rem;
  background: #fff;
}
.p-voices-list > li::before, .p-voices-list > li::after {
  display: block;
  position: absolute;
  left: 1.875rem;
  right: 1.875rem;
  height: 0.625rem;
  background: url(../../images/voices/border.png) repeat-x left center;
  content: "";
}
.p-voices-list > li::before {
  top: 1.5625rem;
}
.p-voices-list > li::after {
  bottom: 1.5625rem;
}
.p-voices-list > li + li {
  margin-top: 5rem;
}
.p-voices-list__name {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.p-voices-list__comment {
  margin: 1.25rem 0 0;
  font-size: 1.125rem;
  line-height: 2;
  text-align: justify;
}
@media (max-width: 767px) {
  .p-voices-list > li {
    padding: 3.125rem 1.25rem;
    border-radius: 0.9375rem;
    background: #fff;
  }
  .p-voices-list > li::before, .p-voices-list > li::after {
    left: 0.9375rem;
    right: 0.9375rem;
  }
  .p-voices-list > li::before {
    top: 1.5625rem;
  }
  .p-voices-list > li::after {
    bottom: 1.5625rem;
  }
  .p-voices-list > li + li {
    margin-top: 1.875rem;
  }
  .p-voices-list__name {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
  }
  .p-voices-list__comment {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.75;
  }
}