@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@900&display=swap');
@font-face {
  font-family: "KazJun";
  src: url("../fonts/a-otf-jun101pro-light.woff2") format("woff2"),
       url("../fonts/a-otf-jun101pro-light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KazJun";
  src: url("../fonts/a-otf-jun201pro-regular.woff2") format("woff2"),
       url("../fonts/a-otf-jun201pro-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KazJun";
  src: url("../fonts/a-otf-jun34pro-medium.woff2") format("woff2"),
       url("../fonts/a-otf-jun34pro-medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KazJun";
  src: url("../fonts/a-otf-jun501pro-bold.woff2") format("woff2"),
       url("../fonts/a-otf-jun501pro-bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KazKeage";
  src: url("../fonts/DSkeage5.woff2") format("woff2"),
       url("../fonts/DSkeage5.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KazYuGothic";
  src: url("../fonts/YuGothM.woff2") format("woff2"),
       url("../fonts/YuGothM.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.zen-kaku-gothic-m{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

:root {
  --brown: #604b3c;
  --copyBrown: #ab7d4e;
  --orange: #f08634;
  --cream: #f7f3ed;
  --jun: "KazJun", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  --gothic: "KazJun", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  --keage: "KazKeage", "Yu Mincho", "YuMincho", serif;
}

* {
  box-sizing: border-box;
}

html {
  font-size: calc(100vw / 1920 * 10);
}

body {
  margin: 0;
  color: var(--brown);
  background: var(--cream);
  font-family: var(--gothic);
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: inherit;
  text-decoration: none;
    transition: all .3s ease-in-out;
}
a:hover{
    opacity: 0.8;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

p,
h1 {
  margin: 0;
}

.siteWrap {
  min-width: 0;
  overflow: hidden;
}

.siteHeader,
.hero,
.problem,
.feature,
.medical,
.doctor,
.clinic,
.appointment,
.siteFooter,
.floatingBanner {
  display: none;
}

.menuButton {
  display: none;
}

.spOnly {
  display: none;
}

.spBreak,
.spInline {
  display: none;
}

.problemCatch .spInline {
  display: none;
}

.problemCatch .problemCatchFirst,
.problemCatch .problemCatchSecond {
  margin: 0;
  font-weight: inherit;
}

.heroFeatureList {
  display: contents;
}

.pcOnly {
  display: inline;
}

.navTop {
  display: none;
}

@media screen and (min-width: 769px) {
  .siteHeader {
    position: absolute;
    z-index: 10;
    top: 1.9rem;
    right: 6.6rem;
    display: flex;
    align-items: flex-start;
    column-gap: 4.8rem;
    font-family: var(--jun);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
  }

  .globalNav ul {
    display: flex;
    align-items: flex-start;
    column-gap: 5.4rem;
  }

  .globalNav a {
    display: block;
    color: #666666;
    font-weight: 400;
  }

  .globalNav a::after {
    display: block;
    width: 100%;
    height: .59rem;
    margin-top: 1.2rem;
    background: url("../img/dotline_menu.png") left / auto 100% no-repeat;
    content: "";
  }

  .headerActions {
    display: flex;
    align-items: center;
    column-gap: 3.2rem;
    font-size: 2.2rem;
    font-weight: 500;
    color: #604735;
  }

  .headerBooking,
  .headerTel {
    display: inline-flex;
    align-items: center;
    column-gap: .9rem;
  }

  .headerBooking img {
    width: 2.4rem;
  }

  .headerTel img {
    width: 2.2rem;
  }

  .hero {
    display: flex;
    align-items: flex-start;
    column-gap: 4.5rem;
    width: 192rem;
    max-width: 100%;
    margin: 0 auto;
    padding: 2.2rem 3.7rem 9.4rem 4.4rem;
  }

  .heroSide {
    flex: 0 0 44.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .heroLogo {
    width: 30.6rem;
    margin: 0 0 4.2rem;
  }

  .heroCopy {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1.4rem;
    color: var(--copyBrown);
    font-family: var(--keage);
    font-size: 5rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
  }

  .heroCopySmall {
    font-size: 4.2rem;
  }
  .heroCopySmall.ni{
    margin-left: -1.5rem;
  }

  .heroLine {
    display: block;
    width: 44.2rem;
    height: .9rem;
    margin-top: 2.8rem;
    background: url("../img/dotline.png") left / auto 100% no-repeat;
  }

  .heroLead {
    margin-top: 2.6rem;
    color: #604735;
    font-family: var(--jun);
    font-size: 2.2rem;
    font-weight: 400;
    line-height: 1.86;
    letter-spacing: 0;
    text-align: center;
  }

  .previewEvent {
    position: relative;
    width: 42.2rem;
    height: 10.7rem;
    margin-top: 11.2rem;
    padding: .3rem 2.6rem .2rem;
    border-radius: 5.35rem;
    background: var(--orange);
    color: #fff;
    font-family: var(--jun);
    font-weight: 500;
    text-align: center;
  }

  .previewFlag {
    position: absolute;
    top: -8.8rem;
    left: 50%;
    width: 31rem;
    transform: translateX(-50%);
  }

  .previewDate {
    line-height: 1;
    padding-left: 0.2rem;
  }

  .previewDate span {
    font-size: 6.2rem;
    /* font-weight: 700; */
  }

  .previewDate .previewDateUnit {
    display: inline-block;
    font-size: 4.1rem;
  }

  .previewDate b {
    font-size: 3.0rem;
    font-weight: 700;
    margin-left: -1rem;
  }

  .previewTime {
    margin-top: .5rem;
    font-size: 2.6rem;
    line-height: 1;
  }

  .previewNote {
    margin-top: .9rem;
    color: var(--orange);
    font-family: var(--jun);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
  }

  .heroMain {
    position: relative;
    flex: 0 0 134.8rem;
    margin-top: 4.6rem;
    overflow: hidden;
    border-radius: 2.7rem;
  }

  .heroPhoto {
    width: 134.8rem;
    border-radius: 2.7rem;
  }

  .accessLabel {
    position: absolute;
    left: 2.4rem;
    display: flex;
    align-items: center;
    width: 45.4rem;
    height: 5.7rem;
    border-radius: 2.9rem;
    background: rgba(250, 248, 244, .94);
    color: #555555;
    font-family: var(--jun);
    font-size: 2.3rem;
    font-weight: 400;
    /* line-height: 1; */
  }

  .accessLabel img {
    flex: 0 0 5.7rem;
    width: 5.7rem;
    margin-right: 1.4rem;
  }

  .accessLabelClinic {
    top: 3.6rem;
  }

  .accessLabelBus {
    top: 11.9rem;
  }

  .openingInfo {
    position: absolute;
    left: 7.2rem;
    bottom: 6.8rem;
    width: 50rem;
    color: #fff;
    font-family: var(--keage);
    font-weight: 400;
    line-height: 1;
    text-align: center;
  }

  .openingInfo picture,
  .openingInfo img {
    display: block;
  }

  .openingInfo img {
    width: 44.2rem;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

  .openingDate {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    column-gap: 1.1rem;
    color: #f58220;
    text-shadow: 0 0 .35rem #fff, 0 0 .8rem #fff, 0 0 1.35rem #fff, 0 0 1.9rem rgba(255, 255, 255, .96), .18rem .22rem .2rem rgba(119, 74, 43, .62);
  }

  .openingDate span {
    font-size: 7rem;
      font-family: "Zen Old Mincho", serif;
      font-weight: 900;
      font-style: normal;

  }

  .openingDate b {
    display: grid;
    place-items: center;
    width: 3.8rem;
    height: 3.8rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: var(--orange);
    color: #fff;
    font-size: 2.5rem;
    font-weight: 400;
    text-shadow: none;
  }

  .openingDate em {
    margin-bottom: 1.1rem;
    border-top: .2rem solid rgba(245, 130, 32, .82);
    border-bottom: .2rem solid rgba(245, 130, 32, .82);
    font-size: 3.7rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.18;
  }

  .openingName {
    margin-top: .6rem;
  }

  .openingName img {
    width: 40.3rem;
    filter: drop-shadow(0 0 .35rem #fff)
            drop-shadow(0 0 .8rem #fff)
            drop-shadow(0 0 1.25rem #fff)
            drop-shadow(.2rem .24rem .2rem rgba(83, 59, 41, .78));
  }

  .openingStart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44.4rem;
    height: 8.8rem;
    margin: 1.7rem auto 0;
    background: rgba(248, 130, 37, .92);
    color: #ffffff;
    font-size: 4.4rem;
    font-weight: 400;
    text-shadow: none;
  }

  .heroFeature {
    position: absolute;
    width: 21.9rem;
    height: 22.2rem;
    color: #fff;
    font-family: var(--jun);
    font-weight: 400;
    text-align: center;
  }

  .heroFeature img {
    width: 21.9rem;
  }

  .heroFeature p {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.7rem;
    line-height: 1.42;
  }

  .heroFeatureDot {
    display: inline-block;
    margin: 0 -.2em;
  }

  .heroFeatureBlue {
    right: 15.4rem;
    bottom: 22rem;
  }

  .heroFeatureGreen {
    right: 27.3rem;
    bottom: 1.5rem;
  }

  .heroFeatureGreen p,
  .heroFeatureOrange p {
    font-size: 2.7rem;
  }

  .heroFeatureOrange {
    right: 2rem;
    bottom: 2.3rem;
  }

  .heroFeatureOrange p {
    line-height: 1.5;
  }

  .problem {
    display: block;
    width: 192rem;
    max-width: 100%;
    min-height: 119.3rem;
    margin: 0 auto;
    padding-top: 0;
    background: #f7f3ed;
    color: #555555;
    font-family: var(--jun);
  }

  .problemHeader {
    text-align: center;
  }

  .problemEn {
    color: #d1b586;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .04em;
  }

  .problemSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 1.5rem auto;
    background: url("../img/title_line_brown.png") center / auto no-repeat;
  }

  .problemTitle {
    margin-top: 1rem;
    color: #757575;
    font-size: 3.7rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .18em;
  }
  .no-space{
    margin-left: -2rem;
  }

  .problemBody {
    width: 192rem;
    margin-top: 3.5rem;
    background: url("../img/problem_bg.png") repeat;
    padding: 3rem 0 7.5rem;
  }

  .problemStage {
    display: flex;
    align-items: flex-start;
    width: 192rem;
    /* height: 61.2rem; */
    padding: 2.5rem 0 0 22.4rem;
  }

  .problemImage {
    flex: 0 0 54.8rem;
    width: 54.8rem;
    height: auto;
    margin-top: 3.1rem;
  }

  .problemList {
    display: flex;
    flex: 0 0 91.4rem;
    flex-direction: column;
    row-gap: 1.7rem;
    width: 91.4rem;
    margin-left: 2.2rem;
  }

  .problemItem {
    display: flex;
    align-items: center;
    width: 91.4rem;
    height: 7.7rem;
    padding: 0 3rem 0 2.6rem;
    border-radius: 3.9rem;
    background: rgba(250, 247, 242, .97);
    box-shadow: .65rem .55rem 0 #a77946;
    color: #545454;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .02em;
  }

  .problemItem img {
    flex: 0 0 4rem;
    width: 4rem;
    margin-right: 1rem;
    margin-top: 1rem;
  }

  .problemBottom {
    margin-top: 4.5rem;
    text-align: center;
  }

  .problemCatch {
    color: #ab7d4e;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .04em;
  }

  .problemCatch span {
    display: inline-block;
    margin: 0 1.4rem;
    font-weight: 400;
  }

  .problemMessage {
    margin-top: 5rem;
    color: #555555;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: .03em;
  }

  .problemMessage span {
    color: #61b85d;
  }

  .problemMessage .problemMessageRole {
    color: #8bc34a;
  }

  .problemLine {
    width: 62.2rem;
    margin-top: 2.5rem;
  }

  .feature {
    position: relative;
    display: block;
    width: 192rem;
    padding: 6.7rem 0 11.5rem;
    background: #f7f3ed;
    font-family: var(--jun);
  }

  .featureHeader {
    text-align: center;
  }

  .featureEn {
    margin: 0;
    color: #d1b586;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .03em;
  }

  .featureSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 1.8rem auto;
    background: url("../img/title_line_brown.png") center / auto no-repeat;
  }

  .featureTitle {
    margin: 1rem 0 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .16em;
  }

  .featureBody {
    position: relative;
    width: 192rem;
    margin-top: 1rem;
  }

  .featureBgLeft,
  .featureBgRight {
    position: absolute;
    z-index: 0;
    pointer-events: none;
  }

  .featureBgLeft {
    top: .2rem;
    left: 0;
    width: 18.1rem;
  }

  .featureBgRight {
    top: 84.6rem;
    right: 0;
    width: 43.1rem;
  }

  .featureGrid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, 71rem);
    column-gap: 6.4rem;
    row-gap: 3.2rem;
    width: 148.4rem;
    margin: 0 auto;
  }

  .featureCard {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-top: 11.4rem;
  }

  .featureNumber {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    width: 18.2rem;
    height: 17.7rem;
    color: #ffffff;
    font-family: var(--jun);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    transform: translateX(-50%);
  }

  .featureNumber img {
    display: block;
    width: 18.2rem;
  }

  .featureNumberDigit,
  .featureNumberLabel {
    position: absolute;
    left: 50%;
    display: block;
    transform: translateX(-50%);
  }

  .featureNumberDigit {
    top: 4.1rem;
    font-size: 5.9rem;
    letter-spacing: .03em;
  }

  .featureNumberLabel {
    top: 10.7rem;
    font-size: 1.9rem;
    letter-spacing: .03em;
    font-weight: 400;
  }

  .featureCardInner {
    flex: 1;
    min-height: 61.2rem;
    padding: 8.52rem 5.6rem 4.1rem;
    overflow: hidden;
    background: #ffffff;
    border-left: 1.4rem solid var(--feature-accent);
    border-radius: 2.2rem;
  }

  .featureCard01 {
    --feature-accent: #8fcf81;
  }

  .featureCard02 {
    --feature-accent: #f6a735;
  }

  .featureCard03 {
    --feature-accent: #dfb866;
  }

  .featureCard04 {
    --feature-accent: #73d0d2;
  }

  .featureCard05 {
    --feature-accent: #fb8d59;
  }

  .featureCard06 {
    --feature-accent: #84b46d;
  }

  .featureCardTitle {
    margin: 0;
    color: #555555;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
    letter-spacing: .08em;
  }

  .featureDots {
    display: block;
    width: 100%;
    height: 0.9rem;
    margin: 2rem auto 0;
    background: url("../img/dotline.png") left / auto 100% no-repeat;
  }

  .featureIcon {
    display: block;
    height: auto;
    margin: 3.5rem auto 0;
  }

  .featureIcon01 {
    width: 27.2rem;
  }

  .featureIcon02 {
    width: 34rem;
  }

  .featureIcon03 {
    width: 27.6rem;
  }

  .featureIcon04 {
    width: 32.2rem;
  }

  .featureIcon05 {
    width: 25.4rem;
  }

  .featureIcon06 {
    width: 24.3rem;
  }

  .featureText {
    margin-top: 3.2rem;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2.05;
    letter-spacing: .05em;
  }

  .featureText p {
    margin: 0;
  }

  .featureText p + p {
    margin-top: 3.2rem;
  }

  .medical {
    display: block;
    width: 192rem;
    min-height: 133.2rem;
    padding: 7rem 0 0;
    background: #f7f3ed;
    font-family: var(--jun);
  }

  .medicalHeader {
    text-align: center;
  }

  .medicalEn {
    margin: 0;
    color: #d1b586;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .03em;
  }

  .medicalSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 1.8rem auto 0;
    background: url("../img/title_line_brown.png") center / auto no-repeat;
  }

  .medicalTitle {
    margin: 1rem 0 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .16em;
  }

  .medicalBody {
    width: 192rem;
    min-height: 108.5rem;
    margin-top: 1.5rem;
    padding-top: 8.5rem;
    background-image: url("../img/medical_bg.png"), url("../img/medical_bg_main.png");
    background-position: center 5.8rem, center top;
    background-size: 192rem auto, 192rem auto;
    background-repeat: no-repeat, no-repeat;
  }

  .medicalGrid {
    display: grid;
    grid-template-columns: repeat(2, 54.7rem);
    column-gap: 4.3rem;
    row-gap: 3.5rem;
    width: 113.7rem;
    margin-left: 39.3rem;
  }

  .medicalCard {
    min-height: 25.6rem;
    padding: 3rem 3.4rem 2.8rem;
    background: #faf7f2;
    border-radius: 4rem;
  }

  .medicalCardTitle {
    margin: 0;
    padding-bottom: 1.7rem;
    border-bottom: .1rem solid #ab7d4e;
    color: #ab7d4e;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
    letter-spacing: .08em;
  }

  .medicalText {
    margin: 2.4rem 0 0;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2.05;
    letter-spacing: .05em;
  }

  .doctor {
    display: block;
    width: 192rem;
    padding: 6.2rem 0 11.2rem;
    background: #f5f3e8;
    font-family: var(--jun);
  }

  .doctorHeader {
    text-align: center;
  }

  .doctorEn {
    margin: 0;
    color: #a7d28d;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .04em;
  }

  .doctorSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 1.8rem auto 0;
    background: url("../img/title_line_green.png") center / auto no-repeat;
  }

  .doctorTitle {
    margin: 1rem 0 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .16em;
  }

  .doctorBody {
    display: grid;
    grid-template-columns: 73.5rem 70.7rem;
    column-gap: 7rem;
    width: 149.2rem;
    margin: 7.4rem auto 0;
  }

  .doctorLead {
    padding-top: 2.6rem;
  }

  .doctorLeadTitle {
    margin: 0;
    color: #f08634;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.75;
    text-align: center;
    letter-spacing: .08em;
  }

  .doctorLeadText {
    margin-top: 3.9rem;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2.05;
    letter-spacing: .05em;
  }

  .doctorLeadText p {
    margin: 0;
  }

  .doctorLeadText p + p {
    margin-top: 3.7rem;
  }

  .doctorProfile {
    min-width: 0;
  }

  .doctorNameBadge {
    position: relative;
    width: 34.4rem;
    height: 34.4rem;
    margin: 0 auto 4.1rem;
    color: #333333;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
    text-align: center;
  }

  .doctorNameBadge img {
    display: block;
    width: 34.4rem;
    height: auto;
  }

  .doctorPosition,
  .doctorName {
    position: absolute;
    left: 50%;
    width: 100%;
    margin: 0;
    transform: translateX(-50%);
  }

  .doctorPosition {
    top: 10.5rem;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .04em;
  }

  .doctorName {
    top: 16.4rem;
    font-size: 5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .12em;
  }

  .doctorInfoGroup + .doctorInfoGroup {
    margin-top: 2.7rem;
  }

  .doctorInfoTitle {
    margin: 0;
    padding: 1rem 1.8rem;
    background: #dbaf72;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .08em;
  }

  .doctorHistory .doctorInfoTitle {
    background: #a7d28d;
  }

  .doctorCareerList,
  .doctorInfoList {
    margin: 1.6rem 1.5rem 0;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.95;
    letter-spacing: .03em;
  }

  .doctorCareerList div {
    display: grid;
    grid-template-columns: 9.4rem 1fr;
    column-gap: 1.8rem;
  }

  .doctorCareerList dt,
  .doctorCareerList dd {
    margin: 0;
  }

  .doctorInfoList {
    padding: 0;
    list-style: none;
  }

  .clinic {
    display: block;
    width: 192rem;
    padding: 7.9rem 0 8rem;
    background: #ffffff;
    color: #333333;
    font-family: var(--jun);
  }

  .clinicHeader {
    text-align: center;
  }

  .clinicEn {
    margin: 0;
    color: #d1b586;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .045em;
  }

  .clinicSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 1.8rem auto 0;
    background: url("../img/title_line_brown.png") center / auto no-repeat;
  }

  .clinicTitle {
    margin: 1.1rem 0 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .17em;
  }

  .clinicBody {
    display: grid;
    grid-template-columns: 59rem 63rem;
    column-gap: 8.6rem;
    width: 130.6rem;
    margin: 4rem auto 0;
  }

  .clinicInfo {
    min-width: 0;
    padding-top: .5rem;
  }

  .clinicLogo {
    display: block;
    width: 37.2rem;
    height: auto;
    margin-left: 1.6rem;
  }

  .clinicAddress,
  .clinicTelText,
  .clinicNotes,
  .clinicAccess p {
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.82;
    letter-spacing: .03em;
  }

  .clinicAddress {
    margin-top: 1.6rem;
    margin-left: 1.6rem;
  }

  .clinicTelText {
    margin-top: .8rem;
    margin-left: 1.6rem;
  }

  .clinicHours {
    width: 59rem;
    margin-top: 2rem;
    border-collapse: collapse;
    color: #333333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
    font-size: 2.266rem;
    line-height: 1;
    table-layout: fixed;
  }

  .clinicHours th,
  .clinicHours td {
    height: 5.8rem;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    font-weight: 500;
  }

  .clinicHours thead th {
    background: #aa6c3b;
    color: #ffffff;
  }

  .clinicHours thead th:first-child {
    width: 17rem;
    letter-spacing: .08em;
  }

  .clinicHours thead th:not(:first-child):not(:last-child) {
    width: 5.3rem;
  }

  .clinicHours thead th:last-child {
    width: 10.2rem;
  }

  .clinicHours tbody th {
    padding-left: 2.8rem;
    padding-top: 0.3rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
    text-align: left;
  }

  .clinicHours tbody td {
    color: #aa6c3b;
  }

  .clinicHours tbody tr:last-child th,
  .clinicHours tbody tr:last-child td {
    border-bottom: .1rem solid #333333;
  }

  .clinicNotes {
    margin-top: 1.7rem;
    margin-left: 1.6rem;
  }

  .clinicNotes p {
    margin: 0;
  }

  .clinicNotes p + p {
    margin-top: .8rem;
  }

  .clinicNotes p:first-child::first-letter {
    color: #aa6c3b;
  }

  .clinicAccess {
    min-width: 0;
    padding-top: 1.5rem;
    padding-left: 4.2rem;
  }

  .clinicAccessItem {
    display: grid;
    grid-template-columns: 6.6rem 1fr;
    column-gap: 2.5rem;
    align-items: start;
  }

  .clinicAccessItem img {
    display: block;
    width: 6.6rem;
    height: auto;
  }

  .clinicAccess h3 {
    margin: 1.8rem 0 1rem;
    color: #555555;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .03em;
  }

  .clinicAccess p {
    margin: 0;
  }

  .clinicAccess p + p {
    margin-top: .7rem;
  }

  .clinicAccessDots {
    display: block;
    width: 63rem;
    height: 0.9rem;
    margin: 2.8rem 0 3.4rem;
    background: url("../img/dotline.png") left / auto 100% no-repeat;
  }

  .clinicButtons {
    display: flex;
    justify-content: center;
    gap: 4.2rem;
    margin-top: 4.5rem;
  }

  .clinicButton {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42rem;
    height: 10rem;
    border-radius: 2rem;
    background: #f6e8d4;
    color: #5e452f;
    font-family: var(--jun);
    font-size: 3.379rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .01em;
  }

  .clinicButtonBooking img {
    width: 4.2rem;
    margin-right: 2rem;
  }

  .clinicButtonTel img {
    width: 3.6rem;
    margin-right: 1.8rem;
  }

  .clinicButtonTelText {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .clinicButtonTelText span {
    margin-bottom: .4rem;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: .04em;
  }

  .clinicButtonTelText strong {
    font-size: 3.379rem;
    font-weight: 700;
    line-height: 1;
  }

  .appointment {
    display: block;
    width: 192rem;
    background: #f7f3ed;
    color: #333333;
    font-family: var(--jun);
  }

  .appointmentHeader {
    padding-top: 11rem;
    padding-bottom: 3.2rem;
    text-align: center;
    background: #faf7f2;
  }

  .appointmentEn {
    margin: 0;
    color: #a7d28d;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .045em;
  }

  .appointmentSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 1.8rem auto 0;
    background: url("../img/title_line_green.png") center / auto no-repeat;
  }

  .appointmentTitle {
    margin: 1.2rem 0 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .17em;
  }

  .appointmentBody {
    width: 192rem;
    padding: 6rem 0 6.5rem;
    background: url("../img/problem_bg.png") center top / 192rem auto repeat-y;
  }

  .appointmentLead,
  .appointmentBox {
    width: 111.8rem;
    margin-right: auto;
    margin-left: auto;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.98;
    letter-spacing: .03em;
  }

  .appointmentLead {
    padding: 0 1.6rem;
  }

  .appointmentLead p {
    margin: 0;
  }

  .appointmentLead p:nth-child(3) {
    margin-top: 4rem;
  }

  .appointmentBox {
    background: rgba(255, 255, 255, .86);
  }

  .appointmentBelongings {
    margin-top: 4.2rem;
    padding: 3.4rem 4.8rem 3rem;
    /* height: 27.8rem; */
  }

  .appointmentTransfer {
    margin-top: 4.2rem;
    padding: 3.8rem 4.6rem 3.6rem;
    min-height: 32.9rem;
  }

  .appointmentBox h3 {/*
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .05em;*/
    margin-bottom: 1.8rem;
    color: #5c8f7e;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.5;
    font-family: var(--jun);
    margin: 0 0 1.2rem;
  }

  .appointmentBox ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .appointmentBox li {
    margin: 0;
  }

  .appointmentBox li::before {
    content: "・";
  }

  .appointmentBox p {
    margin: 0;
  }

  .appointmentBelongings > p {
    margin-top: 2.4rem;
  }

  .appointmentTransfer h3 {
    margin-bottom: 1.8rem;
    color: #5c8f7e;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.5;
  }

  .appointmentTransferQuotes {
    margin-bottom: 1.6rem;
    font-weight: 700;
    line-height: 1.85;
    font-size: 2rem;
    color: #555555;
  }

  .appointmentTransferQuotes p {
    margin: 0;
  }

  .siteFooter {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 192rem;
    height: 3.8rem;
    background: #ab7d4e;
    color: #ffffff;
    font-family: var(--jun);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .03em;
    text-align: center;
  }

  .siteFooter p {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .spOnly {
    display: inline;
  }

  .spBreak {
    display: block;
  }

  .spInline {
    display: inline-block;
  }

  .problemCatch .spInline {
    display: inline-block;
  }

  .pcOnly {
    display: none;
  }
  .no-spaceSP{
    margin-left: -1rem;
  }

  html {
    font-size: calc(100vw / 750 * 10);
  }

  body {
    background: var(--cream);
  }

  .siteWrap {
    width: 75rem;
    max-width: 100%;
    margin: 0 auto;
  }

  .siteHeader {
    display: block;
  }

  .headerActions {
    display: none;
  }

  .globalNav {
    position: fixed;
    z-index: 20;
    inset: 0;
    display: block;
    width: 100%;
    height: 100vh;
    padding: 20.2rem 4.4rem 7rem;
    background: rgba(247, 243, 237, .92);
    font-family: var(--jun);
    opacity: 0;
    pointer-events: none;
    transform: translateX(100%);
    transition: transform .42s ease, opacity .24s ease;
  }

  .globalNav ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 7.4rem;
    row-gap: 4.6rem;
    width: 66.2rem;
    max-width: calc(100vw - 8.8rem);
    margin-left: 0;
  }

  .globalNav li {
    display: block;
  }

  .globalNav a {
    display: block;
    padding: 0;
    color: #5f6068;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .06em;
    white-space: nowrap;
  }

  .menuButton {
    position: fixed;
    z-index: 120;
    top: 1.9rem;
    right: 3.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 10.9rem;
    height: 10.9rem;
    padding: 1rem 0 0 0;
    border: 0;
    border-radius: 50%;
    background: #ab7d4e;
    color: #fff;
    font-family: var(--jun);
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 1;
    appearance: none;
  }

  .menuButtonBars {
    position: relative;
    display: block;
    width: 5.9rem;
    height: .5rem;
    margin: .2rem 0 1.7rem;
    background: currentColor;
  }

  .menuButtonBars::before,
  .menuButtonBars::after {
    position: absolute;
    left: 0;
    width: 5.9rem;
    height: .5rem;
    background: currentColor;
    content: "";
  }

  .menuButtonBars::before {
    top: -1.5rem;
  }

  .menuButtonBars::after {
    top: 1.5rem;
  }

  .isMenuOpen {
    overflow: hidden;
  }

  .isMenuOpen .globalNav {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  .isMenuOpen .menuButtonBars {
    background: transparent;
  }

  .isMenuOpen .menuButtonBars::before {
    top: 0;
    transform: rotate(35deg);
  }

  .isMenuOpen .menuButtonBars::after {
    top: 0;
    transform: rotate(-35deg);
  }

  .menuButtonText{
    margin-top: 1rem;
  }
  .hero {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 75rem;
    max-width: 100%;
    min-height: 123.5rem;
    margin: 0 auto;
    padding: 1.4rem 0 3.4rem;
  }

  .hero::before {
    display: block;
    order: 1;
    width: 48.9rem;
    height: 11.2rem;
    margin: 0 0 0 2.6rem;
    content: "";
  }

  .heroSide,
  .heroMain {
    display: contents;
  }

  .heroLogo {
    position: fixed;
    top: 1.4rem;
    left: calc(50% - 34.9rem);
    order: 1;
    z-index: 110;
    width: 48.9rem;
    margin: 0;
  }

  .heroLogo img {
    width: 48.9rem;
  }

  .previewEvent {
    position: relative;
    order: 2;
    width: 75rem;
    height: 12.7rem;
    margin-top: 1.9rem;
    color: #fff;
    font-family: var(--jun);
  }

  .previewFlag {
    position: absolute;
    top: 0;
    left: 1.6rem;
    width: 35.6rem;
    height: 12.7rem;
    object-fit: fill;
  }

  .previewDate {
    position: absolute;
    top: .2rem;
    left: 38.4rem;
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    width: 34.2rem;
    height: 10.7rem;
    padding: .3rem 0 0 3rem;
    border-radius: 5.35rem;
    background: var(--orange);
    color: #fff;
    line-height: 1;
  }

  .previewDate span {
    font-size: 6.2rem;
    font-weight: 500;
    letter-spacing: 0;
    padding-left: 0.25rem;
  }

  .previewDate .previewDateUnit {
    display: inline-block;
    font-size: 4.5rem;
    line-height: 1;
  }

  .previewDate b {
    margin-left: -0.5rem;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1;
  }

  .previewTime {
    position: absolute;
    top: 7.1rem;
    left: 47.8rem;
    color: #fff;
    font-size: 2.7rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
  }

  .previewNote {
    position: absolute;
    z-index: 2;
    top: 23rem;
    left: 6.4rem;
    color: var(--orange);
    font-family: var(--jun);
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
  }

  .heroMain > picture {
    order: 3;
    display: block;
    width: 70.8rem;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 2.7rem;
  }

  .heroPhoto {
    width: 70.8rem;
    height: 53.9rem;
    object-fit: cover;
    border-radius: 2.7rem;
  }

  .accessLabel {
    position: absolute;
    z-index: 8;
    left: 3.6rem;
    display: flex;
    align-items: center;
    width: 50.3rem;
    height: 5.7rem;
    border-radius: 2.85rem;
    background: rgba(250, 248, 244, .94);
    color: #5c5049;
    font-family: var(--jun);
    font-size: 2.6rem;
    font-weight: 300;
    line-height: 1;
  }

  .accessLabel img {
    flex: 0 0 5.7rem;
    width: 5.7rem;
    margin-right: 1.4rem;
  }

  .accessLabelClinic {
    top: 28.9rem;
  }

  .accessLabelBus {
    top: 35.4rem;
  }

  .heroFeature {
    position: absolute;
    z-index: 9;
    color: #fff;
    font-family: var(--jun);
    font-weight: 500;
    text-align: center;
  }

  .heroFeature img {
    width: 100%;
    height: 100%;
  }

  .heroFeature p {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.9rem;
    line-height: 1.42;
  }

  .heroFeatureDot {
    display: inline-block;
    margin: 0 -.2em;
  }

  .heroFeatureGreen {
    top: 57rem;
    left: 3.2rem;
    width: 22rem;
    height: 23.5rem;
  }

  .heroFeatureGreen p {
    font-size: 2.9rem;
    line-height: 1.45;
  }

  .heroFeatureOrange {
    top: 56.8rem;
    left: 26.4rem;
    width: 21.9rem;
    height: 23.4rem;
  }

  .heroFeatureOrange p {
    font-size: 2.9rem;
    line-height: 1.45;
  }

  .heroFeatureBlue {
    top: 58rem;
    left: 49.4rem;
    width: 21.9rem;
    height: 22.2rem;
  }

  .heroFeatureBlue p {
    font-size: 2.7rem;
    line-height: 1.42;
  }

  .heroCopy {
    order: 4;
    display: block;
    margin-top: 3rem;
    color: var(--copyBrown);
    font-family: var(--keage);
    font-size: 4.6rem;
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: 0;
    text-align: center;
  }

  .heroCopy > span {
    display: inline;
  }

  .heroCopy > span:first-child {
    display: block;
    margin-bottom: .8rem;
  }

  .heroCopySmall {
    font-size: 3.8rem;
    margin-right: -2rem;
  }

  .heroLine {
    order: 5;
    display: block;
    width: 62.8rem;
    height: .9rem;
    margin: 1.7rem auto 0;
    background: url("../img/dotline.png") left / auto 100% no-repeat;
  }

  .heroLead {
    order: 6;
    margin-top: 1.8rem;
    margin-bottom: 2.5rem;
    color: #604735;
    font-family: var(--jun);
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.58;
    letter-spacing: 0;
    text-align: center;
  }

  .openingInfo {
    position: relative;
    order: 7;
    width: 68.2rem;
    min-height: 13rem;
    margin: 2.2rem auto 0;
    color: #fff;
    font-family: var(--keage);
    font-weight: 400;
    line-height: 1;
    text-align: left;
  }

  .openingInfo picture,
  .openingInfo img {
    display: block;
  }

  .openingInfo img {
    width: 65.1rem;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

  .openingDate {
    display: flex;
    align-items: flex-end;
    width: 39rem;
    color: #f58220;
    text-shadow: 0 0 .35rem #fff, 0 0 .8rem #fff, 0 0 1.35rem #fff, 0 0 1.9rem rgba(255, 255, 255, .96);
  }

  .openingDate span {
    font-size: 6.4rem;
    font-weight: 400;
  }

  .openingDate b {
    display: grid;
    place-items: center;
    width: 3.7rem;
    height: 3.7rem;
    margin: 0 1.2rem .8rem .6rem;
    border-radius: 50%;
    background: var(--orange);
    color: #fff;
    font-size: 2.4rem;
    font-weight: 400;
    text-shadow: none;
    align-items: center;
    padding-top: 0.3rem;
  }

  .openingDate em {
    margin-bottom: .7rem;
    border-top: 0.3rem solid #f58220;
    border-bottom: 0.3rem solid #f58220;
    color: #f58220;
    font-size: 3.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    padding: 1rem 0 0.5rem;
  }

  .openingName {
    margin-top: .8rem;
  }

  .openingName img {
    width: 38.6rem;
    filter: drop-shadow(0 0 .35rem #fff)
            drop-shadow(0 0 .8rem #fff)
            drop-shadow(0 0 1.25rem #fff);
  }

  .openingStart {
    padding-top: 0.7rem;
    position: absolute;
    top: 0;
    right: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24.2rem;
    height: 11.7rem;
    background: rgba(248, 130, 37, .92);
    color: #fff;
    font-size: 4.6rem;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-shadow: none;
  }

  .problem {
    display: block;
    width: 75rem;
    max-width: 100%;
    margin: 0 auto;
    background: #f7f3ed;
    color: #555555;
    font-family: var(--jun);
  }

  .problemHeader {
    padding-top: 4.8rem;
    text-align: center;
  }

  .problemEn {
    color: #d1b586;
    font-size: 8.1rem;
    font-weight: 300;
    line-height: .9;
    letter-spacing: .04em;
  }

  .problemSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 2.4rem auto;
    background: url("../img/title_line_brown.png") center / auto no-repeat;
  }

  .problemTitle {
    color: #757575;
    font-size: 3.7rem;
    font-weight: 500;
    line-height: 1.16;
    letter-spacing: .16em;
  }

  .problemBody {
    margin-top: 0;
    padding: 4.6rem 0 5rem;
    background: url("../img/problem_bg.png") center top / 150rem auto repeat-y;
  }

  .problemStage {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .problemImage {
    width: 54.8rem;
    height: auto;
  }

  .problemList {
    display: flex;
    flex-direction: column;
    row-gap: 1.4rem;
    width: 69rem;
    margin: 2.6rem auto 0;
  }

  .problemItem {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 8.4rem;
    padding: 1.35rem 2.2rem 1.35rem 1.7rem;
    border-radius: 4.2rem;
    background: rgba(250, 247, 242, .97);
    box-shadow: .55rem .55rem 0 #a77946;
    color: #545454;
    font-size: 2.65rem;
    font-weight: 500;
    line-height: 1.48;
    letter-spacing: 0;
  }

  .problemItem img {
    flex: 0 0 4rem;
    width: 4rem;
    height: auto;
    margin-right: 1.4rem;
  }

  .problemBottom {
    width: 69rem;
    margin: 4.8rem auto 0;
    text-align: center;
  }

  .problemCatch {
    color: #a77a4d;
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .04em;
  }

  .problemCatch span {
    display: inline-block;
    margin: 0 .5rem;
    font-weight: 400;
  }

  .problemCatchFirst,
  .problemCatchSecond {
    margin: 0;
    font-weight: 700;
  }

  .problemCatch .problemCatchSlashPc {
    display: none;
  }

  .problemCatchSlashSp {
    margin-right: 1.2rem;
  }

  .problemMessage {
    margin-top: 3.6rem;
    color: #555555;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.58;
    letter-spacing: .02em;
  }

  .problemMessage p + p {
    margin-top: .7rem;
  }

  .problemMessage span {
    color: #61b85d;
  }

  .problemMessage .problemMessageRole {
    color: #8bc34a;
  }

  .problemLine {
    width: 60.6rem;
    margin-top: 2rem;
  }

  .feature {
    position: relative;
    display: block;
    width: 75rem;
    padding: 8.7rem 0 6.8rem;
    background: #f7f3ed;
    font-family: var(--jun);
  }

  .featureHeader {
    text-align: center;
  }

  .featureEn {
    margin: 0;
    color: #d1b586;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .04em;
  }

  .featureSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 2.3rem auto;
    background: url("../img/title_line_brown.png") center / auto no-repeat;
  }

  .featureTitle {
    margin: 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .16em;
  }

  .featureBody {
    position: relative;
    width: 75rem;
    margin-top: 3.5rem;
  }

  .featureBgLeft,
  .featureBgRight {
    position: absolute;
    z-index: 0;
    display: block;
    pointer-events: none;
  }

  .featureBgLeft {
    top: 104rem;
    left: -1.1rem;
    width: 16rem;
  }

  .featureBgRight {
    top: 283rem;
    right: -22.8rem;
    width: 38rem;
  }

  .featureGrid {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 70.4rem;
    margin: 0 auto;
    row-gap: 3.4rem;
  }

  .featureCard {
    position: relative;
    padding-top: 11.8rem;
  }

  .featureNumber {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    width: 18.2rem;
    height: 17.8rem;
    color: #ffffff;
    font-family: var(--jun);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    transform: translateX(-50%);
  }

  .featureNumber img {
    display: block;
    width: 18.2rem;
    height: auto;
  }

  .featureNumberDigit,
  .featureNumberLabel {
    position: absolute;
    left: 50%;
    display: block;
    transform: translateX(-50%);
  }

  .featureNumberDigit {
    top: 4.1rem;
    font-size: 5.9rem;
    letter-spacing: .03em;
  }

  .featureNumberLabel {
    top: 10.8rem;
    font-size: 1.9rem;
    font-weight: 400;
    letter-spacing: .03em;
  }

  .featureCardInner {
    padding: 8rem 4.7rem 5.2rem;
    overflow: hidden;
    background: #ffffff;
    border-left: .9rem solid var(--feature-accent);
    border-radius: 1.2rem;
  }

  .featureCard01 {
    --feature-accent: #8fcf81;
  }

  .featureCard02 {
    --feature-accent: #f6a735;
  }

  .featureCard03 {
    --feature-accent: #dfb866;
  }

  .featureCard04 {
    --feature-accent: #73d0d2;
  }

  .featureCard05 {
    --feature-accent: #fb8d59;
  }

  .featureCard06 {
    --feature-accent: #84b46d;
  }

  .featureCardTitle {
    margin: 0;
    color: #555555;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
    letter-spacing: .04em;
  }

  .featureDots {
    display: block;
    width: 100%;
    height: 0.9rem;
    margin: 1.8rem auto 0;
    background: url("../img/dotline.png") left / auto 100% no-repeat;
  }

  .featureIcon {
    display: block;
    height: auto;
    margin: 3rem auto 0;
  }

  .featureIcon01 {
    width: 27.2rem;
  }

  .featureIcon02 {
    width: 34rem;
  }

  .featureIcon03 {
    width: 27.6rem;
  }

  .featureIcon04 {
    width: 32.2rem;
  }

  .featureIcon05 {
    width: 25.4rem;
  }

  .featureIcon06 {
    width: 24.3rem;
  }

  .featureText {
    margin-top: 3.4rem;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: .02em;
  }

  .featureText p {
    margin: 0;
  }

  .featureText p + p {
    margin-top: 4rem;
  }

  .medical {
    display: block;
    width: 75rem;
    padding: 8.2rem 0 0;
    background: #f7f3ed;
    font-family: var(--jun);
  }

  .medicalHeader {
    text-align: center;
  }

  .medicalEn {
    margin: 0;
    color: #d1b586;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .04em;
  }

  .medicalSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 2.3rem auto;
    background: url("../img/title_line_brown.png") center / auto no-repeat;
  }

  .medicalTitle {
    margin: 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .16em;
  }

  .medicalBody {
    width: 75rem;
    margin-top: 1.5rem;
    padding: 8.5rem 0 0rem;
    background-color: #f7f3ed;
    background-image: url("../img/medical_bg_wave-sp.png");
    background-position: center top;
    background-size: 75rem auto;
    background-repeat: no-repeat;
  }

  .medicalGrid {
    display: flex;
    flex-direction: column;
    row-gap: 4.2rem;
    width: 66.4rem;
    margin: 0 auto;
    padding-bottom: 50.4rem;
  }

  .medicalCard {
    padding: 2.8rem;
    background: rgba(255, 255, 255, .82);
    border-radius: 4rem;
  }

  .medicalCardTitle {
    margin: 0;
    padding-bottom: 2rem;
    border-bottom: .1rem solid #ab7d4e;
    color: #ab7d4e;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
    letter-spacing: .08em;
  }

  .medicalText {
    margin: 2.4rem 0 0;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: .02em;
  }

  .doctor {
    display: block;
    width: 75rem;
    padding: 5.2rem 0 8.3rem;
    background: #f5f3e8;
    font-family: var(--jun);
  }

  .doctorHeader {
    text-align: center;
  }

  .doctorEn {
    margin: 0;
    color: #a7d28d;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .04em;
  }

  .doctorSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 2.3rem auto;
    background: url("../img/title_line_green.png") center / auto no-repeat;
  }

  .doctorTitle {
    margin: 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .16em;
  }

  .doctorBody {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0rem auto 0;
  }

  .doctorLead {
    padding-top: 0;
  }

  .doctorLeadTitle {
    margin: 0;
    color: #f08634;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
    letter-spacing: .05em;
  }

  .doctorLeadText {
    margin-top: 3.5rem;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.82;
    letter-spacing: .02em;
    padding: 0 4rem;
  }

  .doctorLeadText p {
    margin: 0;
  }

  .doctorLeadText p + p {
    margin-top: 3.6rem;
  }

  .doctorProfile {
    min-width: 0;
    padding: 0 2rem;
  }

  .doctorNameBadge {
    position: relative;
    width: 38rem;
    height: 38rem;
    margin: 4rem auto 4.4rem;
    color: #333333;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
    text-align: center;
  }

  .doctorNameBadge img {
    display: block;
    width: 100%;
    height: auto;
  }

  .doctorPosition,
  .doctorName {
    position: absolute;
    left: 50%;
    width: 100%;
    margin: 0;
    transform: translateX(-50%);
  }

  .doctorPosition {
    top: 12.4rem;
    font-size: 3.8rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .04em;
  }

  .doctorName {
    top: 19.1rem;
    font-size: 5.3rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
  }

  .doctorInfoGroup + .doctorInfoGroup {
    margin-top: 7rem;
  }

  .doctorInfoTitle {
    margin: 0;
    padding: 1.5rem 2.2rem;
    background: #dbaf72;
    color: #ffffff;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .08em;
  }

  .doctorHistory .doctorInfoTitle {
    background: #a7d28d;
  }

  .doctorCareerList,
  .doctorInfoList {
    margin: 2rem 1.6rem 0;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1.78;
    letter-spacing: .01em;
  }

  .doctorCareerList div {
    display: grid;
    grid-template-columns: 12.8rem 1fr;
    column-gap: 1.7rem;
  }

  .doctorCareerList dt,
  .doctorCareerList dd {
    margin: 0;
  }

  .doctorInfoList {
    padding: 0;
    list-style: none;
  }

  .clinic {
    display: block;
    width: 75rem;
    padding: 9rem 0 8.8rem;
    color: #333333;
    font-family: var(--jun);
    background: #FFF;
  }

  .clinicHeader {
    text-align: center;
  }

  .clinicEn {
    margin: 0;
    color: #d1b586;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .045em;
  }

  .clinicSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 2.2rem auto;
    background: url("../img/title_line_brown.png") center / auto no-repeat;
  }

  .clinicTitle {
    margin: 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .16em;
  }

  .clinicBody {
    display: flex;
    flex-direction: column;
    width: 67rem;
    margin: 6rem auto 0;
  }

  .clinicInfo {
    min-width: 0;
  }

  .clinicLogo {
    display: block;
    width: 44rem;
    height: auto;
    margin: 0 0 0 1.2rem;
  }

  .clinicAddress,
  .clinicTelText,
  .clinicNotes,
  .clinicAccess p {
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.78;
    letter-spacing: 0;
  }

  .clinicAddress {
    width: 66rem;
    margin: 3.2rem 0 0 1.2rem;
  }

  .clinicTelText {
    margin: .9rem 0 0 1.2rem;
  }

  .clinicHours {
    width: 67rem;
    margin-top: 3.5rem;
    border-collapse: collapse;
    color: #333333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
    font-size: 2.6rem;
    line-height: 1;
    table-layout: fixed;
  }

  .clinicHours th,
  .clinicHours td {
    height: 5.6rem;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    font-weight: 400;
  }

  .clinicHours thead th {
    background: #aa6c3b;
    color: #ffffff;
  }

  .clinicHours thead th:first-child {
    width: 18.8rem;
    letter-spacing: .06em;
  }

  .clinicHours thead th:not(:first-child):not(:last-child) {
    width: 6.1rem;
  }

  .clinicHours thead th:last-child {
    width: 11.6rem;
  }

  .clinicHours tbody th {
    padding-left: 2.6rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
    text-align: left;
  }

  .clinicHours tbody td {
    color: #aa6c3b;
  }

  .clinicHours tbody tr:last-child th,
  .clinicHours tbody tr:last-child td {
    border-bottom: .1rem solid #333333;
  }

  .clinicNotes {
    width: 67rem;
    margin-top: 2.2rem;
    margin-left: 0;
    font-size: 2.6rem;
    line-height: 1.55;
  }

  .clinicNotes p {
    margin: 0;
  }

  .clinicNotes p + p {
    margin-top: .8rem;
  }

  .clinicNotes p:first-child::first-letter {
    color: #aa6c3b;
  }

  .clinicAccess {
    display: flex;
    flex-direction: column;
    width: 67rem;
    margin-top: 8rem;
  }

  .clinicAccessItem {
    display: grid;
    grid-template-columns: 8.6rem 1fr;
    column-gap: 2.2rem;
    align-items: start;
  }

  .clinicAccessItem img {
    display: block;
    width: 8.6rem;
    height: auto;
  }

  .clinicAccess h3 {
    margin: .1rem 0 1.1rem;
    color: #555555;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .03em;
  }

  .clinicAccess p {
    margin: 0;
    line-height: 1.85;
  }

  .clinicAccess p + p {
    margin-top: .1rem;
  }

  .clinicAccessDots {
    display: block;
    width: 100%;
    height: 1rem;
    margin: 4.1rem 0 4.7rem;
    background: url("../img/dotline.png") left / auto 100% no-repeat;
  }

  .clinicButtons {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 5rem;
    margin-top: 7.4rem;
  }

  .clinicButton {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52rem;
    height: 14rem;
    border-radius: 2rem;
    background: #f6e8d4;
    color: #5e452f;
    font-family: var(--jun);
    font-size: 4.2rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .01em;
  }

  .clinicButtonBooking img {
    width: 4.2rem;
    margin-right: 2.1rem;
  }

  .clinicButtonTel img {
    width: 4.5rem;
    margin-right: 1.6rem;
  }

  .clinicButtonTelText {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .clinicButtonTelText span {
    margin-bottom: .6rem;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: .02em;
  }

  .clinicButtonTelText strong {
    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1;
  }

  .appointment {
    display: block;
    width: 75rem;
    background: #f7f3ed;
    color: #333333;
    font-family: var(--jun);
  }

  .appointmentHeader {
    padding-top: 9rem;
    padding-bottom: 2.9rem;
    background: #faf7f2;
    text-align: center;
  }

  .appointmentEn {
    margin: 0;
    color: #a7d28d;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .045em;
  }

  .appointmentSlash {
    display: block;
    width: 100rem;
    height: 2.2rem;
    margin: 2.2rem auto;
    background: url("../img/title_line_green.png") center / auto no-repeat;
  }

  .appointmentTitle {
    margin: 0;
    color: #757575;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .16em;
  }

  .appointmentBody {
    width: 75rem;
    padding: 5.4rem 0 8.2rem;
    background: url("../img/problem_bg.png") center top / 150rem auto repeat-y;
  }

  .appointmentLead,
  .appointmentBox {
    width: 67rem;
    margin-right: auto;
    margin-left: auto;
    color: #333333;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.78;
    letter-spacing: .01em;
  }

  .appointmentLead {
    padding: 0 2.4rem;
  }

  .appointmentLead p {
    margin: 0;
  }

  .appointmentLead p + p {
    margin-top: 0;
  }

  .appointmentLead p:nth-child(3) {
    margin-top: 5rem;
  }

  .appointmentBox {
    background: rgba(255, 255, 255, .86);
  }

  .appointmentBelongings {
    margin-top: 5.9rem;
    padding: 3.3rem 4rem 3.8rem;
  }

  .appointmentTransfer {
    margin-top: 6.7rem;
    padding: 4.3rem 3.7rem 4.7rem;
  }

  .appointmentBox h3 {
      /*
    margin: 0 0 2rem;
    font-family: var(--jun);
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .04em;
      */
    margin: 0 0 2rem;
    font-family: var(--jun);
    color: #5c8f7e;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .04em;
  }

  .appointmentBox ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .appointmentBox li {
    margin: 0;
  }

  .appointmentBox li::before {
    content: "・";
  }

  .appointmentBox p {
    margin: 0;
  }

  .appointmentBelongings > p {
    margin-top: 2.7rem;
  }

  .appointmentTransfer h3 {
    margin-bottom: 3.2rem;
    color: #5c8f7e;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.45;
  }

  .appointmentTransferQuotes {
    margin-bottom: 3.3rem;
    margin-left: -2.3rem;
    font-weight: 700;
    line-height: 1.85;
  }

  .appointmentTransferQuotes p {
    margin: 0;
    white-space: nowrap;
  }

  .appointmentTransferQuotes p + p {
    margin-top: .8rem;
  }

  .siteFooter {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 75rem;
    height: 6rem;
    margin-bottom: 8rem;
    background: #ab7d4e;
    color: #ffffff;
    font-family: var(--jun);
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .03em;
    text-align: center;
  }

  .siteFooter p {
    margin: 0;
  }

  .floatingBanner {
    position: fixed;
    z-index: 100;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: 75rem;
    height: 8rem;
    margin: 0 auto;
    color: #ffffff;
    font-family: var(--jun);
    font-weight: 500;
    line-height: 1;
    letter-spacing: .01em;
    text-align: center;
  }

  .floatingBannerItem {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37.5rem;
    height: 8rem;
  }

  .floatingBannerTel {
    background: #8db068;
    font-size: 3rem;
  }

  .floatingBannerBooking {
    background: #4cbabe;
  }

  .floatingBanner img {
    flex: 0 0 auto;
    filter: brightness(0) invert(1);
  }

  .floatingBannerTel img {
    width: 3.2rem;
    height: 3.2rem;
    margin-right: 1.1rem;
  }

  .floatingBannerBooking img {
    width: 3.8rem;
    height: 3.9rem;
    margin-right: 1.5rem;
  }

  .floatingBannerBooking > span {
    display: flex;
    align-items: baseline;
  }

  .floatingBannerTime {
    font-size: 2.4rem;
    padding-right: 0.5rem;
  }

  .floatingBannerWeb {
    font-size: 3.2rem;
  }
}


/* add */
.clinic.first{
    background: none;
    padding-top: 0;
}
@media screen and (max-width: 768px) {
    .clinic.first{
        margin-top: 7.5rem;
    }
}
.clinic table caption{
    text-align: left;
    font-size: 2rem;
    padding-bottom: 2rem;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
}
.clinic .aboutBookingArea{
    padding-top: 3rem;
}
.clinic .aboutBookingTitle{
    font-size: 2.2rem;
    color: #5e452f;
    font-family: var(--jun);
    padding-bottom: 2.5rem;
    text-align: center;
    line-height: 1;
    font-weight: 500;
}
.clinic .aboutBookingTxt{
    font-size: 1.8rem;
    margin-bottom: 0;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    text-align: center;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .clinic table caption{
        font-size: 2.8rem;
    }
    .clinic .aboutBookingArea{
        padding-top: 8rem;
    }
    .clinic .aboutBookingTitle{
        font-size: 3.2rem;
    }
    .clinic .aboutBookingTxt{
        font-size: 2.8rem;
        padding: 0 2rem;
        line-height: 1.8;
    }
    #clinicInfo .clinicButtons{
        margin-top: 3.5rem;
    }
}

.mapBtn {
    margin: 3rem 0 0;
}

.mapBtnLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28rem;
    height: 6rem;
    border-radius: 2.4rem;
    background: #f6e8d4;
    color: #5e452f;
    font-family: var(--jun);
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
}

.mapBtnLink::before {
    display: block;
    width: 0;
    height: 0;
    margin-right: .9rem;
    border-top: .65rem solid transparent;
    border-bottom: .65rem solid transparent;
    border-left: .85rem solid #5e452f;
    content: "";
}

@media screen and (max-width: 768px) {
    .mapBtnLink {
        display: flex;
        width: 36rem;
        height: 7.5rem;
        font-size: 2.5rem;
        margin: auto;
    }
    .mapBtnLink::before {
        margin-right: 1.2rem;
        margin-top: 0.3rem;
        border-top: .95rem solid transparent;
        border-bottom: .95rem solid transparent;
        border-left: 1.15rem solid #5e452f;
    }
    .map{
        margin-top: 3rem;
    }
}
#appointment .clinicButtons{
    margin: 0 0 6rem;
}

.footerClinicInfo {
    display: block;
    background: #ffffff;
    color: #333333;
}

.footerClinicInfo .clinicLogo,
.footerClinicInfo .clinicAddress,
.footerClinicInfo .clinicTelText,
.footerClinicInfo .clinicHours,
.footerClinicInfo .clinicNotes {
    margin-left: 0;
}

.footerClinicInfo .clinicHours {
    margin-top: 0;
}

.footerClinicInfo .clinicNotes p:first-child {
    color: #333333;
}

.footerClinicInfo .clinicNotes p:first-child::first-letter {
    color: #aa6c3b;
}

.footerClinicInfo .footerClinicHours tbody td {
    color: #aa6c3b;
}

.footerClinicInfo .footerClinicHours caption{
    text-align: left;
    font-size: 2rem;
    padding-bottom: 2rem;
    font-family: "KazYuGothic", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
}
@media screen and (max-width: 768px) {
    .footerClinicInfo .footerClinicHours caption{
        font-size: 2.8rem;
    }
}

@media screen and (min-width: 769px) {
    .footerClinicInfo {
        width: 192rem;
        padding: 3.3rem 0 4.2rem;
    }

    .footerClinicInfoInner {
        display: grid;
        grid-template-columns: 53rem 59rem;
        column-gap: 4.2rem;
        align-items: start;
        width: 117.2rem;
        margin: 0 auto;
    }

    .footerClinicLogo {
        width: 37.2rem;
    }

    .footerClinicAddress {
        margin-top: 1.9rem;
    }

    .footerClinicTelText {
        margin-top: .7rem;
    }

    .footerClinicNotes {
        margin-top: 1.6rem;
    }

    .footerClinicNotes p + p {
        margin-top: .7rem;
    }
}

@media screen and (max-width: 768px) {
    .footerClinicInfo {
        width: 75rem;
        padding: 5rem 5.2rem 5.4rem;
    }

    .footerClinicInfoInner {
        display: grid;
        row-gap: 4.2rem;
    }

    .footerClinicLogo {
        width: 45rem;
    }

    .footerClinicAddress {
        margin-top: 2.8rem;
    }

    .footerClinicTelText {
        margin-top: 1.2rem;
    }

    .footerClinicHours {
        width: 100%;
    }

    .footerClinicNotes {
        margin-top: 2.4rem;
    }
}

@media screen and (min-width: 769px) {
    .headerDental {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        column-gap: .5rem;
        width: 18.1rem;
        height: 3.8rem;
        border-radius: .7rem;
        background: #ab7d4e;
        color: #fff;
        font-family: var(--jun);
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0;
        text-decoration: none;
    }

    .headerDental::before {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-top: .65rem solid transparent;
        border-bottom: .65rem solid transparent;
        border-left: .85rem solid #fff;
    }
    .headerDental span{
        margin-top: -0.3rem;
    }
}

@media screen and (max-width: 768px) {
    .navDentalSp a {
        color: #ab7d4e;
    }

    .openingInfo {
        order: 4;
    }

    .heroCopy {
        order: 5;
    }

    .heroLine {
        order: 6;
    }

    .heroLead {
        order: 7;
    }

    .doctorLead .doctorNameBadgeSp {
        display: block;
    }

    .doctorProfile > .doctorNameBadge {
        display: none;
    }
}
