@charset "UTF-8";
/*==========================================
テーブルレイアウト
===========================================*/
.com-table {
  text-align: left;
}
.com-table tr {
  display: block;
  padding: 6% 0;
}
.com-table tr th,
.com-table tr td {
  display: block;
}
.com-table tr th {
  margin-bottom: 4%;
}
.com-table tr td a[href^="tel:"],
.com-table tr td a[href^="mailto:"] {
  text-decoration: underline;
}
.com-table tr td .tel__text {
  display: block;
}

/*==========================================
  共通ブロック・要素
  ===========================================*/
.com-content {
  text-align: left;
}
.com-content p {
  margin-bottom: 8%;
}

.button--primary {
  gap: 1.5rem;
  height: 6.5rem;
  padding: 0 3rem;
  border: 1px solid var(--accent-color);
  border-radius: var(--button-radius-sp);
  font-weight: var(--font-weight-bold);
  color: var(--accent-color);
  font-size: var(--font-size-16);
  width: 33rem;
}
.button--primary:hover {
  opacity: 1;
  background: var(--accent-color-extra-light);
}
.button--primary.has-arrow::after {
  right: 5%;
}
.button--primary.has-arrow:hover::after {
  right: 3%;
}

.has-arrow {
  position: relative;
}
.has-arrow::after {
  position: absolute;
  content: "";
  width: 1.7rem;
  height: 1.5rem;
  inset: 0 0 0 auto;
  margin: auto 0;
  background: url(../img/common/com-button_arr.svg) center/100% no-repeat;
}

.has-counter .counter-item::before {
  opacity: 0.4;
  color: var(--accent-color);
  font-size: var(--font-size-40);
  font-weight: var(--font-weight-bold);
  line-height: 0.5;
}

/*==========================================
共通タイトル
===========================================*/
.title--primary {
  font-family: var(--font-heading);
  margin-bottom: 6rem;
  padding-bottom: 4rem;
  background: url(../img/common/primary-ttl-en_dotted.png) no-repeat bottom center;
  text-align: center;
}
.title--primary.align-left {
  text-align: left;
  background: none;
  padding-bottom: 0;
}
.title--primary.align-left .title-en {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.title--primary.align-left .title-en::after {
  content: "";
  width: 3.4rem;
  height: 0.5rem;
  margin-top: 0.8rem;
  background: url(../img/common/primary-ttl-en_dotted.png) no-repeat center/contain;
}
.title--primary .title-en {
  display: block;
  font-size: var(--font-size-20);
  color: var(--accent-color);
  line-height: 1.2;
  margin-bottom: 1rem;
  text-transform: lowercase;
}
.title--primary .title-sub {
  display: block;
  font-size: var(--font-size-26);
  margin-bottom: 0.5rem;
}
.title--primary .title-sup {
  display: block;
  font-size: var(--font-size-20);
  color: var(--accent-color-dark);
  margin-bottom: 1rem;
}
.title--primary .title-ja {
  display: block;
  font-size: var(--font-size-25);
  color: var(--primary-color);
  font-weight: var(--font-weight-medium);
}
.title--primary .title-ja small {
  font-size: var(--font-size-22);
  color: var(--body-font-color);
}

.title--secondary {
  font-size: var(--font-size-28);
  line-height: 1.6071428571;
  margin-bottom: 2rem;
  border-bottom: 2px dashed;
  padding-bottom: 1rem;
}

/*==========================================
header
===========================================*/
.logo {
  width: 25.9rem;
}

.l-header {
  padding: 2rem 0;
  background: var(--color-white);
}
.l-header__inbox {
  gap: 2rem;
}
.l-header__logo {
  line-height: 1;
}
.l-header__contact {
  display: none;
}
.l-header__tel {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
}
.l-header__line {
  grid-row: span 2/span 2;
  grid-column-start: 2;
  grid-row-start: 1;
}
.l-header__times {
  text-align: center;
  gap: 0 2rem;
  width: -moz-fit-content;
  width: fit-content;
  grid-column-start: 1;
  grid-row-start: 2;
}
.l-header__times .c-contact__times-label {
  font-size: var(--font-size-13);
  width: 12rem;
  line-height: 1.3;
}
.l-header__times .c-contact__times-value {
  font-size: var(--font-size-15);
  color: var(--body-font-color);
}

/*==========================================
mv
===========================================*/
.p-top__mv {
  padding: 0 2%;
}
.p-top__mv-main {
  height: 27rem;
  padding: 5rem 0;
  background: url(../img/top/mv/mv-l_bg.png) left center/56.8421% 100% no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25.7rem no-repeat, var(--primary-color-light);
}
.p-top__mv-main-content {
  width: 45rem;
}
.p-top__mv-catch {
  width: 44.3rem;
}
.p-top__mv-button {
  width: 32rem;
  padding-right: 5rem;
  font-size: var(--font-size-12);
}
.p-top__mv-button::before {
  right: 3rem;
}
.p-top__mv-button::after {
  background: none;
}
.p-top__mv-sns {
  padding: 5rem 0;
}
.p-top__mv-sns-item {
  height: 17rem;
  padding: 2rem 3rem;
  margin-bottom: 5rem;
}
.p-top__mv-sns-item:last-child {
  margin-bottom: 0;
}
.p-top__mv-sns-item-content {
  padding-left: 6rem;
}
.p-top__mv-sns-item--instagram {
  background: url(../img/top/sns-button-rt_shape.png) right top/27.4829% no-repeat, url(../img/top/sns-button-insta_bg.png) left center/40.9523% no-repeat, var(--primary-color-light);
}
.p-top__mv-sns-item--instagram .p-top__mv-sns-item-content {
  background: url(../img/common/sns/Instagram_Glyph_Gradient.svg) left center/4rem no-repeat;
}
.p-top__mv-sns-item--line {
  background: url(../img/top/sns-button-rt_shape.png) right top/27.4829% no-repeat, url(../img/top/sns-button-line_bg.png) left center/40.9523% no-repeat, var(--primary-color-light);
}
.p-top__mv-sns-item--line .p-top__mv-sns-item-content {
  background: url(../img/common/sns/LINE_logo.svg) left center/4rem no-repeat;
}
.p-top__mv-sns-sub {
  font-size: var(--font-size-12);
  margin-bottom: 0.8rem;
  padding: 0.3rem 3.2rem;
  background: #ffebd1;
  border-radius: 1.4rem;
  width: -moz-fit-content;
  width: fit-content;
}
.p-top__mv-sns-sub::before {
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 0.7rem;
  background: url(../img/top/sns-button-name_arr.svg) center/100% no-repeat;
  inset: auto 2rem -0.6rem auto;
}
.p-top__mv-sns-main {
  font-size: var(--font-size-19);
  padding-right: 3rem;
  letter-spacing: 0.14em;
}
.p-top__mv-sns-main::before {
  right: 0;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-15);
}

/*==========================================
footer
===========================================*/
.l-footer {
  background: #ff9945;
  color: var(--color-white);
}
.l-footer__top {
  padding: 10rem 0;
}
.l-footer__logo {
  margin: 0 auto 5rem;
  filter: brightness(0) invert(1);
}
.l-footer__address {
  text-align: center;
  margin-bottom: 4rem;
  font-size: var(--font-size-15);
}
.l-footer__info {
  gap: 2rem 3.5rem;
  margin-bottom: 3.5rem;
}
.l-footer__info-item {
  width: -moz-fit-content;
  width: fit-content;
  gap: 2rem;
}
.l-footer__info-label {
  font-size: var(--font-size-14);
  padding: 0 1.5rem;
}
.l-footer__info-value {
  font-size: var(--font-size-15);
}
.l-footer__official-container {
  gap: 4rem;
}
.l-footer__official {
  width: 38rem;
  border-color: var(--color-white);
  color: var(--color-white);
  background: transparent;
  font-size: var(--font-size-14);
}
.l-footer__official:before {
  right: 8%;
  font-weight: var(--font-weight-regular);
}
.l-footer__official::after {
  background: none;
}
.l-footer__official:hover {
  background: var(--color-white);
  color: var(--primary-color);
}
.l-footer__sns {
  width: -moz-fit-content;
  width: fit-content;
  gap: 1.5rem 4rem;
}
.l-footer__sns img {
  width: 3.6rem;
}
.l-footer__nav-list {
  margin-top: 6rem;
  display: grid;
  /*==========================================
  grid
  ===========================================*/
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(4, 1fr);
  grid-auto-flow: column;
  row-gap: 2.5rem;
}
.l-footer__nav-item:nth-child(odd) {
  width: 32rem;
}
.l-footer__nav-link {
  font-size: var(--font-size-14);
}
.l-footer__nav-link:hover {
  text-decoration: underline;
}

#copyright {
  word-break: normal;
  text-align: center;
  padding: 2rem 0;
}
#copyright small {
  font-size: var(--font-size-12);
}

/*==========================================
sv
===========================================*/
.sv {
  height: 28rem;
  width: 96%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0 auto;
  background: var(--primary-color-light);
}

.sv__title {
  font-size: var(--font-size-23);
  text-align: center;
  display: inline-block;
  background: url(../img/sv/sv-ttl_mask.png) left center no-repeat, var(--body-font-color);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.p-about__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/about-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-treatment__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/treatment-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-neck__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/neck-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-back__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/back-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-news__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/news-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-contact__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/contact-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-complete__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/complete-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-privacy__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/privacy-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-site__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/site-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

.p-e404__sv {
  background: url(../img/sv/sv-lt_deco.png) left -16.9rem top -16.9rem/33.8rem no-repeat, url(../img/top/mv/mv-rb_deco.png) right bottom/25rem no-repeat, url(../img/sv/e404-sv_bg.png) left center/43.2291% 100% no-repeat, var(--primary-color-light);
}

/*==========================================
コンポーネントファイル
===========================================*/
/*
# パンくずリスト
------------------------*/
div .bread {
  display: none;
}

/*
# 一覧ぺージ用カテゴリ(セレクトボックス)
------------------------*/
.global-select {
  width: 64%;
  margin: 0 0 23% auto;
}
.global-select select {
  padding: 6% 10% 6% 6%;
}

/*
# ドロワーメニュー
------------------------------------ */
.sp-menu-btn-wrp {
  top: 4.5vw;
  right: 4%;
  bottom: auto;
  left: auto;
  background: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sp-menu-btn-wrp .sp-menu-btn {
  width: 7.5vw;
  height: 5vw;
}
.sp-menu-btn-wrp .sp-menu-btn span {
  width: 100%;
  height: 2px;
  background: var(--primary-color);
}
.sp-menu-btn-wrp .sp-menu-btn .top {
  top: 0;
}
.sp-menu-btn-wrp .sp-menu-btn .middle {
  top: 0;
  bottom: 0;
}
.sp-menu-btn-wrp .sp-menu-btn .bottom {
  top: auto;
  bottom: 0;
}
.sp-menu-btn-wrp .sp-menu-btn-txt {
  color: var(--color-white);
  top: -2vw;
  font-size: var(--font-size-10);
}

.sp-menu-btn.active .top {
  top: 50%;
  transform: translateY(0) translateX(0px) rotate(45deg);
  background: var(--primary-color);
}

.sp-menu-btn.active .bottom {
  bottom: 50%;
  transform: translateY(1px) translateX(0px) rotate(-45deg);
  background: var(--primary-color);
}

#drawer__nav {
  padding: 15% 6%;
  background: var(--color-white);
}
#drawer__nav .drawer__nav-logo {
  width: 40%;
  margin-bottom: 10%;
  text-align: left;
}
#drawer__nav .drawer__nav {
  margin-bottom: 15%;
}
#drawer__nav .drawer__nav-item {
  border-bottom: 1px solid var(--color-gray);
}
#drawer__nav .drawer__nav-item .drawer__nav-link {
  padding: 7% 0 7% 11%;
  font-size: var(--font-size-17);
  border-bottom: none;
  display: block;
  color: var(--accent-color);
}
#drawer__nav .drawer__nav-item:nth-child(1) .drawer__nav-link {
  background: url(../img/common/nav-top_ic.svg) left center/4.3rem no-repeat;
}
#drawer__nav .drawer__nav-item:nth-child(2) .drawer__nav-link {
  background: url(../img/common/nav-about_ic.svg) left center/4rem no-repeat;
}
#drawer__nav .drawer__nav-item:nth-child(3) .drawer__nav-link {
  background: url(../img/common/nav-treatment_ic.png) left center/4.25rem no-repeat;
}
#drawer__nav .drawer__nav-item:nth-child(4) .drawer__nav-link {
  background: url(../img/common/nav-neck_ic.png) left center/3.2rem no-repeat;
}
#drawer__nav .drawer__nav-item:nth-child(5) .drawer__nav-link {
  background: url(../img/common/nav-back_ic.png) left center/4rem no-repeat;
}
#drawer__nav .drawer__nav .current {
  filter: brightness(1.1) invert(1);
}
#drawer__nav .drawer__nav .current span {
  text-decoration: underline;
}
#drawer__nav .drawer__nav .drawer__nav-dropdown-list {
  margin: 3% 0;
  padding-left: 4%;
  box-sizing: border-box;
}
#drawer__nav .drawer__nav .drawer__nav-dropdown-list > li > .drawer__nav-link.show::before {
  background: none;
  border: none;
}
#drawer__nav .drawer__nav .drawer__nav-dropdown-list > li > .drawer__nav-link span {
  padding: 0 0 0 5%;
}
#drawer__nav .l-drawer__contact {
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 3rem;
}
#drawer__nav .l-drawer__times {
  justify-content: center;
  gap: 2.5rem;
}
#drawer__nav .l-drawer__times .c-contact__times-label {
  padding: 0 1rem;
}
#drawer__nav .l-drawer__line {
  margin-top: 0;
}
#drawer__nav .drawer__nav-subpage {
  display: flex;
  justify-content: center;
  width: 100%;
  font-size: var(--font-size-14);
  gap: 4vw 5rem;
  margin-top: 12%;
}
#drawer__nav .drawer__nav-subpage-link {
  text-decoration: underline;
}

/*
# c-contact-section
------------------------*/
.c-contact__section {
  background: url(../img/top/contact_bg.jpg) center/cover no-repeat;
  padding: 10rem 0;
}
.c-contact__section-title {
  text-align: center;
}
.c-contact__section-title .title-en::after {
  margin-left: auto;
  margin-right: auto;
}
.c-contact__section-title .title-ja {
  color: var(--body-font-color);
}
.c-contact__section-box {
  gap: 4rem;
  padding: 6rem 4rem;
}
.c-contact__section-tel {
  text-align: center;
}
.c-contact__section-tel .c-tel__num {
  font-size: var(--font-size-30);
}

/*
# c-tel
------------------------*/
.c-tel__num {
  font-size: var(--font-size-32);
  letter-spacing: 0.04em;
  line-height: 1.2;
  padding-left: 3rem;
  background: url(../img/common/tel_ic.svg) left center/2.5rem no-repeat;
}
.c-tel__text {
  line-height: 1;
}

/*
# c-line-button
------------------------*/
.button--line {
  gap: 1rem 1.5rem;
  min-height: 6.5rem;
  padding: 0 2.5rem;
  border: 1px solid var(--color-line);
  border-radius: var(--button-radius-sp);
  background: var(--color-white);
  font-size: var(--font-size-17);
  font-weight: var(--font-weight-bold);
  color: var(--color-line);
  width: 38rem;
  margin: 5rem auto 0;
}
.button--line .c-line-button__icon {
  width: 2.5rem;
  display: flex;
}

/*
# c-shop-info
------------------------*/
.c-shop-info__table {
  background: var(--color-white);
  border-radius: 1.6rem;
  padding: 2rem 3rem;
}

/*==========================================
top
===========================================*/
/*
# p-top-about
------------------------*/
.p-top-about {
  padding: 8rem 0;
  position: relative;
  background: url(../img/top/about-lt_deco.png) right 5rem top 5rem/20rem no-repeat;
}
.p-top-about__title .title-ja small {
  color: var(--body-font-color);
  font-size: var(--font-size-20);
}
.p-top-about__imgs {
  margin: 10rem -4.5rem 0 auto;
  width: 55rem;
}
.p-top-about__button {
  width: 33rem;
  margin: 6rem auto 0;
}

/*
# p-top-reason
------------------------*/
.p-top-reason {
  position: relative;
  background: url(../img/common/com-rt-deco_bg.png) right 5rem top/40rem no-repeat, var(--primary-color-light);
  padding: 13.5rem 4.5rem;
}
.p-top-reason__imgs {
  display: none;
}
.p-top-reason__title {
  text-align: center;
  margin-bottom: 6rem;
}
.p-top-reason__title .title-en,
.p-top-reason__title .title-ja {
  margin: 0 auto;
}
.p-top-reason__title .title-ja {
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.4;
  border-bottom: 2px dashed var(--primary-color);
  padding-bottom: 1rem;
}
.p-top-reason__item {
  padding: 4.4rem 2.5rem 4.5rem 5rem;
  margin-bottom: 3rem;
  border-radius: 6rem;
  font-size: var(--font-size-19);
}
.p-top-reason__item::before {
  position: absolute;
  inset: -1rem auto auto 0;
}
.p-top-reason__button {
  margin: 6rem auto 0;
}

/*
# p-top-worries
------------------------*/
.p-top-worries {
  background: url(../img/top/worries_bg.jpg) center/cover no-repeat;
}
.p-top-worries__card {
  padding: 3rem 3rem 4.5rem;
  text-align: center;
  margin-bottom: 6rem;
}
.p-top-worries__card:last-child {
  margin-bottom: 0;
}
.p-top-worries__card-title {
  font-size: var(--font-size-22);
  margin-bottom: 2rem;
}
.p-top-worries__card-ill {
  width: 12rem;
  height: 19.4rem;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-top-worries__card-list li {
  text-align: center;
  padding: 0.5rem 0;
  margin-bottom: 1.5rem;
}
.p-top-worries__card-list li:last-child {
  margin-bottom: 0;
}
.p-top-worries__card-button {
  width: -moz-fit-content;
  width: fit-content;
  margin: 4rem 0 0 auto;
  padding-right: 3rem;
  font-size: var(--font-size-16);
}

/*
# p-top-treatment
------------------------*/
.p-top-treatment {
  background: url(../img/top/treatment-rt_deco.png) right top/62.9rem no-repeat;
}
.p-top-treatment__inbox {
  position: relative;
  background: url(../img/top/treatment-lb_ill.png) left 5rem bottom/13.6rem no-repeat;
  padding-bottom: 12rem;
}
.p-top-treatment__title {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 6rem;
}
.p-top-treatment__title .title-sup {
  width: 27.1rem;
}
.p-top-treatment__lead strong {
  font-size: var(--font-size-20);
  background: linear-gradient(to bottom, transparent 60%, rgb(202, 229, 243) 60%);
}
.p-top-treatment__button {
  margin: 6rem 0 0 auto;
}
.p-top-treatment__chart {
  width: 48.1rem;
  margin: 0 auto 5rem;
}
.p-top-treatment__img-lt, .p-top-treatment__img-rb {
  display: none;
}

/*
# p-top-links
------------------------*/
.p-top-links {
  background: url(../img/top/treatment-lb_deco.png) left bottom/29rem no-repeat;
}
.p-top-links__item {
  margin-bottom: 8rem;
}
.p-top-links__item:last-child {
  margin-bottom: 0;
}
.p-top-links__item:hover {
  transform: translateY(-1rem);
}
.p-top-links__item:hover .p-top-links__img::after {
  opacity: 1;
}
.p-top-links__img {
  width: 100%;
}
.p-top-links__img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 40%, rgba(0, 0, 0, 0.4));
  z-index: 1;
  opacity: 0;
  border-radius: 1.6rem;
  transition: opacity 0.3s ease-in-out;
}
.p-top-links__title {
  font-size: var(--font-size-23);
  text-align: center;
  padding: 1.5rem 0;
  border-bottom: 2px dashed var(--accent-color-light);
}
.p-top-links__title::before {
  right: 0;
  font-size: var(--font-size-20);
  color: var(--accent-color-dark);
}
.p-top-links__title span {
  position: relative;
}
.p-top-links__title span::before {
  position: absolute;
  content: "";
  width: 7.9rem;
  height: 7.8rem;
  inset: -7.5rem auto auto -10.5rem;
}
.p-top-links__item--price .p-top-links__title span::before {
  background: url(../img/top/links-price_ic.png) center/100% no-repeat;
}
.p-top-links__item--flow .p-top-links__title span::before {
  background: url(../img/top/links-flow_ic.png) center/100% no-repeat;
}

/*
# top-news
------------------------*/
.p-top-news__headline {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 5rem;
}
.p-top-news__title {
  margin-bottom: 0;
}
.p-top-news__button {
  width: 20rem;
  min-height: 5.5rem;
  font-size: var(--font-size-14);
}
.p-top-news__post {
  margin-bottom: 2.5rem;
}
.p-top-news__post:last-child {
  margin-bottom: 0;
}
.p-top-news__post-link {
  padding: 2.5rem 3rem;
  row-gap: 0.7rem;
}
.p-top-news__post-link:hover {
  transform: translateX(1rem);
}
.p-top-news__post-link:hover .p-top-news__post-title {
  text-decoration: underline;
}
.p-top-news__post-date {
  font-size: var(--font-size-16);
}
.p-top-news__post-tags {
  gap: 0.7rem;
}
.p-top-news__post-tag {
  font-size: var(--font-size-14);
}
.p-top-news__post-title {
  font-size: var(--font-size-16);
}

/*
# p-about-reason (card01_img pattern)
------------------------*/
.p-about-reason {
  background: url(../img/common/com-rt-deco_bg.png) right 5rem top/10rem no-repeat;
}
.p-about-reason__title {
  background: none;
  padding-bottom: 0;
}
.p-about-reason__title .title-ja {
  font-size: var(--font-size-26);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  display: inline-block;
  padding-bottom: 1rem;
  border-bottom: 2px dashed var(--primary-color);
}
.p-about-reason__title .title-ja small {
  color: var(--body-font-color);
  font-size: var(--font-size-23);
}
.p-about-reason__cards {
  position: relative;
}
.p-about-reason__card {
  position: relative;
  margin-bottom: 6.5rem;
}
.p-about-reason__card:last-child {
  margin-bottom: 0;
}
.p-about-reason__card-title {
  font-size: var(--font-size-22);
  margin-bottom: 3rem;
  text-align: center;
}
.p-about-reason__card-title::before {
  display: block;
  margin-bottom: 3rem;
}
.p-about-reason__card-num {
  display: block;
  font-size: var(--font-size-26);
  margin-bottom: 0.5rem;
}
.p-about-reason__card-img {
  margin-bottom: 5rem;
}

/*
# p-about-staff
------------------------*/
.p-about-staff {
  background: url(../img/common/com-rt-deco_bg.png) right 5rem top/40rem no-repeat, url(../img/top/treatment-lb_deco.png) left bottom/29rem no-repeat, var(--primary-color-light);
}
.p-about-staff__img {
  width: 42rem;
  margin: 0 auto 5rem;
}
.p-about-staff__name {
  font-size: var(--font-size-22);
  margin-bottom: 3rem;
}
.p-about-staff__name small {
  font-size: var(--font-size-20);
}
.p-about-staff__detail {
  padding: 4rem;
  margin-top: 7rem;
}
.p-about-staff__detail-item {
  margin-bottom: 3rem;
}
.p-about-staff__detail-item:last-child {
  margin-bottom: 0;
}
.p-about-staff__detail-title {
  font-size: var(--font-size-20);
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-gray);
}

/*
# p-treatment-concept
------------------------*/
.p-treatment-concept__inbox {
  position: relative;
}
.p-treatment-concept__title .title-ja {
  font-size: var(--font-size-24);
}
.p-treatment-concept__img {
  width: 85%;
  margin: 0 auto 5rem;
}

/*
# p-treatment-method
------------------------*/
.p-treatment-method {
  background: url(../img/common/com-rt-deco_bg.png) right 5rem top/40rem no-repeat, url(../img/top/treatment-lb_deco.png) left bottom/29rem no-repeat, var(--primary-color-light);
}
.p-treatment-method__title .title-ja {
  font-size: var(--font-size-25);
}
.p-treatment-method__img {
  text-align: center;
  margin-bottom: 5rem;
}
.p-treatment-method__steps {
  margin-top: 6rem;
}
.p-treatment-method__steps-title {
  font-size: var(--font-size-25);
  margin-bottom: 4rem;
  border-bottom: 2px dashed var(--primary-color);
  text-align: center;
}
.p-treatment-method__steps-title span {
  font-size: var(--font-size-28);
}
.p-treatment-method__step {
  margin-bottom: 3rem;
  padding: 3rem 6rem;
}
.p-treatment-method__step-title {
  font-size: var(--font-size-19);
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-gray);
  padding-bottom: 1rem;
}
.p-treatment-method__step-title small {
  width: 3.6rem;
  height: 3.6rem;
  font-size: var(--font-size-22);
  margin-right: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.p-treatment-method__symptoms {
  margin-top: 6rem;
}
.p-treatment-method__symptom-list {
  padding: 3rem;
}
.p-treatment-method__symptom {
  padding: 1.5rem;
  border-bottom: 1px solid var(--color-gray);
  align-items: baseline;
}
.p-treatment-method__symptom-title {
  width: 14rem;
}
.p-treatment-method__symptom-text {
  width: calc(100% - 15rem);
}

/*
# p-treatment-fee
------------------------*/
.p-treatment-fee__list {
  padding: 2rem 4rem 4rem;
}
.p-treatment-fee__item {
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--color-gray);
  display: block;
}
.p-treatment-fee__item-title {
  margin-bottom: 2rem;
}
.p-treatment-fee__item-price {
  text-align: right;
}
.p-treatment-fee__campaign {
  margin: 5rem auto 0;
  padding: 4rem 2rem;
  text-align: center;
}
.p-treatment-fee__campaign-title {
  font-size: var(--font-size-20);
}

/*
# p-treatment-flow (card01_img pattern)
------------------------*/
.p-treatment-flow {
  background: url(../img/top/treatment-rt_deco.png) right top/29rem no-repeat, url(../img/top/treatment-lb_deco.png) left bottom/40rem no-repeat, var(--primary-color-light);
}
.p-treatment-flow__item {
  margin-bottom: 6rem;
  padding: 4rem;
  position: relative;
}
.p-treatment-flow__item:last-child {
  margin-bottom: 0;
}
.p-treatment-flow__item:last-child::after {
  display: none;
}
.p-treatment-flow__item::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2rem 2.05rem 0px 2.05rem;
  border-color: var(--accent-color) transparent transparent transparent;
  inset: auto 0 -4rem;
  margin: 0 auto;
}
.p-treatment-flow__item-title {
  font-size: var(--font-size-21);
  border-bottom: 1px solid var(--color-gray);
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
}
.p-treatment-flow__item-title::before {
  position: absolute;
  inset: -6rem auto auto 0;
}
.p-treatment-flow__item-num {
  margin-right: 1rem;
}
.p-treatment-flow__item-img {
  margin: 0 auto 4rem;
}

/*
# p-trouble (neck / back common)
------------------------*/
.p-trouble-worries__title .title-ja {
  font-size: var(--font-size-23);
}
.p-trouble-worries__item {
  margin-bottom: 1.5rem;
  font-size: var(--font-size-17);
  padding: 1.5rem 2rem 1.5rem 5rem;
  background: url(../img/neck/check_ic.png) left 2rem center/1.6rem no-repeat, var(--primary-color-light);
}
.p-trouble-worries__item:last-child {
  margin-bottom: 0;
}
.p-trouble-worries__ill {
  width: 90%;
  margin: 0 auto 6rem;
}

.p-trouble-cause {
  background: url(../img/neck/cause_bg.jpg) center/cover no-repeat;
}
.p-trouble-cause__title .title-ja span {
  color: var(--accent-color);
}
.p-trouble-cause__list {
  gap: 1.5rem 4%;
}
.p-trouble-cause__item {
  width: 48%;
  padding: 0.5rem 1rem;
  text-align: center;
  font-size: var(--font-size-16);
  line-height: 1.875;
}

.p-back-cause {
  background-image: url(../img/neck/cause_bg.jpg);
}

.p-trouble-treatment__card {
  margin-bottom: 8rem;
}
.p-trouble-treatment__card:last-child {
  margin-bottom: 0;
}
.p-trouble-treatment__card-title {
  font-size: var(--font-size-21);
  margin-bottom: 3rem;
}
.p-trouble-treatment__card-title::before {
  display: block;
  margin-bottom: 2rem;
}
.p-trouble-treatment__card-num {
  display: block;
  margin-bottom: 0.5rem;
}
.p-trouble-treatment__card-img {
  margin-bottom: 5rem;
  text-align: center;
}

.p-trouble-selfcare {
  background: url(../img/top/reason-rt_deco.png) right top/40rem no-repeat, url(../img/top/treatment-lb_deco.png) left bottom/40rem no-repeat, var(--primary-color-light);
}
.p-trouble-selfcare__item {
  margin-bottom: 6rem;
}
.p-trouble-selfcare__item:last-child {
  margin-bottom: 0;
}
.p-trouble-selfcare__item-title {
  font-size: var(--font-size-20);
  text-align: center;
  padding: 2rem 0;
  border-bottom: 2px dashed var(--accent-color);
}
.p-trouble-selfcare__video {
  aspect-ratio: 16/9;
  background: var(--color-gray-light);
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-trouble-selfcare__video iframe {
  width: 100%;
  height: 100%;
}

.p-trouble-voice__item {
  gap: 1.5rem 3rem;
  padding: 4rem;
  margin-bottom: 4rem;
}
.p-trouble-voice__item:last-child {
  margin-bottom: 0;
}
.p-trouble-voice__item-headline {
  border-bottom: 1px solid var(--color-gray);
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
}
.p-trouble-voice__img {
  width: 100%;
  height: 34rem;
  margin-bottom: 3rem;
}
.p-trouble-voice__item-title {
  font-size: var(--font-size-20);
  margin-bottom: 1rem;
  width: 65%;
}
.p-trouble-voice__worry {
  margin-bottom: 0.8rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.p-trouble-voice__worry::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--accent-color);
}

/*==========================================
news
===========================================*/
.column__wrap .column__list .column__post-title {
  font-size: var(--font-size-17);
}
.column__wrap .column__list .column__post-body {
  font-size: var(--font-size-13);
}
.column__wrap .column__list .column__post:has(.column__post-thumb) a {
  /*==========================================
  Flexbox
  ===========================================*/
  display: flex;
  width: 100%;
  justify-content: space-between;
  box-sizing: border-box;
}
.column__wrap .column__list .column__post:has(.column__post-thumb) .column__post-thumb {
  width: 40%;
  height: 33vw;
}
.column__wrap .column__list .column__post:has(.column__post-thumb) .column__post-meta {
  width: 55%;
}

/*----------------------------------
  詳細ページのカテゴリー表示(タイトル下部)
  ----------------------------------*/
.single__post-meta time {
  font-size: var(--font-size-13);
  width: 27%;
  font-weight: normal;
  padding: 0.5vw 0;
}
.single__post-meta .category-label {
  width: 70%;
  gap: 1vw;
}
.single__post-meta .category-label li {
  font-size: var(--font-size-13);
}
.single__post-meta .category-label li a {
  padding: 0 1vw;
}

/*==========================================
  contact
  ===========================================*/
.p-contact__form-item .p-contact__form-label .form_option,
.p-contact__form-item .p-contact__form-label .form_required {
  /*==========================================
  上下中央揃え
  ===========================================*/
  position: absolute;
  top: 50%;
  /* Safari用 */
  transform: translateY(-50%);
  z-index: 10;
  right: 1.5rem;
}
.p-contact__form-item .p-contact__form-input .p-contact__form-list li {
  margin-bottom: 5%;
}
.p-contact__form-item .p-contact__form-input .p-contact__form-list li:last-child {
  margin-bottom: 0;
}
.p-contact__form-item.p-contact__form-privacy .p-contact__form-label {
  text-align: left;
}
.p-contact__form-select {
  width: 32rem;
  position: relative;
}
.p-contact__form-select::after {
  inset: 0 5% 0 auto;
  width: 1.5vw;
  height: 1.5vw;
}
.p-contact__form .upload-item-wrap .select-img-wrap {
  display: flex;
  justify-content: space-between;
}
.p-contact__form .upload-item-wrap .thumb {
  width: 45%;
  margin-right: 25px;
}
.p-contact__form .upload-item-wrap .ancion-btn-wrap {
  width: 50%;
}
.p-contact__form .upload-item-wrap .ancion-btn-wrap .ancion-btn,
.p-contact__form .upload-item-wrap .ancion-btn-wrap .upload-button {
  font-size: var(--font-size-13);
}
.p-contact .p-contact__submits-wrap .p-contact__submits-check {
  width: 100%;
}
.p-contact input[type=button],
.p-contact input[type=submit],
.p-contact .p-contact__submits-wrap button {
  height: 8.5rem;
}
.p-contact input[type=submit],
.p-contact select {
  -webkit-appearance: none;
}

/*==========================================
  プライバシーポリシー(LPフレーム時)
  ===========================================*/