@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, b, em, i, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, mark, time, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption,
button, input, textarea, select, i {
  border: 0;
  font-style: inherit;
  font-weight: inherit;
  font-size: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  scroll-behavior: smooth;
  font-size: 10px;
}

@media screen and (min-width: 768px) and (max-width: 1110px) {
  html {
    font-size: calc(100vw * 10 / 1110);
  }
}

@media screen and (max-width: 820px) {
  html {
    font-size: calc(100vw * 10 / 750);
  }
}

body {
  font-size: 1.8rem;
}

@media screen and (max-width: 820px) {
  body {
    font-size: 1.25rem;
  }
}

:root {
  --font-family-Serif: 'Shippori Mincho', 'Noto Serif JP', 'ヒラギノ明朝 ProN',
 'Hiragino Mincho ProN', 'Noto Serif JP', 'Yu Mincho Light', serif;
}

u {
  text-underline-offset: .2em;
}

@media screen and (max-width: 820px) {
  .is-pc {
    display: none;
  }
}

@media screen and (min-width: 821px) {
  .is-sp {
    display: none;
  }
}

@media screen and (min-width: 821px) {
  .u-tel {
    pointer-events: none;
  }
}

main {
  overflow: hidden;
}

@media screen and (min-width: 821px) and (max-width: 1440px) {
  html:has(.p-mv) {
    font-size: calc(100vw * 10 / 1440);
  }
}

@media screen and (min-width: 821px) {
  html:has(.p-mv) .wrap {
    padding-top: 0;
  }
  html:has(.p-mv) #header {
    transform: translateY(-100%);
    transition: transform .4s;
  }
  html:has(.p-mv) #header.fixed {
    transform: none;
  }
}

.u_inner {
  margin: 0 auto;
  max-width: calc(100% - 4rem);
}

@media screen and (max-width: 820px) {
  .u_inner {
    max-width: calc(100% - 7.5rem);
  }
}

.ft_serif {
  font-family: var(--font-family-Serif);
}

.ft_serif * {
  font-family: inherit;
}

.ft_en {
  font-family: "Sirivennela", sans-serif;
}

.ft_en * {
  font-family: inherit;
  line-height: inherit;
}

#sub_fv:not(:has(#sub_mv)) {
  display: block;
}

.content_R p b {
  display: block;
  font-weight: bold;
}

.intro-lead {
  display: flex;
  justify-content: center;
}

.color-accent {
  color: #e66202;
}

.color-att2 {
  color: #003366;
  font-size: 1.1em;
}

.bg-gold {
  background: #a69965;
  padding: .5em 1em;
  color: #fff;
}

.sec-iframe iframe {
  width: 100%;
}

p:has(.bg-gold) {
  margin: 1em 0 1em;
}

.graybox {
  border: solid 1px #ccc;
  background: #f3f3f3;
  padding: .5em 2em;
  margin: 1.5em 0;
}

@media screen and (max-width: 820px) {
  .graybox {
    padding: .5em 1em;
  }
}

.graybox p {
  margin: 1.5em 0 !important;
}

@media screen and (min-width: 821px) {
  .graybox p {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 821px) {
  .graybox .color-accent {
    font-size: 1.8rem;
  }
}

.pic-grid03 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

@media screen and (max-width: 820px) {
  .pic-grid03 {
    gap: 1rem;
  }
}

.case-content__item-head .arrow.a {
  left: 32.5%;
}

.case-content__item-head .arrow.b {
  left: 68.5%;
}

#gotoTop {
  position: fixed;
  z-index: 66;
  right: 2rem;
  bottom: 2rem;
}

#gotoTop a {
  background: #a18b72;
  color: #fff;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  width: 5em;
  height: 5em;
  display: flex;
  align-items: center;
  justify-content: center;
}

#breadcrumb li span, #breadcrumb li a {
  color: #775C40;
}

#breadcrumb li::after {
  color: #775C40;
}

#faq .p_accordion__title {
  background: rgba(242, 208, 205, 0.3);
}

#faq .p_accordion__label {
  color: #775C40;
}

#faq .p_accordion__label:before {
  color: inherit;
}

#faq .p_accordion__icon:before {
  color: #775C40;
}

#faq .faq-title-wrap .faq-title:before {
  filter: invert(100%);
}

.page-main .-color1 {
  color: #775C40;
}

.page-main .-color2 {
  color: #D0ACB4;
}

.page-main .c-link a {
  text-decoration: underline;
  color: #EB4E71;
}

@media screen and (min-width: 821px) {
  .page-main .c-link .u-tel {
    text-decoration: none;
    color: inherit;
  }
}

.page-main .content_L p + ul {
  margin-top: .7em;
}

.page-main .advantages-box .box.-style01 .ttl {
  background: rgba(208, 176, 171, 0.5);
}

.page-main .advantages-box .box.-style02 .ttl {
  background: rgba(208, 171, 208, 0.5);
}

.page-main .type-content__table.bg-w {
  border-top: 1px solid #bbc3cd;
  border-right: 1px solid #bbc3cd;
  border-left: 1px solid #bbc3cd;
}

.page-main .type-content__table:not(:has(td:nth-child(2))) td {
  text-align: left;
}

.page-main .flow-contents:not(:has(.flow-content)) .flow-ttl {
  margin-bottom: 1.5em;
}

.page-main .flow-contents:not(:has(.flow-content)) .arrow {
  display: block;
  margin: 2em auto;
}

.page-main .price-table.evenly {
  table-layout: fixed;
}

.page-main .price-table tbody tr td:first-child {
  background: none;
}

.page-main .price-table thead th {
  text-align: center;
  background: rgba(161, 139, 114, 0.4);
}

.page-main .rec-table tr td:nth-child(1) {
  text-align: center;
}

@media screen and (min-width: 821px) {
  .page-main .rec-table tr td:nth-child(1) {
    width: 30%;
  }
}

.page-main .index-box {
  background: rgba(242, 208, 205, 0.5);
}

.page-main .index-box .ttl-head {
  border-color: #775C40;
}

.page-main .index-box .ttl-head .en {
  color: #775C40;
}

.page-main .flow-ttl {
  background: rgba(161, 139, 114, 0.8);
}

.page-main .arrow {
  filter: invert(20%);
  opacity: .4;
}

.page-main .sec-title {
  background: #FBF9F3;
}

.page-main .method-title {
  background: #a18b72;
}

.page-main .method-content {
  background: #FFFAF6;
}

.page-main .method-titleSub {
  background: rgba(161, 139, 114, 0.8);
}

.page-main .type-content {
  background: rgba(161, 139, 114, 0.1);
}

@media screen and (min-width: 821px) {
  .page-main .plan-content.reverse {
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 821px) {
  .page-main .plan-content .sec-titleSub {
    margin-top: 0;
  }
}

.page-main .kodawari-wrap .ttl {
  font-size: 2.7rem;
  font-weight: 500;
  margin: 5rem 0 .3em;
}

.page-main .kodawari-wrap .ttl i {
  font-family: inherit;
  background: rgba(161, 139, 114, 0.6);
  padding: 0 .5em;
  margin-right: .5em;
}

@media screen and (min-width: 821px) {
  .page-main .kodawari-wrap p {
    margin-left: 9.8em;
  }
}

.page-main .sec-titleSub {
  font-size: 2.8rem;
  font-weight: 500;
  border-bottom: solid 1px var(--color-main);
  margin: 5rem 0 2rem;
  font-weight: 600;
}

.page-main .sec-titleSub:has(u) {
  text-align: center;
}

.page-main .detail-btn {
  background: #F29993;
}

.page-main .detail-btn.nowrap {
  white-space: nowrap;
}

.page-main .detail-btn:hover {
  background: #a18b72;
}

.page-main .comment-box {
  margin: 5rem auto 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media screen and (max-width: 820px) {
  .page-main .comment-box {
    margin-top: 2.5rem;
  }
}

.page-main .comment-box dt {
  width: 12.9rem;
  margin-top: 1rem;
}

@media screen and (max-width: 820px) {
  .page-main .comment-box dt {
    margin-top: 3rem;
  }
}

.page-main .comment-box dd {
  width: calc(100% - 18rem);
  border: solid 1px #B3A18C;
  padding: 3rem 4rem;
  position: relative;
}

.page-main .comment-box dd:before, .page-main .comment-box dd:after {
  content: '';
  position: absolute;
  width: 2.5rem;
  height: 4rem;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  background: #B3A18C;
  left: -2.5rem;
  top: 5rem;
}

@media screen and (max-width: 820px) {
  .page-main .comment-box dd:before, .page-main .comment-box dd:after {
    top: 7rem;
  }
}

.page-main .comment-box dd:after {
  background: #fff;
  left: calc(-2.5rem + 2px);
}

.page-main .comment-box.q {
  flex-direction: row-reverse;
}

.page-main .comment-box.q dd {
  border-color: #EF6DC8;
}

.page-main .comment-box.q dd:before, .page-main .comment-box.q dd:after {
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  left: auto;
}

.page-main .comment-box.q dd:before {
  background: #EF6DC8;
}

.page-main .comment-box.q, .page-main .comment-box.a {
  align-items: center;
}

.page-main .comment-box.q dd:before, .page-main .comment-box.q dd:after {
  height: 3rem;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}

.page-main .comment-box.q dd:before {
  background: #EF6DC8;
  right: -2.5rem;
}

.page-main .comment-box.q dd:after {
  right: calc(-2.5rem + 2px);
}

.page-main .comment-box.a p em {
  color: #02B6B6;
}

.page-main .c-sec-inner > *:first-child {
  margin-top: 0;
}

.page-main .profile-box {
  display: flex;
  gap: 2rem;
  align-items: center;
}

@media screen and (max-width: 820px) {
  .page-main .num-list {
    margin-top: 5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}

@media screen and (min-width: 821px) {
  .page-main .num-list {
    margin-top: 6rem;
    display: flex;
    gap: 2rem;
  }
  .page-main .num-list dl {
    flex: 1;
  }
}

.page-main .num-list dl {
  background: rgba(161, 139, 114, 0.2);
  padding: 4rem 2rem 3rem;
  position: relative;
}

.page-main .num-list dt {
  text-align: center;
  margin-bottom: .4em;
  font-size: 1.8rem;
}

@media screen and (max-width: 820px) {
  .page-main .num-list dt {
    font-size: 2.5rem;
  }
}

.page-main .num-list dt i {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  top: -1em;
  background: #a18b72;
  border-radius: 50%;
  color: #fff;
  width: 2em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5em;
}

.page-main .num-list dt em {
  font-size: 1.4em;
  font-weight: 500;
  display: block;
}

.page-main .intro-box {
  background: rgba(232, 228, 214, 0.8);
}

.page-main .text-link {
  color: #2583d6;
  text-decoration: underline;
}

.page-main .price-table.access img {
  width: 50rem;
}

.page-main .price-table.access td {
  vertical-align: middle;
}

@media screen and (max-width: 820px) {
  .page-main .price-table.access td {
    float: left;
    width: 100% !important;
    max-width: 100% !important;
  }
}

.page-main .price-table span.normal {
  font-weight: 400;
}

.page-main p strong.large {
  font-weight: 500;
  font-size: 1.3em;
}

.page-main .text_center {
  text-align: center;
}

.page-main .txt-note {
  font-size: .9em;
  text-align: right;
  margin-top: .8em;
}

.page-main .txt-note.left {
  text-align: left;
}

@media screen and (max-width: 820px) {
  .page-main .txt-note {
    font-size: 2.2rem;
  }
}

.page-main .mb50 {
  margin-bottom: 5rem;
}

@media screen and (max-width: 820px) {
  .page-main .mb50 {
    margin-bottom: 2.5rem;
  }
}

.page-main .mt20 {
  margin-top: 2rem;
}

@media screen and (max-width: 820px) {
  .page-main .mt20 {
    margin-top: 1rem;
  }
}

.page-main .mt50 {
  margin-top: 5rem;
}

@media screen and (max-width: 820px) {
  .page-main .mt50 {
    margin-top: 2.5rem;
  }
}

.page-main .mb30 {
  margin-bottom: 3rem;
}

@media screen and (max-width: 820px) {
  .page-main .mb30 {
    margin-bottom: 1.5rem;
  }
}

.page-main .mt30 {
  margin-top: 3rem;
}

@media screen and (max-width: 820px) {
  .page-main .mt30 {
    margin-top: 1.5rem;
  }
}

.page-main .mb100 {
  margin-bottom: 10rem;
}

@media screen and (max-width: 820px) {
  .page-main .mb100 {
    margin-bottom: 5rem;
  }
}

.page-main .mt100 {
  margin-top: 10rem;
}

@media screen and (max-width: 820px) {
  .page-main .mt100 {
    margin-top: 5rem;
  }
}

@media screen and (min-width: 821px) {
  .page-main .pic.small {
    text-align: center;
  }
  .page-main .pic.small img {
    width: 36.4rem;
  }
}

.page-main .banner {
  margin-top: 5rem;
}

.page-main .banner img {
  width: 60rem;
}

.page-main ol {
  counter-reset: item;
}

.page-main ol + p {
  margin-top: 1em;
}

.page-main ol > li {
  counter-increment: item;
  padding-left: 1.5em;
  margin-top: .4em;
  position: relative;
}

.page-main ol > li:before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
}

.page-main ol.maru > li {
  padding-left: 1.8em;
}

.page-main ol.maru > li:before {
  content: counter(item);
  background: #5d9059;
  color: #fff;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  text-align: center;
  line-height: 1.2;
  top: .2em;
}

.page-main strong {
  font-weight: bold;
}

@media screen and (min-width: 821px) {
  .page-main .access-time {
    font-size: 10px;
  }
}

@media screen and (min-width: 821px) and (max-width: 1200px) {
  .page-main .access-time {
    font-size: calc(100vw * 10 / 1200);
  }
}

@media screen and (min-width: 821px) {
  .page-main .access-time .f_time {
    width: 80%;
  }
}

.page-main .access-time ul {
  margin-top: 1em;
}

.page-main .access-time li {
  padding-left: 1.2em;
  position: relative;
}

@media screen and (max-width: 820px) {
  .page-main .access-time li {
    font-size: 2.2rem;
  }
}

.page-main .access-time li:after {
  content: '※';
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 1em;
}

.page-main .access-time li:before {
  content: none !important;
}

.page-main .access-time .f_time {
  padding: 0;
}

.page-main .access-time .f_time p {
  text-align: left;
}

.page-main .access-time .f_time p a {
  color: #FA070B;
  text-decoration: underline;
}

.page-main .map {
  height: 50rem;
}

.page-main .map iframe {
  width: 100%;
  height: 100%;
}

.page-main .access-info .map {
  margin: 0 auto 5rem;
}

.page-main .access-info .d-flex + .d-flex {
  margin-top: 3rem;
}

@media screen and (min-width: 821px) {
  .page-main .access-info .d-flex {
    flex-wrap: nowrap;
  }
}

@media screen and (max-width: 820px) {
  .page-main .access-info .d-flex div + div {
    margin: 0;
  }
}

@media screen and (max-width: 820px) {
  .page-main .doctor-info .d-flex {
    width: 100%;
  }
}

@media screen and (min-width: 821px) {
  .page-main .doctor-info .d-flex {
    flex-wrap: nowrap;
  }
}

.page-main .doctor-info .price-table td {
  padding: 1em .5em;
  width: 30% !important;
}

.page-main .doctor-info .price-table td + td {
  width: 70% !important;
}

.page-main .c_table tr > * {
  border-bottom: soli;
}

@media screen and (max-width: 820px) {
  .page-main .sp-left {
    text-align: left;
  }
}

.case-list .txt-note, .case-list .button-container {
  display: none;
}

.case-list h3.sep-no {
  margin-top: 5rem;
}

.page-main .sep-no.ttl.nowrap {
  white-space: nowrap;
}

@media screen and (max-width: 820px) {
  .page-main .intro-title .sp-38 {
    font-size: 3.8vw;
    white-space: nowrap;
  }
}

.page-main .method-title {
  background: #a18b72;
  margin-bottom: 5rem;
}

@media screen and (min-width: 821px) {
  .page-main .plan-content .sec-title {
    margin-top: 0;
  }
}

.page-main .table-res-form {
  border-left: 1px solid #e3e1dd;
  border-top: 1px solid #e3e1dd;
}

.page-main .table-res-form th {
  background: #f6f5f2;
  width: 16em;
}

.page-main .table-res-form th, .page-main .table-res-form td {
  border-right: 1px solid #e3e1dd;
  border-bottom: 1px solid #e3e1dd;
  padding: 1em;
  text-align: left;
  vertical-align: middle;
}

@media screen and (max-width: 820px) {
  .page-main .table-res-form th, .page-main .table-res-form td {
    float: left;
    width: 100%;
  }
}

.page-main .table-res-form .requied {
  background: red;
  color: #fff;
  font-size: .7em;
  padding: 0 .4em;
}

.page-main .table-res-form input[type="text"], .page-main .table-res-form input[type="email"], .page-main .table-res-form input[type="tel"], .page-main .table-res-form input[type="date"], .page-main .table-res-form textarea, .page-main .table-res-form select {
  width: 100%;
  border-radius: .3em;
  padding: .5em 1em;
  border: solid 1px #ccc;
}

.page-main .table-res-form input[type="submit"] {
  background: #f6f5f2;
  width: 100%;
  text-align: center;
  height: 3.5em;
  border-radius: .3em;
  border: solid 1px #e3e1dd;
}

.page-main .table-res-form input.keiken {
  width: 4em;
  margin: 0 .5em;
}

.page-main .table-res-form .wpcf7-form-control {
  display: flex;
  gap: 1em;
}

.page-main .table-res-form .wpcf7-form-control input {
  margin-right: .5em;
}

.page-main .table-res-form .date, .page-main .table-res-form .zip, .page-main .table-res-form .pref {
  display: flex;
  align-items: center;
  gap: 1em;
}

.page-main .table-res-form .date + *, .page-main .table-res-form .zip + *, .page-main .table-res-form .pref + * {
  margin-top: .5em;
}

.page-main .table-res-form p + p {
  margin-top: .5em;
}

.page-main .table-res-form p {
  margin: 0;
}

.page-main .table-res-form .red {
  color: red;
}

.sec-text-anchor p a {
  text-decoration: underline;
  color: #777;
  margin: 0 .3em;
}

@media screen and (min-width: 821px) {
  .pcnone {
    display: none;
  }
}

.c_cta {
  display: flex;
  gap: 2rem;
}

@media screen and (max-width: 820px) {
  .c_cta {
    flex-direction: column;
  }
}

.c_cta a {
  display: flex;
  background: #16c84b;
  align-items: center;
  padding: 1.5rem 2rem;
  gap: 2em;
}

.c_cta p {
  color: #fff;
  font-size: 3rem;
  text-align: center;
}

@media screen and (max-width: 820px) {
  .c_cta p {
    font-size: 1.8rem;
  }
}

.c_cta small {
  display: block;
  text-align: center;
  font-size: .8em;
}

.c_cta li {
  flex: 1;
}

.c_cta img {
  width: 9rem;
}

@media screen and (max-width: 820px) {
  .c_cta img {
    width: 7.5rem;
  }
}

.c_cta .web {
  background: #a69965;
}

.c_tel {
  background: #e66202;
  margin-bottom: 2rem;
}

.c_tel p {
  color: #fff;
  font-size: 2.4rem;
  padding: .6em 0 1em;
}

@media screen and (max-width: 820px) {
  .c_tel p {
    font-size: 1.8rem;
  }
}

.c_tel small {
  display: block;
}

.c_tel a {
  font-size: 1.5em;
  text-decoration: underline;
  font-weight: bold;
}

.form-title {
  background: #EAF9C4;
  border-left: .5rem solid #c2dd7c;
  padding: .4em 1em;
  font-size: 2rem;
  margin: 2em 0 .8em;
}

@media screen and (max-width: 820px) {
  .form-title {
    font-size: 1.6rem;
  }
}

.mft-lead {
  text-align: center;
}

.mft-lead figure {
  margin: 3rem 0;
}

.mft-lead figure img {
  width: 50rem;
}

@media screen and (max-width: 820px) {
  .mft-lead figure img {
    width: 25rem;
  }
}

.mft-lead .mb {
  margin-bottom: 1.5em;
}

.mft-lead .font24 {
  font-size: 2.4rem;
}

@media screen and (max-width: 820px) {
  .mft-lead .font24 {
    font-size: 1.8rem;
  }
}

.mft-lead .font36 {
  font-size: 3.6rem;
}

@media screen and (max-width: 820px) {
  .mft-lead .font36 {
    font-size: 2.4rem;
  }
}

.mft-lead .list {
  display: flex;
  justify-content: center;
  gap: 0 2rem;
  margin: 6rem 0;
  flex-wrap: wrap-reverse;
}

@media screen and (max-width: 820px) {
  .mft-lead .list {
    margin: 4rem 0;
  }
}

.mft-lead .list li {
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  width: 23rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

@media screen and (max-width: 820px) {
  .mft-lead .list li {
    width: 15rem;
  }
}

.mft-lead .bg {
  background: #f3ffd5;
  padding: 3rem;
  margin-bottom: 6rem;
}

.mft-lead .bg p:nth-child(1) {
  margin-bottom: 1em;
}

.mrc-title {
  text-align: center;
  font-size: 3.6rem;
  color: #e66202;
  font-weight: bold;
  margin-bottom: 2em;
}

@media screen and (max-width: 820px) {
  .mrc-title {
    font-size: 2.4rem;
  }
}

.news_list li + li {
  border-top: solid 0.2px #474747;
}

.news_list a {
  display: flex;
  padding: .7em 0;
}

.news_list time {
  font-size: .875em;
  width: 18rem;
  padding-left: .8em;
}

@media screen and (max-width: 820px) {
  .news_list time {
    width: 13rem;
    font-size: inherit;
  }
}

.news_list span {
  width: calc(100% - 18rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: .5em;
}

@media screen and (max-width: 820px) {
  .news_list span {
    width: calc(100% - 13rem);
  }
}

.blog_list a {
  display: flex;
  justify-content: space-between;
  padding: 2rem 0;
}

.blog_list img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.blog_list figure {
  width: 15rem;
}

@media screen and (max-width: 820px) {
  .blog_list figure {
    width: 10rem;
  }
}

.blog_list time {
  display: block;
  margin-bottom: 1em;
}

.blog_list .desc {
  width: calc(100% - 18rem);
}

@media screen and (max-width: 820px) {
  .blog_list .desc {
    width: calc(100% - 11.5rem);
  }
}

.blog_list li + li {
  border-top: solid 0.2px #474747;
}

.blog_list p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:where(#header, #footer, .top_header, #toggle_menu) a {
  display: block;
}

#header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 66;
  height: var(--header-height-pc);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
}

@media screen and (min-width: 821px) {
  #header {
    padding: 0 0 0 2.5em;
    font-size: 10px;
  }
}

@media screen and (min-width: 821px) and (max-width: 1300px) {
  #header {
    font-size: calc(100vw * 10 / 1300);
  }
}

@media screen and (max-width: 820px) {
  #header {
    padding: 0 0 0 3.75rem;
    height: var(--header-height-sp);
    background: url(../images/common/h-bg.webp) no-repeat center top/cover;
  }
}

.h_ttl2 {
  font-family: var(--font-family-Serif);
  font-size: 1.2em;
  margin-bottom: .5em;
  white-space: nowrap;
}

@media screen and (max-width: 820px) {
  .h_ttl2 {
    margin-bottom: .3em;
    font-size: 1.75rem;
  }
}

.h_logo a {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.h_logo img {
  width: 18.85em;
}

@media screen and (max-width: 820px) {
  .h_logo img {
    width: 18.8rem;
  }
}

.h_cta {
  text-align: center;
}

@media screen and (min-width: 821px) {
  .h_cta {
    width: 30.4em;
    height: var(--header-height-pc);
  }
}

@media screen and (min-width: 821px) and (max-width: 1500px) {
  .h_cta {
    width: 23em;
  }
}

@media screen and (max-width: 820px) {
  .h_cta {
    width: auto;
  }
  .h_cta li {
    margin-top: 1.75rem;
  }
  .h_cta small {
    display: block;
    font-size: 1.98rem;
    border-right: 3em;
    font-family: var(--font-family-Sans);
  }
}

.h_cta a {
  line-height: 2em;
  color: #fff;
  background: #C68C4C;
  font-size: 2em;
  border: solid 1px #C68C4C;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 820px) {
  .h_cta a {
    padding: .4em 0;
    font-size: 2.8rem;
    height: 10rem;
  }
}

.h_cta a img {
  width: 4rem;
  vertical-align: middle;
  margin-right: 1.5rem;
}

@media screen and (max-width: 820px) {
  .h_cta .tel {
    background: #fff;
    color: #C68C4C;
    font-size: 3.6rem;
  }
}

@media screen and (min-width: 821px) {
  .h_cta .web {
    background: #fff;
    color: #C68C4C;
  }
}

@media screen and (min-width: 821px) {
  #toggle_menu {
    display: flex;
    gap: 2.5rem;
    align-items: center;
  }
}

@media screen and (max-width: 820px) {
  .h_nav {
    margin-bottom: 3rem;
    font-size: 1.4rem;
  }
  .h_nav .sub {
    height: 0;
    overflow: hidden;
    transition: height .3s;
  }
  .h_nav .sub li {
    margin: 0 0 .5em;
  }
  .h_nav > li {
    position: relative;
    border-bottom: solid 1px #CFEF7E;
  }
  .h_nav > li > a {
    padding: .8em 0;
  }
  .h_nav > li:has(.sub) > a {
    pointer-events: none;
  }
  .h_nav > li.open i:before {
    transform: rotate(180deg);
  }
  .h_nav > li i {
    position: absolute;
    right: 0;
    z-index: 2;
    cursor: pointer;
    width: 1.5rem;
    height: 4.5rem;
    top: 0;
  }
  .h_nav > li i:before {
    content: '';
    position: absolute;
    top: 1.8rem;
    right: .5rem;
    width: .8rem;
    height: .5rem;
    background: var(--color-main);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    transition: transform .3s;
  }
}

@media screen and (min-width: 821px) {
  .h_nav {
    display: flex;
    gap: 3em;
  }
}

@media screen and (min-width: 821px) and (max-width: 1500px) {
  .h_nav {
    gap: 1.2em;
  }
}

@media screen and (min-width: 821px) {
  .h_nav > li {
    height: var(--header-height-pc);
  }
  .h_nav > li > a {
    height: 100%;
    line-height: 1.2;
    font-size: 1.6em;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .h_nav > li:hover .sub {
    display: block;
    animation: itemFadeIn .5s;
  }
  .h_nav .sub {
    display: none;
    animation: itemFadeOut .5s;
    position: absolute;
    width: 100vw;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    padding: 40px 0;
  }
  .h_nav .sub dl {
    display: flex;
    width: 120em;
    margin: 0 auto;
  }
  .h_nav .sub dl + dl {
    margin-top: 2rem;
  }
  .h_nav .sub dt {
    font-size: 2.6em;
    width: 10em;
    margin-top: -.5rem;
  }
  .h_nav .sub dd {
    width: calc(100% - 16em);
  }
  .h_nav .sub ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em 0;
  }
  .h_nav .sub ul a {
    font-size: 1.6em;
  }
}

.h_nav .sub a {
  position: relative;
  padding-left: 1em;
}

.h_nav .sub a:before {
  content: '';
  position: absolute;
  top: 0.6em;
  left: 0;
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid var(--color-main);
  border-right: 1px solid var(--color-main);
  transform: rotate(45deg);
}

@media screen and (max-width: 820px) {
  .h_nav .sub dt {
    display: none;
  }
}

@keyframes itemFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes itemFadeOut {
  from {
    opacity: 1;
    display: block;
  }
  to {
    opacity: 0;
  }
}

@media screen and (max-width: 820px) {
  .h_menu {
    width: 10.5rem;
    height: 10.5rem;
    z-index: 67;
    cursor: pointer;
  }
  .h_menu .icon {
    position: relative;
    display: block;
    left: calc(50% - 1.45rem);
    top: calc(50% - 1px);
    margin-top: -1rem;
  }
  .h_menu .icon:before, .h_menu .icon:after {
    width: 2.9rem;
    height: 2px;
    background-color: #41220F;
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition-property: background-color, top;
  }
  .h_menu .icon:before, .h_menu .icon:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
  }
  .h_menu .icon:after {
    top: 2rem;
  }
  body.open .h_menu .icon {
    background-color: transparent;
  }
  body.open .h_menu .icon:before, body.open .h_menu .icon:after {
    top: 1rem;
  }
  body.open .h_menu .icon:before {
    transform: rotate(45deg);
  }
  body.open .h_menu .icon:after {
    transform: rotate(-45deg);
  }
  #toggle_menu {
    position: fixed;
    overflow-y: auto;
    top: 0;
    height: 100%;
    left: 0;
    width: 100%;
    z-index: 66;
    background: #F5EADC;
    padding: 12rem 3rem 5.5rem;
  }
  #toggle_menu > .h_nav {
    display: none;
  }
  #toggle_menu > .h_cta {
    display: none;
  }
  body.open {
    overflow-y: hidden;
  }
  body.open #toggle_menu {
    visibility: visible;
    animation: itemFadeIn 1s;
  }
  body:not(.open) #toggle_menu {
    visibility: hidden;
    animation: itemFadeOut .8s;
  }
}

.sp_menu .ttl {
  text-align: center;
  font-size: 3.2rem;
  color: #2F2F2F;
  font-weight: 500;
  margin-block: 2.4rem 3.5rem;
}

.sp_menu .ttl3 {
  font-family: var(--font-family-Serif);
  text-align: center;
  font-size: 2.5rem;
  color: #755d22;
  font-weight: bold;
  background: #eeecd1;
  margin: 8rem 0 .8em;
  padding: .3em 0;
}

.sp_menu ul.nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

.sp_menu ul.nav a {
  position: relative;
  display: block;
  border: solid .078rem #524C35;
  text-align: center;
}

.sp_menu ul.nav p {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #524C35;
}

.sp_menu ul.nav li {
  background: #fff;
}

.sp_menu ul.menu {
  gap: 2.4rem 4.4rem;
}

.sp_menu ul.menu p {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.2;
  height: 2.2em;
}

.sp_menu ul.menu a {
  border: solid .2rem #524C35;
  padding-top: 4rem;
  height: 20rem;
}

.sp_menu ul.menu a.s {
  padding-top: 3rem;
}

.sp_menu ul.menu a.s p {
  height: 3em;
}

.sp_menu ul.menu img {
  height: 7.8rem;
}

.sp_menu ul.treatment {
  margin-bottom: 4rem;
}

.sp_menu ul.treatment a {
  padding-block: 2rem .5rem;
}

.sp_menu ul.treatment img {
  width: 17.2em;
  height: auto;
  font-size: .77rem;
}

.sp_menu ul.treatment .surgery {
  width: 13em;
}

.sp_menu ul.treatment .cosmetic {
  width: 13.3em;
}

.sp_menu ul.treatment figure {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 11.2rem;
  font-size: 1rem;
}

.sp_menu ul.treatment p {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3em;
  text-align: center;
  line-height: 1.45;
  font-size: 2.1rem;
}

.sp_menu ul.treatment li {
  position: relative;
  z-index: 0;
}

.sp_menu ul.treatment li:before {
  content: '';
  position: absolute;
  background: #524C35;
  width: 3rem;
  height: 5.4rem;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  bottom: 0;
  right: 0;
}

.f_msg {
  background: #fff;
  margin-top: 8rem;
  padding: 2.5em 2.8em;
}

.f_msg p {
  font-size: 1.2em;
  line-height: 1.6;
  letter-spacing: 10%;
}

@media screen and (max-width: 820px) {
  .f_msg {
    margin-top: 4.5rem;
  }
}

@media screen and (min-width: 821px) {
  .f_msg .u_inner {
    width: 124rem;
  }
}

.f_nav {
  display: flex;
  flex-wrap: wrap;
  font-size: 2em;
  gap: 1.2em 0;
  color: #000;
  letter-spacing: 0;
}

.f_nav * {
  letter-spacing: inherit;
}

.f_nav a {
  color: inherit;
}

.f_nav p {
  background: url(../images/common/f-arrow.svg) no-repeat left center/0.4em;
  padding-left: 1.1em;
  font-size: 1.185em;
}

.f_nav > li {
  width: 50%;
}

@media screen and (min-width: 821px) {
  .f_nav > li:nth-child(even) {
    position: relative;
    left: -3em;
  }
}

.f_nav > li:has(ul) {
  width: 100%;
}

@media screen and (max-width: 820px) {
  .f_nav > li:has(ul) {
    margin-top: 6rem;
  }
  .f_nav > li:has(ul) p {
    margin-bottom: 1rem;
  }
}

.f_nav .row {
  display: flex;
  justify-content: space-between;
  position: relative;
  left: -.5em;
  margin-top: .5em;
}

.f_nav .row a {
  white-space: nowrap;
}

.f_nav .row a:before {
  content: '・';
}

.page-main .f_time {
  padding: 0;
}

.page-main .f_time + p {
  display: none;
}

#footer {
  background: #F9F6EF;
  position: relative;
  z-index: 0;
  padding: 7em 0 6em;
}

@media screen and (max-width: 820px) {
  #footer {
    padding: 9rem 0 10rem;
  }
}

@media screen and (min-width: 821px) {
  #footer {
    font-size: 10px;
  }
}

@media screen and (min-width: 821px) and (max-width: 1200px) {
  #footer {
    font-size: calc(100vw * 10 / 1200);
  }
}

@media screen and (min-width: 821px) {
  .f_inner {
    width: 127em;
  }
}

.f_news {
  background: #fff;
  border-radius: .2rem;
  box-shadow: 7.388px 9.456px 20.4px 3.6px rgba(0, 0, 0, 0.1);
  letter-spacing: 0;
  padding-inline: 8.7em 7em;
  padding-block: 7em;
  margin-bottom: 6em;
}

@media screen and (min-width: 821px) {
  .f_news {
    display: flex;
    align-items: center;
  }
}

@media screen and (max-width: 820px) {
  .f_news {
    margin-bottom: 5.5rem;
    padding: 3rem 0 2.85rem 3.4rem;
    overflow: hidden;
    box-shadow: 2px 2px 6.3px rgba(172, 162, 130, 0.2);
  }
}

@media screen and (min-width: 821px) {
  .f_news .ttl {
    text-align: center;
    width: 34em;
  }
}

@media screen and (max-width: 820px) {
  .f_news .ttl {
    position: relative;
  }
  .f_news .ttl:before {
    content: '';
    position: absolute;
    height: .02rem;
    background: #000;
    width: 100%;
    top: 50%;
    left: 14em;
  }
}

.f_news .ttl span {
  text-align: center;
  font-size: 2.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6em;
}

@media screen and (max-width: 820px) {
  .f_news .ttl span {
    justify-content: flex-start;
    font-size: 2.2rem;
  }
}

.f_news .ttl img {
  width: .9em;
}

.f_news .ttl i {
  font-size: 10em;
  display: block;
  line-height: 1;
}

@media screen and (max-width: 820px) {
  .f_news .ttl i {
    font-size: 6rem;
    margin-bottom: -1rem;
  }
}

@media screen and (min-width: 821px) {
  .f_news ul {
    padding-inline: 5em;
    width: calc(100% - 34em);
  }
}

.f_news li {
  border-bottom: solid 1px #2E2E2E;
}

@media screen and (min-width: 821px) {
  .f_news li {
    padding-inline: 5em;
  }
}

@media screen and (max-width: 820px) {
  .f_news li + li {
    margin-top: .5rem;
  }
}

.f_news a {
  display: flex;
  font-size: 1.6em;
  letter-spacing: 0;
  padding-block: 1.5em .8em;
}

@media screen and (max-width: 820px) {
  .f_news a {
    font-size: 2rem;
  }
}

.f_news a time {
  width: 17em;
}

@media screen and (max-width: 820px) {
  .f_news a time {
    width: 8em;
  }
}

.f_news a span {
  letter-spacing: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: calc(100% - 7em);
}

@media screen and (max-width: 820px) {
  .f_news a span {
    width: calc(100% - 10em);
  }
}

.f_logo {
  text-align: center;
}

.f_logo img {
  width: 21.2em;
}

@media screen and (max-width: 820px) {
  .f_logo img {
    width: 21rem;
  }
}

.f_map {
  margin-bottom: 2.5rem;
  height: 25rem;
}

@media screen and (max-width: 820px) {
  .f_map {
    height: 32.5rem;
    margin-block: 4rem 3.5rem;
  }
}

.f_map iframe {
  width: 100%;
  height: 100%;
  display: block;
}

@media screen and (min-width: 821px) {
  .f_left {
    width: 53.2em;
    text-align: center;
  }
}

@media screen and (max-width: 820px) {
  .f_box {
    align-items: flex-end;
    margin-bottom: 2.75rem;
  }
}

@media screen and (max-width: 820px) {
  .f_box {
    display: flex;
    justify-content: space-between;
    gap: 1.45rem;
    white-space: nowrap;
  }
  .f_box > * {
    flex: 1;
  }
  .f_box, .f_nav {
    margin-inline: 3.5rem;
  }
}

@media screen and (min-width: 821px) {
  .f_right {
    width: 50%;
  }
}

.f_btn {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.75em auto 2.75em;
}

.f_btn > * {
  flex: 1;
}

@media screen and (max-width: 820px) {
  .f_btn {
    margin: 0 3.5rem 1.85rem;
    gap: 1.45rem;
  }
}

.f_btn a {
  box-shadow: 0px 10px 16px rgba(91, 45, 0, 0.2);
  font-size: 2.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.6em;
  border: 0.5px solid #C68C4C;
}

@media screen and (max-width: 820px) {
  .f_btn a {
    letter-spacing: 11%;
    font-size: 2.4rem;
  }
}

.f_btn .web {
  background: #C68C4C;
  color: #fff;
}

.f_btn .tel {
  color: #C68C4C;
  background: #fff;
}

.f_info {
  text-align: center;
  font-size: 2.4em;
}

@media screen and (max-width: 820px) {
  .f_info {
    text-align: left;
    font-size: 2.2rem;
    margin: 0;
  }
}

.f_info .tel {
  font-size: 1.33em;
  line-height: 1.2;
  border-bottom: solid .5px #2E2E2E;
  padding-bottom: .3em;
}

@media screen and (max-width: 820px) {
  .f_info .tel {
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    gap: .4em;
    margin-top: .3em;
  }
}

@media screen and (min-width: 821px) {
  .f_info .tel {
    width: 9em;
    margin: .5em auto 0;
  }
}

.f_info .tel small {
  font-size: .5em;
  display: block;
}

@media screen and (max-width: 820px) {
  .f_info .tel small {
    font-size: 2.2rem;
  }
}

.f_time {
  background: #fff;
  border: solid 1px #2E2E2E;
  font-weight: 400;
  padding: .6em 0 1.5em;
}

@media screen and (max-width: 820px) {
  .f_time {
    padding: .6em 0 1.5em;
  }
}

.f_time th {
  border-bottom: solid 1px #927A7A;
  font-size: 1.5em;
  padding: .5em 0;
  font-weight: 600;
  font-family: var(--font-family-Serif);
}

.f_time th:nth-child(1) {
  font-weight: 400;
  font-size: 2em;
}

.f_time tr > * {
  text-align: center;
  width: 8.5%;
}

.f_time tr > *:last-child {
  width: 16%;
  padding-right: 1em;
}

.f_time tr > *:nth-child(1) {
  width: auto;
}

.f_time td {
  font-size: 1.5em;
  padding: .6em 0 0;
  font-family: var(--font-family-Sans);
}

.f_time td:nth-child(n + 2) {
  color: #CBAE99;
}

.f_time + p {
  font-size: 1.4em;
  margin-top: .4em;
  text-align: right;
}

@media screen and (max-width: 820px) {
  .f_time + p {
    font-size: 2rem;
    margin-bottom: 4rem;
  }
}

.f_time + p i {
  color: #ac671c;
}

@media screen and (min-width: 821px) {
  .f_row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 6em;
    gap: 1.1em;
  }
}

@media screen and (max-width: 820px) {
  .f_row {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
  }
}

@media screen and (max-width: 820px) {
  .f_row {
    margin-bottom: 1.5rem;
  }
}

.fixed_footer {
  position: fixed;
  z-index: 65;
  right: 0;
}

@media screen and (min-width: 821px) {
  .fixed_footer {
    top: 50%;
    translate: 0 -50%;
    width: 6.9rem;
  }
}

@media screen and (max-width: 820px) {
  .fixed_footer {
    width: 100%;
    bottom: 0;
  }
  .fixed_footer ul {
    display: flex;
  }
  .fixed_footer li {
    flex: 1;
  }
}

.fixed_footer a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #C68C4C;
  line-height: 1;
  text-align: center;
  border: solid 1px #C68C4C;
  line-height: 1.1;
  font-weight: 400;
  font-size: 2.8rem;
}

@media screen and (min-width: 821px) {
  .fixed_footer a {
    border-radius: .5rem 0 0 .5rem;
  }
}

@media screen and (max-width: 820px) {
  .fixed_footer a {
    height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.37rem;
    letter-spacing: 12%;
  }
  .fixed_footer a:hover {
    opacity: 1;
  }
}

@media screen and (min-width: 821px) {
  .fixed_footer a {
    padding: 2rem;
    height: 12.5rem;
  }
}

.fixed_footer a * {
  font-size: inherit;
  letter-spacing: .05em;
}

.fixed_footer img {
  width: 5rem;
  margin-bottom: .7rem;
}

@media screen and (max-width: 820px) {
  .fixed_footer img {
    width: 4.6rem;
    margin: 0;
  }
}

.fixed_footer span {
  line-height: inherit;
}

.fixed_footer .web {
  color: #fff;
}

.fixed_footer .tel {
  background: #fff;
  color: #C68C4C;
}

@media screen and (min-width: 821px) {
  .fixed_footer .tel {
    height: 11.7rem;
  }
}

.fixed_footer .tel img {
  width: 2.9rem;
}

@media screen and (max-width: 820px) {
  .fixed_footer .tel img {
    width: 2.7rem;
  }
}

.fixed_footer .top {
  background: #d1b47a;
}

@media screen and (max-width: 820px) {
  .fixed_footer .top {
    width: 13rem;
  }
}

.fixed_footer .top img {
  width: 1.9rem;
}

@media screen and (max-width: 820px) {
  .top_nav {
    display: none;
  }
}

@media screen and (min-width: 821px) {
  .top_nav {
    position: relative;
    z-index: 2;
    font-size: 10px;
  }
}

@media screen and (min-width: 821px) and (max-width: 1300px) {
  .top_nav {
    font-size: calc(100vw * 10 / 1300);
  }
}

@media screen and (min-width: 821px) {
  .top_nav .h_cta {
    display: none;
  }
  .top_nav .h_nav {
    gap: 0;
    margin: 0 auto;
    max-width: 144rem;
    justify-content: space-between;
  }
  .top_nav .h_nav > li {
    flex: 1;
  }
  .top_nav .h_nav > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8em;
  }
}

body:has(.p-mv) .wrap {
  padding-top: 0;
}

.top_header {
  position: absolute;
  display: none;
}

@media screen and (max-width: 820px) {
  .p-mv {
    background: url(../img/fv-bg-sp.webp) no-repeat center top/cover;
    padding-block: 13rem 0;
    position: relative;
    z-index: 0;
  }
  .p-mv:before {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    opacity: .6;
    z-index: -1;
  }
}

.p-mv .logo {
  width: 18.85rem;
  margin-bottom: 6rem;
}

@media screen and (max-width: 820px) {
  .p-mv .logo {
    display: none;
  }
}

@media screen and (min-width: 821px) {
  .p-mv {
    display: flex;
    justify-content: space-between;
  }
  .p-mv .mv {
    width: calc(50% - 11.5rem);
    height: 72rem;
  }
  .p-mv .mv img {
    object-fit: cover;
    height: 100%;
    object-position: center top;
  }
  .p-mv .img {
    display: flex;
    gap: .5rem;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  .p-mv .img figure {
    flex: 1;
  }
  .p-mv .img img {
    height: 24.25rem;
    object-fit: cover;
    width: 100%;
  }
}

@media screen and (max-width: 820px) {
  .p-mv .top {
    margin-inline: 6.5rem;
    white-space: nowrap;
  }
}

@media screen and (min-width: 821px) {
  .p-mv .top {
    width: 74.25rem;
    margin-left: auto;
  }
}

.p-mv .box {
  padding-top: 2.5rem;
  position: relative;
}

@media screen and (min-width: 821px) {
  .p-mv .box {
    background: url(../img/fv-bg.webp) no-repeat top left/100%;
    width: calc(50% + 11rem);
  }
}

.p-mv .catch {
  display: inline-block;
}

.p-mv .ttl {
  font-size: 6.4rem;
  letter-spacing: 0;
  line-height: 1.25;
  margin-bottom: .28em;
}

@media screen and (max-width: 820px) {
  .p-mv .ttl {
    font-size: 5.5rem;
  }
}

.p-mv .ttl small {
  display: block;
  letter-spacing: 0;
  font-size: 4.8rem;
}

@media screen and (max-width: 820px) {
  .p-mv .ttl small {
    font-size: 4.4rem;
    margin-bottom: .2em;
  }
}

.p-mv .ttl em {
  background: #E2BE96;
  letter-spacing: 0;
  color: #fff;
  line-height: 1.1;
  padding-bottom: .1em;
  display: inline-block;
}

.p-mv .sub {
  font-size: 3.2rem;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 820px) {
  .p-mv .sub {
    font-size: 2.8rem;
  }
}

.p-mv .sub:before, .p-mv .sub:after {
  content: '';
  position: absolute;
  width: 1.3125em;
  height: .05rem;
  background: #2E2E2E;
  top: .8em;
}

@media screen and (max-width: 820px) {
  .p-mv .sub:before {
    margin-left: -1.5em;
  }
}

@media screen and (min-width: 821px) {
  .p-mv .sub:before {
    left: 0;
  }
  .p-mv .sub:after {
    right: 0;
  }
}

.p-mv .list {
  display: flex;
  justify-content: center;
  background: #fff;
  margin-top: 2rem;
}

@media screen and (min-width: 821px) {
  .p-mv .list {
    margin-top: 1.6rem;
    width: 80.8rem;
    margin-left: auto;
  }
}

.p-mv .list li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  font-size: 1.2rem;
  padding-block: 1.5rem;
  width: 18rem;
}

@media screen and (max-width: 820px) {
  .p-mv .list li {
    flex-direction: column;
    font-size: 2.2rem;
    gap: .6rem;
    padding-block: 1.5rem 2.3rem;
  }
}

.p-mv .list li + li {
  position: relative;
}

.p-mv .list li + li:before {
  content: '';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background: #BB8240;
  width: .05rem;
  height: 4.725rem;
  left: 0;
}

.p-mv .list img {
  height: 4.458em;
}

@media screen and (max-width: 820px) {
  .p-mv .list img {
    font-size: 1.5rem;
  }
}

.p-mv .list p {
  letter-spacing: 0;
}

@media screen and (max-width: 820px) {
  .p-mv .list p {
    text-align: center;
    letter-spacing: -3%;
    line-height: 1.3;
  }
}

.p-mv figure img {
  width: 100%;
}

.p-info {
  background: url(../img/info-bg01.webp) no-repeat 50%/cover;
  padding-block: 5.4rem 10rem;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 821px) {
  .p-info {
    height: 70rem;
    padding-block: 1.5rem;
  }
}

.p-info .bg {
  position: absolute;
  right: -3.35rem;
  top: -6.65rem;
  width: 51.35rem;
}

@media screen and (max-width: 820px) {
  .p-info .bg {
    top: auto;
    right: -6rem;
    bottom: -5rem;
    width: 34.2rem;
    z-index: 2;
  }
}

@media screen and (min-width: 821px) {
  .p-info .bg:before {
    content: '';
    position: absolute;
    background: #977F62;
    height: .05rem;
    width: 100vw;
    top: 16.5rem;
    translate: -100% 0;
    margin-left: 4rem;
  }
}

.p-info .ttl {
  font-size: 9rem;
  color: #A78650;
  line-height: 1;
  margin-bottom: 2.3rem;
}

@media screen and (max-width: 820px) {
  .p-info .ttl {
    font-size: 8rem;
    margin-bottom: -2.9rem;
    position: relative;
    z-index: 1;
  }
}

.p-info .ttl i {
  line-height: inherit;
  font-style: italic;
  letter-spacing: 0;
}

@media screen and (min-width: 821px) {
  .p-info .ttl {
    width: 123rem;
  }
}

.p-info figure {
  filter: drop-shadow(0px 4.57882px 8.01293px rgba(120, 67, 0, 0.26));
  will-change: filter;
}

.p-info figure img {
  clip-path: polygon(0 0, 100% 0, calc(100% - 20rem) 100%, 0% 100%);
}

@media screen and (min-width: 821px) {
  .p-info figure {
    position: absolute;
    width: calc(50% - 2rem);
    height: 55rem;
    top: 10rem;
  }
  .p-info figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.p-info .line {
  background: #FAEBDA;
  padding-block: 1.8rem;
}

@media screen and (max-width: 820px) {
  .p-info .line {
    clip-path: polygon(3.4rem 0%, 100% 0, 100% 100%, 0% 100%);
    padding-left: 13rem;
  }
}

@media screen and (min-width: 821px) {
  .p-info .line {
    border-top: solid 1px #EAAF6A;
    border-bottom: solid 1px #EAAF6A;
  }
}

.p-info .line p {
  font-size: 7rem;
  color: #464646;
  line-height: 1.2;
}

@media screen and (max-width: 820px) {
  .p-info .line p {
    font-size: 5rem;
  }
}

.p-info .line p small {
  display: block;
  font-size: 3.2rem;
  opacity: .8;
}

@media screen and (max-width: 820px) {
  .p-info .line p small {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 821px) {
  .p-info .line p {
    margin-left: calc(50% - 1rem);
  }
}

.p-info ul {
  margin-left: 2.9rem;
  margin-top: 3.6rem;
}

@media screen and (min-width: 821px) {
  .p-info ul {
    margin-left: calc(50% - 14rem);
    margin-top: 5.2rem;
  }
}

.p-info li {
  background: url(../img/ico-apple.svg) no-repeat left calc(100% + .1rem)/1.178em;
  font-size: 2.8rem;
  color: #000;
  padding-left: 2.2em;
  line-height: 1.3;
  margin-top: 2.8rem;
  letter-spacing: 0;
  border-bottom: solid .2rem #EAAF6A;
  width: 19.9em;
}

.p-info li:nth-child(1) {
  margin-left: 3.9em;
  width: 8.75em;
}

@media screen and (max-width: 820px) {
  .p-info li:nth-child(1) {
    width: 8.2em;
  }
}

.p-info li:nth-child(2) {
  margin-left: 2.6em;
  width: 14.4em;
}

@media screen and (max-width: 820px) {
  .p-info li:nth-child(2) {
    width: 12.2em;
  }
}

.p-info li:nth-child(3) {
  margin-left: 1.3em;
  width: 15.72em;
}

@media screen and (max-width: 820px) {
  .p-info li:nth-child(3) {
    width: 13.5em;
  }
}

@media screen and (max-width: 820px) {
  .p-info li:nth-child(4) {
    width: 18.5em;
  }
}

.p-vision {
  position: relative;
  padding-block: 6rem;
  overflow: hidden;
  z-index: 0;
}

@media screen and (max-width: 820px) {
  .p-vision {
    padding-block: 15.5rem 6rem;
  }
}

.p-vision:before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 100%;
  background: url(../img/vision-bg.webp) no-repeat center top/cover;
  top: 0;
  height: calc(100% - 40rem);
}

@media screen and (max-width: 820px) {
  .p-vision:before {
    background-image: url(../img/vision-bg-sp.webp);
    height: 308.9rem;
  }
}

.p-vision:after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 100%;
  background: #FDFAF4;
  height: 40rem;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 820px) {
  .p-vision:after {
    background: url(../img/vision-icon-sp.svg) no-repeat center top/contain;
    width: 66.2rem;
    height: 19.9rem;
    top: 0;
    left: 0;
    bottom: auto;
  }
}

.p-vision .ttl {
  text-align: center;
  font-weight: bold;
  font-size: 4.8rem;
  color: #545251;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 6rem;
}

@media screen and (max-width: 820px) {
  .p-vision .ttl {
    font-size: 3.6rem;
    margin-bottom: 9.4rem;
  }
}

.p-vision .ttl span {
  position: relative;
}

.p-vision .ttl span:before {
  content: '';
  position: absolute;
  left: 50%;
  translate: -50% 0;
  bottom: -.1em;
  background: url(../img/line.svg) no-repeat center bottom/contain;
  height: .333em;
  width: 120%;
}

@media screen and (max-width: 820px) {
  .p-vision .ttl span:before {
    width: 130%;
    height: .5em;
    bottom: -.25em;
  }
}

.p-vision .ttl em {
  border: solid .15rem #C68C4C;
  background: #FDFBF8;
  font-size: 5.8rem;
  padding-inline: .2em;
  display: inline-block;
  line-height: 1.3;
  margin-top: .5em;
  margin-right: .15em;
  letter-spacing: 0;
}

@media screen and (max-width: 820px) {
  .p-vision .ttl em {
    font-size: 4.4rem;
  }
}

@media screen and (min-width: 821px) {
  .p-vision .u_inner {
    width: 130rem;
  }
}

.p-vision .row {
  display: flex;
  margin-bottom: 6.3rem;
}

@media screen and (max-width: 820px) {
  .p-vision .row {
    flex-direction: column-reverse;
    max-width: 100%;
    margin-bottom: 4.3rem;
  }
  .p-vision .row figure {
    width: 60.6rem;
    margin-left: auto;
    position: relative;
  }
}

@media screen and (min-width: 821px) {
  .p-vision .row {
    position: relative;
    z-index: 0;
  }
  .p-vision .row:before {
    content: '';
    position: absolute;
    background: #fff;
    border: solid .15rem #C68C4C;
    height: 100%;
    width: 100vw;
    z-index: -1;
    top: 0;
    right: calc(50% - 20rem);
  }
  .p-vision .row figure {
    margin-block: 4.3rem 3rem;
    width: 70rem;
  }
}

.p-vision .desc {
  padding-block: 5.4rem 4rem;
}

@media screen and (max-width: 820px) {
  .p-vision .desc {
    padding-block: 7.4rem 3rem;
    background: #fff;
    margin-right: 3.75rem;
    border: .15rem solid #C68C4C;
    border-left: none;
    margin-top: -5rem;
  }
}

@media screen and (min-width: 821px) {
  .p-vision .desc {
    width: calc(50% - 5.5rem);
  }
}

.p-vision .desc p {
  font-size: 1.6rem;
  line-height: 2.8;
  letter-spacing: 0;
}

@media screen and (max-width: 820px) {
  .p-vision .desc p {
    text-align: center;
    font-size: 2.2rem;
    line-height: 1.4;
    white-space: nowrap;
  }
}

.p-vision .desc p + p {
  margin-top: 1em;
}

.p-vision .desc p em {
  background: linear-gradient(91deg, #604425 3.83%, #C68C4C 96.07%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 2.2;
}

.p-vision .desc p em.b {
  background: linear-gradient(88deg, #C68C4C 4.27%, #694A28 101.79%);
  background-clip: text;
}

@media screen and (max-width: 820px) {
  .p-vision .desc p em {
    font-size: 3.2rem;
    line-height: 1.6;
  }
}

.p-vision .desc p strong {
  font-weight: bold;
}

.p-vision .desc p span {
  border-bottom: solid .15rem #C68C4C;
}

@media screen and (min-width: 821px) {
  .p-vision .box {
    padding-left: 5rem;
    width: 58.5ram;
    margin-left: auto;
  }
}

.p-vision ul {
  display: flex;
}

@media screen and (max-width: 820px) {
  .p-vision ul {
    flex-direction: column;
    gap: 7.4rem;
    padding-inline: 4.6rem;
  }
}

@media screen and (min-width: 821px) {
  .p-vision ul {
    position: relative;
    box-shadow: 0px 9.5px 30px rgba(162, 142, 103, 0.25);
  }
  .p-vision ul:before {
    content: '';
    position: absolute;
    left: 50%;
    translate: -50% 0;
    top: 3rem;
    background: #545251;
    width: .15rem;
    height: calc(100% - 5rem);
    z-index: 1;
  }
}

.p-vision li {
  background: #fff;
}

@media screen and (max-width: 820px) {
  .p-vision li {
    box-shadow: 0px 9.5px 30px rgba(162, 142, 103, 0.25);
  }
}

@media screen and (min-width: 821px) {
  .p-vision li {
    flex: 1;
  }
}

.p-vision .ttl2 {
  text-align: center;
  color: #fff;
  font-size: 4.4rem;
  background: #DDC196;
  letter-spacing: 0;
  white-space: nowrap;
  position: relative;
  height: 13rem;
  padding-top: .4em;
}

@media screen and (max-width: 820px) {
  .p-vision .ttl2 {
    font-size: 3.6rem;
    height: 10rem;
  }
}

@media screen and (min-width: 821px) {
  .p-vision .ttl2:before {
    content: '';
    position: absolute;
    left: 50%;
    translate: -50% 0;
    bottom: 0;
    background: #545251;
    height: .15rem;
    width: calc(100% - 11.1rem);
  }
}

.p-vision .ttl2 em {
  font-size: 6rem;
}

@media screen and (max-width: 820px) {
  .p-vision .ttl2 em {
    font-size: 5rem;
  }
}

.p-vision .ttl2.b {
  background: #D0B0AB;
}

.p-vision .ttl2.b em {
  letter-spacing: -5%;
  margin-left: -.25em;
}

.p-vision .box2 {
  padding-block: 2.3rem;
}

@media screen and (max-width: 820px) {
  .p-vision .box2 {
    padding-block: 1.8rem;
  }
}

@media screen and (min-width: 821px) {
  .p-vision .box2 figure {
    width: 53.9rem;
    margin: 0 auto 2rem;
  }
  .p-vision .box2 figure.b {
    width: 54.7rem;
  }
}

@media screen and (max-width: 820px) {
  .p-vision .box2 figure {
    margin: 0 2.8rem 1.8rem;
  }
}

.p-vision .txt {
  padding-inline: 7rem;
}

@media screen and (max-width: 820px) {
  .p-vision .txt {
    padding-inline: 2.8rem;
  }
}

.p-vision .txt p, .p-vision .txt dd {
  font-size: 1.6rem;
  line-height: 1.7;
  color: #545251;
}

@media screen and (max-width: 820px) {
  .p-vision .txt p, .p-vision .txt dd {
    font-size: 2.2rem;
  }
}

.p-vision .txt p.b {
  font-weight: bold;
  color: #A18B72;
}

@media screen and (min-width: 821px) {
  .p-vision .txt p.b {
    margin-bottom: .7em;
  }
}

.p-vision .txt em {
  background: #E7DFC3;
  font-weight: bold;
  padding-inline: .1em;
}

.p-vision .txt dd + dt {
  margin-top: .5em;
}

.p-vision .txt dt {
  font-size: 2rem;
  color: #fff;
  background: #D0B0AB;
  display: inline-block;
  padding-inline: .5em;
  margin-bottom: .5em;
}

@media screen and (max-width: 820px) {
  .p-vision .txt dt {
    font-size: 2.7rem;
  }
}

.p-care {
  position: relative;
  z-index: 0;
  padding-block: 2rem;
}

.p-care:before, .p-care:after {
  content: '';
  position: absolute;
  background: linear-gradient(90deg, #E0B98A 0%, #86735E 100%);
  height: 2rem;
  width: 100%;
  left: 0;
  z-index: -1;
}

.p-care:before {
  top: 0;
}

.p-care:after {
  bottom: 0;
}

@media screen and (min-width: 821px) {
  .p-care .row {
    display: flex;
  }
  .p-care .row figure {
    width: calc(50% - 5.4rem);
    padding-bottom: 2.4rem;
  }
  .p-care .row figure img {
    width: 100%;
    height: 72.7rem;
    object-fit: cover;
  }
}

.p-care .desc {
  background: url(../img/care-bg01.webp) no-repeat center top/cover;
  text-align: center;
  padding-top: 4rem;
}

@media screen and (max-width: 820px) {
  .p-care .desc {
    background-image: url(../img/care-img01-sp.webp);
    padding: 3.5rem 4.5rem 3.2rem;
  }
}

@media screen and (min-width: 821px) {
  .p-care .desc {
    width: calc(50% + 5.4rem);
  }
}

.p-care .ttl {
  font-size: 4.8rem;
  letter-spacing: 0;
  line-height: 1.4;
  color: #2E2E2E;
  margin-bottom: 2.3rem;
}

@media screen and (max-width: 820px) {
  .p-care .ttl {
    font-size: 4rem;
  }
}

.p-care .ttl * {
  line-height: inherit;
  letter-spacing: 0;
}

@media screen and (min-width: 821px) {
  .p-care .ttl small {
    font-size: 3.2rem;
  }
}

.p-care .ttl span {
  position: relative;
  z-index: 0;
}

.p-care .ttl span:before {
  content: '';
  position: absolute;
  background: url(../img/line02.svg) no-repeat left bottom/contain;
  height: 1.8rem;
  width: 100%;
  bottom: -.05em;
  z-index: -1;
  left: -.2em;
}

@media screen and (max-width: 820px) {
  .p-care .ttl span:before {
    height: 2rem;
    width: 120%;
    bottom: -.3em;
  }
}

.p-care .ttl em {
  color: #fff;
  font-weight: 900;
  font-size: 6.4rem;
  text-shadow: #F29993 0.15rem 0.15rem 0, #F29993 -0.15rem -0.15rem 0, #F29993 -0.15rem 0.15rem 0, #F29993 0.15rem -0.15rem 0, #F29993 0 0.15rem 0, #F29993 0 -0.15rem 0, #F29993 -0.15rem 0 0, #F29993 0.15rem 0 0;
}

@media screen and (max-width: 820px) {
  .p-care .ttl em {
    font-size: 6rem;
  }
}

.p-care .lead {
  text-align: center;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 5%;
  border-bottom: solid .15rem #BF9D75;
}

@media screen and (max-width: 820px) {
  .p-care .lead {
    padding-bottom: .5em;
    margin-bottom: 3rem;
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 821px) {
  .p-care .lead {
    width: 60.7rem;
    margin: 0 auto 1rem;
  }
}

@media screen and (max-width: 820px) {
  .p-care .row2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-block: 2rem;
  }
  .p-care .row2 .txt1 {
    width: calc(100% - 25rem);
  }
}

.p-care .txt1 {
  color: #545251;
  font-size: 1.6rem;
  font-weight: 350;
  line-height: 1.8;
  letter-spacing: 0;
}

@media screen and (max-width: 820px) {
  .p-care .txt1 {
    font-size: 2.2rem;
  }
}

.p-care .txt1 em {
  font-weight: bold;
  background: #DBBD90;
  padding-inline: .4em;
  letter-spacing: 0;
}

@media screen and (min-width: 821px) {
  .p-care .txt1 {
    text-align: center;
  }
}

.p-care .txt2 {
  color: #775C40;
  text-align: center;
  font-size: 2.4rem;
}

@media screen and (max-width: 820px) {
  .p-care .txt2 {
    font-size: 2.2rem;
  }
}

.p-care .txt2 strong {
  font-size: 3.2rem;
  font-weight: 600;
}

@media screen and (max-width: 820px) {
  .p-care .txt2 strong {
    font-size: 2.8rem;
  }
}

.p-care dl {
  border: 1px solid #DABC8F;
  align-items: center;
}

@media screen and (max-width: 820px) {
  .p-care dl {
    width: 22.3rem;
  }
}

@media screen and (min-width: 821px) {
  .p-care dl {
    display: inline-flex;
    margin-block: 1.2rem;
  }
}

.p-care dt {
  color: #FFF;
  text-shadow: 0 0 .5rem #775C40;
  font-size: 4.8rem;
  font-weight: 600;
  background: #DABC8F;
  line-height: 1.8;
  color: #fff;
  padding: .1em .5em;
}

@media screen and (max-width: 820px) {
  .p-care dt {
    font-size: 4rem;
  }
}

.p-care dd {
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
  padding: 1em 1.2em;
}

@media screen and (max-width: 820px) {
  .p-care dd {
    font-size: 2.2rem;
    letter-spacing: 5%;
    line-height: 1.4;
    background: #fff;
    padding: 1em .8em;
  }
  .p-care dd br {
    display: none;
  }
}

.p-care .ttl2 {
  border-top: solid .8rem #BF9D75;
  border-bottom: solid .8rem #BF9D75;
  background: #fff;
  padding-block: 2.6rem;
  font-size: 4.8rem;
  color: #545251;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.4;
}

@media screen and (max-width: 820px) {
  .p-care .ttl2 {
    font-size: 3.6rem;
    border-width: .5rem;
  }
}

.p-care .ttl2 * {
  letter-spacing: 0;
  line-height: inherit;
}

.p-care .ttl2 small {
  font-size: 4rem;
}

@media screen and (max-width: 820px) {
  .p-care .ttl2 small {
    font-size: 3.6rem;
  }
}

.p-care .ttl2 em {
  color: #B7AE8F;
}

.p-care .ttl2 em, .p-care .ttl2 strong {
  font-weight: 600;
  font-size: 6rem;
}

@media screen and (max-width: 820px) {
  .p-care .ttl2 em, .p-care .ttl2 strong {
    font-size: 4.8rem;
  }
}

.p-care ul {
  display: flex;
  justify-content: center;
  gap: 4.5rem;
  background: url(../img/care-bg02.webp) no-repeat center bottom/100% 100%;
  padding-block: 2.4rem 4rem;
}

@media screen and (max-width: 820px) {
  .p-care ul {
    background-image: url(../img/care-bg02-sp.webp);
    flex-direction: column;
    gap: 3.3rem;
    padding-block: 3rem 4.5rem;
  }
}

.p-care li {
  background: #fff;
  width: 40rem;
  box-shadow: 0px 9.5px 30px rgba(162, 142, 103, 0.25);
}

@media screen and (max-width: 820px) {
  .p-care li {
    width: 47.8rem;
    margin-inline: auto;
  }
}

.p-care li p {
  font-size: 1.8rem;
  line-height: 1.2;
  letter-spacing: 5%;
  color: #2E2E2E;
  padding: 2.4rem 2.2rem 1.8rem;
}

@media screen and (max-width: 820px) {
  .p-care li p {
    font-size: 2.2rem;
  }
}

.p-care .ttl3 {
  text-align: center;
  background: #D0C8AB;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.3;
  height: 14rem;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
}

@media screen and (max-width: 820px) {
  .p-care .ttl3 {
    font-size: 3.8rem;
    height: 16rem;
  }
}

.p-care .ttl3 * {
  line-height: inherit;
  letter-spacing: 0;
}

.p-care .ttl3 em {
  font-size: 4rem;
}

@media screen and (max-width: 820px) {
  .p-care .ttl3 em {
    font-size: 4.7rem;
  }
}

.p-reason {
  padding-bottom: 5.8rem;
  background: #FFFAF6;
  color: #545251;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-reason .bg2 {
  position: absolute;
  width: 100%;
  bottom: 0;
  z-index: -1;
  right: 0;
}

.p-reason .head {
  position: relative;
  z-index: 0;
  padding-top: 6.8rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 820px) {
  .p-reason .head {
    margin-bottom: 8.5rem;
  }
}

.p-reason .bg {
  position: absolute;
  width: calc(50% + 9.2rem);
  top: 0;
  left: 0;
  z-index: 1;
}

@media screen and (max-width: 820px) {
  .p-reason .bg {
    top: -3rem;
    width: 58rem;
  }
}

.p-reason .ttl {
  position: absolute;
  top: -3rem;
  left: 0;
  z-index: 1;
  padding-left: 9.6rem;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 3.6rem;
  color: #9A8368;
  line-height: 1;
  letter-spacing: 0;
}

@media screen and (max-width: 820px) {
  .p-reason .ttl {
    font-size: 2.8rem;
    padding-left: 5.3rem;
    top: -.4rem;
  }
}

.p-reason .ttl * {
  line-height: 1;
  letter-spacing: 0;
}

.p-reason .ttl em {
  font-size: 28rem;
  font-weight: 400;
}

@media screen and (max-width: 820px) {
  .p-reason .ttl em {
    font-size: 16rem;
  }
}

.p-reason .ttl small {
  display: block;
  text-align: right;
  font-size: 2.4rem;
  position: relative;
  top: -.4em;
}

@media screen and (max-width: 820px) {
  .p-reason .ttl small {
    font-size: 2.2rem;
    text-align: left;
  }
}

.p-reason .ttl i {
  display: block;
  font-size: 10rem;
  font-weight: 400;
}

@media screen and (max-width: 820px) {
  .p-reason .ttl i {
    font-size: 7.8rem;
  }
}

.p-reason .catch {
  position: absolute;
  bottom: 5.25rem;
  right: 0;
  text-align: right;
  z-index: 0;
}

@media screen and (max-width: 820px) {
  .p-reason .catch {
    bottom: -3.2rem;
  }
}

.p-reason .catch:before {
  content: '';
  position: absolute;
  background: url(../img/reason-catch-bg.svg) no-repeat 50%/contain;
  width: 26.4rem;
  height: 20.7rem;
  right: 0;
  z-index: -1;
  bottom: -10.3rem;
}

.p-reason .catch span {
  border: solid .15rem #9A8368;
  background: #fff;
  border-right: none;
  font-size: 3.6rem;
  font-weight: 500;
  color: #9A8368;
  display: inline-block;
  margin-top: .4em;
  padding-block: .2em;
  padding-inline: 5rem 8.8rem;
}

@media screen and (max-width: 820px) {
  .p-reason .catch span {
    font-size: 3.2rem;
    padding-inline: 2.2rem 5rem;
  }
}

@media screen and (min-width: 821px) {
  .p-reason .u_inner {
    width: 126.4rem;
  }
}

.p-reason ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 5.4rem;
}

@media screen and (max-width: 820px) {
  .p-reason ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
    margin-inline: 3.75rem;
  }
}

@media screen and (min-width: 821px) {
  .p-reason li:nth-child(3) .box p {
    height: 10.2em;
  }
}

.p-reason .icon {
  font-size: 4rem;
  color: #9A8368;
  line-height: 1;
}

@media screen and (max-width: 820px) {
  .p-reason .icon {
    font-size: 3rem;
  }
}

.p-reason .icon em {
  font-size: 7rem;
}

@media screen and (max-width: 820px) {
  .p-reason .icon em {
    font-size: 5.2rem;
  }
}

.p-reason .sub {
  text-align: center;
  background: #DABA95;
  font-size: 2.8rem;
  font-weight: bold;
  padding-block: .2em;
}

.p-reason .sub.b {
  background: #FEE1BF;
}

.p-reason .ttl2 {
  font-size: 3.6rem;
  letter-spacing: 0;
  text-align: center;
  line-height: 1.3;
  padding-block: .5em;
  background: #FFFAF6;
}

@media screen and (max-width: 820px) {
  .p-reason .ttl2 {
    font-size: 2.8rem;
  }
}

.p-reason .ttl2 em {
  font-size: 4.8rem;
  font-weight: bold;
  color: #977939;
  line-height: inherit;
}

@media screen and (max-width: 820px) {
  .p-reason .ttl2 em {
    font-size: 3.6rem;
  }
}

.p-reason .box {
  background: linear-gradient(112deg, #FEE1C0 10.53%, #C3A178 87.95%);
  position: relative;
  z-index: 0;
  padding: .4rem;
  box-shadow: 0px 7px 10px rgba(136, 91, 0, 0.2);
}

.p-reason .box:before {
  content: '';
  inset: .4rem;
  background: #fff;
  position: absolute;
  z-index: -1;
}

.p-reason .box p {
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0;
  padding: 2rem 5rem;
}

@media screen and (max-width: 820px) {
  .p-reason .box p {
    font-size: 2.2rem;
    padding: 1.6rem;
  }
}

.p-spacer {
  position: relative;
  height: 8.05rem;
}

@media screen and (max-width: 820px) {
  .p-spacer {
    height: 3rem;
  }
}

.p-spacer:before {
  content: '';
  position: absolute;
  background: linear-gradient(90deg, #DBBE92 0%, #F7ECD8 54.33%, #DBBE92 100%);
  height: 4.7rem;
  width: 100%;
  left: 0;
  top: 0;
}

@media screen and (max-width: 820px) {
  .p-spacer:before {
    height: 3rem;
  }
}

.p-specialty .head {
  position: relative;
  z-index: 0;
}

.p-specialty .list {
  position: absolute;
  bottom: 0;
  z-index: 0;
  width: 100%;
  height: 18%;
}

@media screen and (max-width: 820px) {
  .p-specialty .list {
    height: 7.15rem;
  }
}

.p-specialty .list ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.2rem;
  height: 100%;
}

@media screen and (max-width: 820px) {
  .p-specialty .list ul {
    gap: 2.3rem;
  }
}

.p-specialty .list li {
  display: flex;
  align-items: center;
  font-size: 2.4rem;
  gap: .5em;
}

@media screen and (max-width: 820px) {
  .p-specialty .list li {
    font-size: 1.875rem;
  }
}

.p-specialty .list li img {
  width: 8rem;
}

@media screen and (max-width: 820px) {
  .p-specialty .list li img {
    width: 6.2rem;
  }
}

.p-specialty svg {
  position: absolute;
  bottom: -1px;
  z-index: -1;
  width: 100%;
}

.p-specialty .bg {
  position: relative;
}

.p-specialty .bg svg {
  width: 100%;
  position: absolute;
  bottom: 0;
}

.p-specialty .ttl {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  padding-bottom: 8%;
  width: 100%;
  text-align: center;
  font-size: 6rem;
  letter-spacing: 0;
  line-height: 1.2;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl {
    font-size: 3.67rem;
  }
}

.p-specialty .ttl * {
  line-height: inherit;
  letter-spacing: 0;
}

.p-specialty .ttl span {
  display: block;
}

.p-specialty .ttl small {
  font-size: 3.2rem;
  background: linear-gradient(92.65deg, #FFFFFF 16.57%, #F2F2F2 88.93%);
  border: 1px solid #775100;
  border-radius: 3em;
  display: inline-block;
  padding: .2em 3.5em;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl small {
    font-size: 2.4rem;
  }
}

.p-specialty .ttl small.a {
  padding-inline: 2em;
}

.p-specialty .ttl i {
  color: #EB4E71;
}

.p-specialty .ttl i b {
  font-size: 9rem;
  font-weight: inherit;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl i b {
    font-size: 5.5rem;
  }
}

.p-specialty .ttl span:has(em) {
  font-weight: 500;
  margin-top: -.2em;
}

.p-specialty .ttl em {
  background: linear-gradient(283.98deg, #BEA879 0%, #AE8A50 53.31%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: 9rem;
  line-height: 1;
  -webkit-text-stroke-width: 0.5px;
  -webkit-text-stroke-color: #B08E55;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl em {
    font-size: 5.9rem;
  }
}

.p-specialty .ttl em.a {
  font-size: 12rem;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl em.a {
    font-size: 7.9rem;
  }
}

.p-specialty .ttl2 {
  background: #F8F8F8;
  letter-spacing: 0;
  font-size: 3.2rem;
  padding-block: 2.8rem;
  white-space: nowrap;
  line-height: 1.4;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl2 {
    font-size: 2.8rem;
    text-align: center;
    padding-block: 0 2.8rem;
    margin-inline: -3rem;
  }
}

.p-specialty .ttl2 * {
  line-height: inherit;
  letter-spacing: 0;
}

.p-specialty .ttl2 em {
  font-size: 3.6rem;
  color: #D0B0AB;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl2 em {
    letter-spacing: -10%;
  }
}

.p-specialty .ttl2 small {
  font-size: 2.8rem;
  display: block;
  margin-bottom: .8em;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl2 small {
    text-decoration: underline;
    text-underline-offset: .5em;
    text-decoration-thickness: .038rem;
    letter-spacing: -2%;
  }
}

.p-specialty .ttl2 b {
  font-weight: bold;
  letter-spacing: inherit;
}

.p-specialty .ttl2 strong {
  font-size: 3.6rem;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl2 strong {
    letter-spacing: -10%;
  }
}

.p-specialty .ttl2 span {
  display: block;
  font-weight: bold;
}

@media screen and (max-width: 820px) {
  .p-specialty .ttl2 span {
    letter-spacing: -10%;
  }
}

.p-specialty .icon {
  position: absolute;
  z-index: 1;
  color: #fff;
  font-size: 3.6rem;
  width: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
  top: 1rem;
  white-space: nowrap;
}

@media screen and (max-width: 820px) {
  .p-specialty .icon {
    width: 16rem;
    height: 16rem;
    top: -15rem;
  }
  .p-specialty .icon.b {
    letter-spacing: -15%;
  }
}

.p-specialty .icon:before, .p-specialty .icon:after {
  content: '';
  position: absolute;
  width: 20rem;
  height: 20rem;
  transform: rotate(45deg);
}

@media screen and (max-width: 820px) {
  .p-specialty .icon:before, .p-specialty .icon:after {
    width: 15rem;
    height: 15rem;
  }
}

.p-specialty .icon:before {
  background: #D0B0AB;
  z-index: -2;
}

.p-specialty .icon:after {
  border: solid .05rem #7D7D7D;
  z-index: -1;
}

.p-specialty .tx {
  background: url(../img/specialty-bg.webp) no-repeat center top/cover;
  padding-block: 16rem 6rem;
  color: #2E2E2E;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx {
    background-image: url(../img/specialty-bg-sp.webp);
    padding-block: 10.5rem;
  }
}

@media screen and (min-width: 821px) {
  .p-specialty .tx dl {
    width: 60rem;
    margin-left: 7.15rem;
    margin-top: 2.9rem;
  }
}

.p-specialty .tx dt {
  display: inline-block;
  margin-left: 2em;
  position: relative;
  font-size: 2.4rem;
  color: #fff;
  background: #D0B0AB;
  padding-inline: .5em;
  letter-spacing: 0;
  margin-bottom: .3em;
  line-height: 1.4;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx dt {
    font-size: 2.8rem;
    margin-left: 1.5em;
    white-space: nowrap;
  }
}

.p-specialty .tx dt:before {
  content: '';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background: url(../img/ico-dot01.svg) no-repeat 50%/contain;
  width: 1.1875em;
  height: 1.1875em;
  left: -2em;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx dt:before {
    left: -1.5em;
  }
}

.p-specialty .tx dd {
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 5%;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx dd {
    font-size: 2.2rem;
  }
}

.p-specialty .tx dd strong {
  font-weight: bold;
}

.p-specialty .tx dd + dt {
  margin-top: 1em;
}

.p-specialty .tx ul {
  position: relative;
  z-index: 0;
}

.p-specialty .tx li {
  display: flex;
  position: relative;
  background: #fff;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx li {
    flex-direction: column;
    padding: 3.5rem 6.5rem 4rem;
    margin-top: 5rem;
  }
  .p-specialty .tx li:before {
    content: '';
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    height: 26.7rem;
    background: #F8F8F8;
  }
  .p-specialty .tx li:after {
    content: '';
    position: absolute;
    width: 12.2rem;
    height: 10.2rem;
    background: #D0B0AB;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    z-index: -2;
    bottom: -.9rem;
  }
}

.p-specialty .tx li figure {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx li figure {
    margin-bottom: 3.5rem;
  }
  .p-specialty .tx li figure:before {
    content: '';
    inset: .6rem .6rem -.6rem -.6rem;
    position: absolute;
    border: solid .028rem #2E2E2E;
  }
}

.p-specialty .tx li + li {
  margin-top: 17.8rem;
}

.p-specialty .tx li:nth-child(even) .icon {
  right: 1.8rem;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx li:nth-child(even) .icon {
    right: -5.5rem;
    padding-left: 2rem;
  }
}

.p-specialty .tx li:nth-child(even) .icon:before {
  right: 0;
}

.p-specialty .tx li:nth-child(even) .icon:after {
  right: -1rem;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx li:nth-child(even) figure:before {
    content: '';
    inset: .6rem -.6rem -.6rem .6rem;
  }
  .p-specialty .tx li:nth-child(even):after {
    left: -.7rem;
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
  }
}

.p-specialty .tx li:nth-child(odd) .icon {
  left: 1.8rem;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx li:nth-child(odd) .icon {
    left: -5.5rem;
    padding-right: 2rem;
  }
}

.p-specialty .tx li:nth-child(odd) .icon:before {
  left: 0;
}

.p-specialty .tx li:nth-child(odd) .icon:after {
  left: -1rem;
}

@media screen and (max-width: 820px) {
  .p-specialty .tx li:nth-child(odd):after {
    right: -.7rem;
  }
}

.p-specialty .tx li:nth-child(2) dt {
  background: #D0ABD0;
}

.p-specialty .tx li:nth-child(2) dt:before {
  background-image: url(../img/ico-dot02.svg);
}

.p-specialty .tx li:nth-child(2) .ttl2 em {
  color: #D0ABD0;
}

.p-specialty .tx li:nth-child(2) .icon:before {
  background: #D0ABD0;
}

.p-specialty .tx li:nth-child(2):after {
  background: #D0ABD0;
}

.p-specialty .tx li:nth-child(3) dt {
  background: #D0ACB4;
}

.p-specialty .tx li:nth-child(3) dt:before {
  background-image: url(../img/ico-dot03.svg);
}

.p-specialty .tx li:nth-child(3) .ttl2 em {
  color: #D0ACB4;
}

.p-specialty .tx li:nth-child(3) .icon:before {
  background: #D0ACB4;
}

.p-specialty .tx li:nth-child(3):after {
  background: #D0ACB4;
}

.p-specialty .tx li:nth-child(4) dt {
  background: #D0C8AB;
}

.p-specialty .tx li:nth-child(4) dt:before {
  background-image: url(../img/ico-dot04.svg);
}

.p-specialty .tx li:nth-child(4) .ttl2 em {
  color: #BA924D;
}

.p-specialty .tx li:nth-child(4) .icon:before {
  background: #D0C8AB;
}

.p-specialty .tx li:nth-child(4):after {
  background: #D0C8AB;
}

@media screen and (min-width: 821px) {
  .p-specialty .tx figure {
    width: 49.8rem;
    height: 47.5rem;
  }
  .p-specialty .tx figure img {
    max-width: 52.45rem;
    width: 52.45rem;
    height: 50rem;
    position: relative;
  }
  .p-specialty .tx .desc {
    width: calc(100% - 47.5rem);
  }
  .p-specialty .tx .ttl2 {
    position: relative;
    z-index: 0;
    height: 21.7rem;
  }
  .p-specialty .tx .ttl2:before {
    content: '';
    position: absolute;
    z-index: -1;
    background: #2E2E2E;
    height: .05rem;
    width: 100%;
    top: 7.8rem;
  }
  .p-specialty .tx li {
    height: 47.5rem;
  }
  .p-specialty .tx li:nth-child(n + 3) dt {
    margin-bottom: .2em;
  }
  .p-specialty .tx li:nth-child(n + 3) dd + dt {
    margin-top: .5em;
  }
  .p-specialty .tx li:nth-child(even) {
    flex-direction: row-reverse;
  }
  .p-specialty .tx li:nth-child(even) figure img {
    right: 3.2rem;
  }
  .p-specialty .tx li:nth-child(even) .ttl2 {
    padding-right: 27.5rem;
  }
  .p-specialty .tx li:nth-child(even) .ttl2:before {
    right: 27.5rem;
  }
  .p-specialty .tx li:nth-child(odd) figure img {
    left: -.6rem;
  }
  .p-specialty .tx li:nth-child(odd) .ttl2 {
    padding-left: 29rem;
  }
  .p-specialty .tx li:nth-child(odd) .ttl2:before {
    left: 29rem;
  }
  .p-specialty .tx li:nth-child(1) .ttl2 small {
    padding-inline: 1rem;
  }
  .p-specialty .tx li:nth-child(1) .ttl2 span {
    margin-left: 3.5em;
    text-indent: -3.5em;
  }
  .p-specialty .tx li:nth-child(2) .ttl2 {
    text-align: right;
    padding-right: 25.8rem;
  }
  .p-specialty .tx li:nth-child(2) .ttl2 small {
    padding-right: 2em;
  }
  .p-specialty .tx li:nth-child(3) .ttl2 {
    padding-left: 23.7rem;
  }
  .p-specialty .tx li:nth-child(3) .ttl2 small {
    padding-left: 1em;
    letter-spacing: -10%;
  }
  .p-specialty .tx li:nth-child(3) .ttl2 span {
    margin-left: 7em;
    text-indent: -7em;
  }
  .p-specialty .tx li:nth-child(4) .ttl2 {
    text-align: right;
    padding-right: 23.5rem;
  }
  .p-specialty .tx li:nth-child(4) .ttl2 small {
    padding-right: 1.5em;
  }
  .p-specialty .tx li:nth-child(4) .ttl2 span em {
    letter-spacing: -15%;
  }
}

@media screen and (min-width: 821px) {
  .p-specialty .u_inner {
    width: 124.5rem;
  }
}

.p-doctor {
  position: relative;
  overflow: hidden;
  padding-block: 5.45rem 5.45rem;
}

@media screen and (max-width: 820px) {
  .p-doctor {
    padding-block: 7.9rem 5.45rem;
  }
}

.p-doctor .bg1 {
  position: absolute;
  width: 58.1rem;
  top: -10.9rem;
  right: calc(50% + 32.4rem);
}

@media screen and (max-width: 820px) {
  .p-doctor .bg1 {
    right: 9.5rem;
    top: 5.4rem;
    width: 28.4rem;
  }
}

.p-doctor .bg2 {
  position: absolute;
  width: 36.7rem;
  left: calc(50% + 52.4rem);
  bottom: -5.5rem;
}

@media screen and (max-width: 820px) {
  .p-doctor .bg2 {
    left: auto;
    width: 17.7rem;
    bottom: auto;
    top: 24rem;
    right: -5.4rem;
  }
}

@media screen and (min-width: 821px) {
  .p-doctor .u_inner {
    width: 120.8rem;
    position: relative;
  }
  .p-doctor .box {
    width: 62.3rem;
    margin-left: auto;
    margin-right: 3.8rem;
    padding-top: 3.5rem;
  }
}

.p-doctor .img {
  position: relative;
}

@media screen and (min-width: 821px) {
  .p-doctor .img {
    position: absolute;
    width: 37.6rem;
    left: 13.5rem;
  }
}

@media screen and (max-width: 820px) {
  .p-doctor .img {
    width: 35.8rem;
    margin-left: 10.5rem;
  }
}

.p-doctor .ttl {
  font-size: 10rem;
  color: #A6A297;
  writing-mode: vertical-rl;
  white-space: nowrap;
  position: absolute;
  letter-spacing: 0;
  left: -17rem;
}

@media screen and (max-width: 820px) {
  .p-doctor .ttl {
    font-size: 8rem;
    left: -12.5rem;
  }
}

.p-doctor .ttl2 {
  border-bottom: solid .05rem #000;
  margin-bottom: 2.35rem;
  font-size: 3.6rem;
  font-weight: 600;
  letter-spacing: 10%;
  color: #9A8368;
  line-height: 1.4;
  padding-bottom: .1em;
  white-space: nowrap;
}

@media screen and (max-width: 820px) {
  .p-doctor .ttl2 {
    padding-bottom: .4em;
  }
}

.p-doctor .ttl2 * {
  line-height: inherit;
}

.p-doctor .ttl2 em {
  color: #fff;
  background: #9A8368;
  border-radius: .25rem;
  padding-inline: .2em;
}

.p-doctor .ttl2 em.b {
  background: #D0ACB4;
}

.p-doctor .ttl2 span {
  display: block;
  padding-left: 3em;
}

.p-doctor .box p {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 5%;
  color: #000;
}

@media screen and (max-width: 820px) {
  .p-doctor .box p {
    font-size: 2.2rem;
  }
}

.p-doctor .name {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  margin-bottom: 1.6rem;
}

@media screen and (max-width: 820px) {
  .p-doctor .name {
    font-size: 2.8rem;
    margin-bottom: 2.1rem;
  }
}

.p-doctor .name small {
  font-size: 1.6rem;
  margin-inline: .5em;
}

@media screen and (max-width: 820px) {
  .p-doctor .name small {
    font-size: 2.2rem;
  }
}

.p-doctor .name * {
  line-height: inherit;
  letter-spacing: inherit;
}

.p-doctor .name i {
  color: #ABA089;
  font-size: 1rem;
  letter-spacing: 10%;
  margin-left: 1.3em;
}

@media screen and (max-width: 820px) {
  .p-doctor .name i {
    font-size: 2rem;
  }
}

.p-doctor .ttl3 {
  font-size: 1.6rem;
  color: #4F4F4F;
  letter-spacing: 0;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 820px) {
  .p-doctor .ttl3 {
    font-size: 2.2rem;
  }
}

.p-doctor .ttl3:before {
  content: '';
  position: absolute;
  background: #DED2BA;
  height: .1rem;
  width: 100%;
  z-index: -1;
  left: 0;
  top: 50%;
}

.p-doctor .ttl3 span {
  background: #DED2BA;
  border-radius: 3em;
  padding: .3em 1.5em .2em;
}

.p-doctor .profile {
  position: relative;
  background: linear-gradient(to right, #BEA879, #AE8A50);
  z-index: 0;
  border-radius: 0 0 15rem 0;
}

.p-doctor .profile:before {
  content: '';
  position: absolute;
  inset: 1px;
  background: linear-gradient(90deg, #FFFFFF 0%, #F9F6F2 100%);
  z-index: -1;
  border-radius: 0 0 15rem 0;
}

@media screen and (min-width: 821px) {
  .p-doctor .profile {
    width: 103.7rem;
    height: 20.9rem;
    margin-left: auto;
    margin-top: 2.4rem;
    position: relative;
    z-index: 1;
    display: flex;
    overflow: hidden;
  }
  .p-doctor .profile figure {
    width: 48.7rem;
  }
  .p-doctor .profile .desc {
    width: calc(100% - 48.7rem);
  }
}

.p-doctor .profile .desc {
  padding-top: 2.55rem;
  padding-left: 6.9rem;
}

@media screen and (max-width: 820px) {
  .p-doctor .profile .desc {
    padding-inline: 3rem;
    margin-bottom: 2.5rem;
  }
}

.p-doctor .profile li {
  font-size: 1.2rem;
  line-height: 2;
}

@media screen and (max-width: 820px) {
  .p-doctor .profile li {
    font-size: 2.2rem;
    line-height: 1.3;
  }
}

.p-doctor .profile figure {
  padding: 1px;
}

.p-doctor .profile figure img {
  border-radius: 0 0 15rem 0;
}

.p-doctor .row {
  display: flex;
  margin-top: 1rem;
}

@media screen and (min-width: 821px) {
  .p-doctor .row {
    gap: 7rem;
  }
}

@media screen and (max-width: 820px) {
  .p-doctor .row {
    justify-content: space-between;
  }
}

@media screen and (max-width: 820px) {
  .p-doctor .u_inner {
    display: flex;
    flex-direction: column;
  }
  .p-doctor .profile {
    order: 2;
    margin-block: 2rem 5rem;
    margin-inline: 1.95rem;
  }
  .p-doctor .box {
    order: 3;
    margin-inline: 2.95rem;
  }
}

.p-pediatric {
  padding-bottom: 6rem;
}

.p-pediatric .head {
  position: relative;
  padding-top: 4.5rem;
  margin-bottom: 7rem;
}

@media screen and (max-width: 820px) {
  .p-pediatric .head {
    padding-top: 9.7rem;
  }
}

.p-pediatric .ttl {
  text-align: center;
  font-size: 4.8rem;
  letter-spacing: 0;
}

@media screen and (max-width: 820px) {
  .p-pediatric .ttl {
    font-size: 3.6rem;
  }
}

.p-pediatric .ttl em {
  color: #F29993;
  font-size: 6rem;
  font-weight: 600;
}

@media screen and (max-width: 820px) {
  .p-pediatric .ttl em {
    font-size: 4.8rem;
  }
}

.p-pediatric .bg1 {
  position: absolute;
  width: 31.95rem;
  left: calc(50% - 72rem);
  top: 1.5rem;
}

@media screen and (max-width: 820px) {
  .p-pediatric .bg1 {
    left: 0;
    width: 21.1rem;
    top: 0;
  }
}

.p-pediatric .icon {
  position: absolute;
  width: 29.35rem;
  top: 1.75rem;
  right: calc(50% - 68.6rem);
}

@media screen and (max-width: 820px) {
  .p-pediatric .icon {
    right: 2rem;
    width: 14.45rem;
    top: 2rem;
  }
}

.p-pediatric .box {
  display: flex;
  border-radius: 1rem;
  border: .05rem solid #41220F;
  background: #FBF9F3;
  margin-top: 4.4rem;
  position: relative;
  justify-content: space-between;
}

.p-pediatric .box:nth-child(1) {
  z-index: 2;
}

@media screen and (max-width: 820px) {
  .p-pediatric .box {
    flex-direction: column;
    padding: 5.8rem 6rem 4.5rem;
    gap: 4rem;
    margin-top: 3.1rem;
  }
}

@media screen and (min-width: 821px) {
  .p-pediatric .box {
    padding: 5.8rem 3.15rem;
  }
  .p-pediatric .box > figure {
    width: 55.35rem;
  }
  .p-pediatric .box.a {
    flex-direction: row-reverse;
  }
  .p-pediatric .box.a .desc {
    width: 62.3rem;
  }
  .p-pediatric .box.b .desc {
    width: 67.2rem;
  }
  .p-pediatric .box.b .txt {
    font-size: 1.5rem;
  }
}

.p-pediatric .bg2 {
  position: absolute;
  width: 26.8rem;
  top: -4.5rem;
  right: -7rem;
}

@media screen and (max-width: 820px) {
  .p-pediatric .bg2 {
    top: -7rem;
    width: 21.7rem;
    right: -3.75rem;
  }
}

.p-pediatric .ttl2 {
  font-size: 4.1rem;
  letter-spacing: 0;
  margin-bottom: .9em;
  padding-bottom: .25em;
  text-align: center;
  border-bottom: solid .075rem #2E2E2E;
}

@media screen and (max-width: 820px) {
  .p-pediatric .ttl2 {
    font-size: 3.2rem;
    padding-bottom: .4em;
  }
}

.p-pediatric .txt {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 5%;
}

@media screen and (max-width: 820px) {
  .p-pediatric .txt {
    font-size: 2.2rem;
  }
  .p-pediatric .txt br {
    display: none;
  }
  .p-pediatric .txt.b {
    margin-right: 16rem;
  }
}

.p-pediatric ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.2rem;
  margin-top: 3.9rem;
}

@media screen and (max-width: 820px) {
  .p-pediatric ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.45rem;
    margin: 3rem 1.5rem 0;
  }
}

.p-pediatric li {
  background: #fff;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 5%;
  padding-block: 2.7rem 1.5rem;
}

@media screen and (max-width: 820px) {
  .p-pediatric li {
    font-size: 2rem;
  }
}

.p-pediatric li strong {
  font-weight: bold;
}

.p-pediatric li figure {
  font-size: 1rem;
  text-align: center;
  margin: 0 auto 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5em;
}

@media screen and (max-width: 820px) {
  .p-pediatric li figure {
    font-size: 1.82rem;
  }
}

.p-pediatric li img {
  width: 5em;
}

.p-pediatric li img.b {
  width: 3.4em;
}

.p-pediatric li img.a {
  width: 3.4em;
}

.p-pediatric .msg {
  position: absolute;
  width: 14.5rem;
  height: 14.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  right: 4.75rem;
  bottom: 5.8rem;
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 5%;
}

@media screen and (max-width: 820px) {
  .p-pediatric .msg {
    right: 4rem;
    bottom: 13rem;
  }
}

.p-pediatric .msg img {
  position: absolute;
  width: 4.4rem;
  right: -2rem;
  bottom: 0;
}

.p-pediatric .link {
  max-width: 49.1rem;
  margin-top: 2.5rem;
}

@media screen and (max-width: 820px) {
  .p-pediatric .link {
    width: 38rem;
    margin: 3rem auto 0;
  }
}

.p-pediatric .link a {
  border-radius: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F29993 url(../img/arw-r01.svg) no-repeat calc(100% - 1em) center/1.95rem;
  box-shadow: 0 2px 5px 0 rgba(127, 102, 83, 0.2);
  height: 5.6rem;
  font-size: 2rem;
  font-weight: 500;
  color: #fff;
}

@media screen and (min-width: 821px) {
  .p-pediatric .u_inner {
    width: 130rem;
  }
  .p-pediatric .top {
    width: 59.8rem;
    margin: 0 auto;
  }
}

.p-space {
  position: relative;
  background: #FBF9F3;
  padding-block: 3rem 5.65rem;
  overflow: hidden;
  z-index: 0;
}

@media screen and (min-width: 821px) {
  .p-space .u_inner {
    width: 129.4rem;
  }
}

.p-space .ttl {
  font-size: 2.4rem;
  letter-spacing: 0;
  display: flex;
  line-height: 1;
  align-items: center;
  gap: .6em;
  position: relative;
  margin-bottom: 3rem;
  color: #000;
}

@media screen and (max-width: 820px) {
  .p-space .ttl {
    font-size: 2.2rem;
    margin-left: 3.5rem;
    margin-bottom: 5.5rem;
  }
}

.p-space .ttl:before {
  content: '';
  position: absolute;
  width: 50vw;
  right: calc(50% + 12.6rem);
  height: .05rem;
  bottom: 0;
  background: #000;
}

.p-space .ttl i {
  font-size: 9rem;
  line-height: inherit;
  letter-spacing: inherit;
}

@media screen and (max-width: 820px) {
  .p-space .ttl i {
    font-size: 6rem;
  }
}

.p-space .bg1 {
  position: absolute;
  width: 44.9rem;
  right: calc(50% - 74.4rem);
  top: 0;
  z-index: -1;
}

.p-space .bg2 {
  position: absolute;
  left: calc(50% - 80.3rem);
  z-index: -1;
  width: 44.9rem;
  bottom: -2.7rem;
}

.p-space .bg3 {
  position: absolute;
  right: 0;
  z-index: -1;
  width: 14.9rem;
  bottom: 0;
}

.p-space figure {
  max-width: 89.6rem;
  margin: 0 auto 7.5rem;
  box-shadow: 0px 8px 15px rgba(91, 45, 0, 0.2);
}

@media screen and (max-width: 820px) {
  .p-space figure {
    width: 55rem;
    margin: 0 auto 4.5rem;
  }
}

.p-space ul {
  display: flex;
  gap: 7.5rem;
}

@media screen and (max-width: 820px) {
  .p-space ul {
    gap: 1.5rem;
  }
}

.p-space li {
  box-shadow: 0px 8px 15px rgba(91, 45, 0, 0.2);
}

.p-menu {
  background: #FBF8F3;
  padding-block: 4rem 6rem;
}

.p-menu .ttl {
  letter-spacing: 0;
  line-height: 1.4;
  font-size: 2.4rem;
  color: #000;
  border-bottom: solid .05rem #000;
  margin-bottom: 6.15rem;
  padding-bottom: .7em;
}

@media screen and (max-width: 820px) {
  .p-menu .ttl {
    font-size: 2.2rem;
    display: inline-block;
    margin-left: 4.5rem;
    margin-bottom: 5rem;
  }
}

.p-menu .ttl i {
  display: block;
  letter-spacing: inherit;
  font-size: 9rem;
  line-height: 1;
}

@media screen and (max-width: 820px) {
  .p-menu .ttl i {
    font-size: 6rem;
  }
}

.p-menu ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem 3.9rem;
}

@media screen and (max-width: 820px) {
  .p-menu ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
}

.p-menu li {
  border: 1px solid #ADADAD;
  background: #fff;
  position: relative;
}

.p-menu li:before {
  content: '';
  position: absolute;
  background: #ADADAD;
  width: 3.75rem;
  height: 7rem;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 820px) {
  .p-menu li:before {
    width: 3rem;
    height: 5.4rem;
  }
}

.p-menu li a {
  display: block;
  padding-block: 3.9rem 2rem;
  text-align: center;
  height: 100%;
  color: #000;
}

@media screen and (max-width: 820px) {
  .p-menu li a {
    padding-block: 2rem .5rem;
  }
}

.p-menu li img {
  width: 17.2em;
}

@media screen and (max-width: 820px) {
  .p-menu li img {
    font-size: .77rem;
  }
}

.p-menu li .surgery {
  width: 13em;
}

.p-menu li .cosmetic {
  width: 13.3em;
}

.p-menu li figure {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 14.4rem;
  font-size: 1rem;
}

@media screen and (max-width: 820px) {
  .p-menu li figure {
    height: 11.2rem;
  }
}

.p-menu li p {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3em;
  text-align: center;
  line-height: 1.45;
  font-size: 3rem;
}

@media screen and (max-width: 820px) {
  .p-menu li p {
    font-size: 2.1rem;
  }
}

@media screen and (min-width: 821px) {
  .p-menu .u_inner {
    width: 116.7rem;
  }
}

/*# sourceMappingURL=add.css.map */

/* news */

@media screen and (min-width: 821px) {
	.f_news {
		flex-wrap: wrap;
	}
}

.f_news_btn {
	width: 100%;
	margin-top: 40px;
	text-align: center;
}
.f_news_btn a {
	border: 1px solid #333;
	display: inline-block;
	padding: 10px 45px;
	border-radius: 40px;
}
.f_news_btn a:hover {
	background: #c68c4c;
	color: #fff;
	border-color: #c68c4c;
}

.pagination {
	margin-top: 60px;
	text-align: center;
}
.pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
.pagination .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border: 1px solid #ddd;
	font-size: 16px;
}
.pagination .page-numbers.current {
	color: #fff;
	background: #42220f;
	border-color: #42220f;
}
.pagination a {
	text-decoration: none;
}
.pagination .prev,
.pagination .next {
	padding: 0 10px;
}

@media screen and (max-width: 820px) {

	.news_list a {
		padding: 1em 0;	
		font-size: 3.25vw;
	}
	.news_list time {
		width: 27vw;
	}
	.news_list span {
    	width: calc(100% - 27vw);
  	}
	
	.f_nav {
		gap: 1.2em 0!important;
	}
	.f_news_btn {
		margin: 6vw 0 4vw;
	}
	.f_news_btn a {
		padding: 2vw 15vw;
		font-size: 3.5vw;
	}
	.diary-blog {
		margin-top: 7.5vw!important;
	}
	
	.pagination .nav-links {
		gap: 2vw;
	}
	.pagination .page-numbers {
		min-width: 8vw;
		height: 8vw;
		padding: 0 2vw;
		font-size: 3.25vw;
	}
	.pagination .prev,
	.pagination .next {
		padding: 0 2vw;
	}	
	
}

