@charset "UTF-8";
/*========================================================
# リセットCSS
========================================================*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

a {
  cursor: pointer;
  text-decoration: none;
}

body {
  margin: 0;
}

/*========================================================
# CSS設定
========================================================*/
.container {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
}

img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv img {
  aspect-ratio: 750/1334;
}

.menu01 img {
  aspect-ratio: 750/1304;
}

.cta {
  position: relative;
}
.cta img {
  aspect-ratio: 750/613;
}

.cta-btn {
  display: block;
  width: 78%;
  position: absolute;
}
.cta-btn img {
  width: 100%;
  aspect-ratio: 584/144;
}

.cta-btn--tel {
  top: 34.5%;
  left: 51%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.cta-btn--line {
  bottom: 5%;
  left: 51%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.problem img {
  aspect-ratio: 750/3389;
}

.point img {
  aspect-ratio: 750/4113;
}

.menu02 img {
  aspect-ratio: 750/6200;
}

.benefit img {
  aspect-ratio: 750/1005;
}

.flow img {
  aspect-ratio: 750/5252;
}

.faq img {
  aspect-ratio: 750/2098;
}

/* 医院情報 */
.info {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  background: #726A69;
  color: #fff;
  text-align: center;
  padding-top: clamp(0px, 9.0666666667vw, 68px);
  padding-right: clamp(0px, 11.2vw, 84px);
  padding-bottom: clamp(0px, 20vw, 150px);
  padding-left: clamp(0px, 11.2vw, 84px);
}

.copy {
  font-size: clamp(0px, 4.5333333333vw, 25px);
  line-height: 1.7142857143;
}

.info__title {
  font-size: clamp(0px, 6.4vw, 36px);
  line-height: 1.6;
}

.info__map {
  width: 100%;
  aspect-ratio: 580/360;
  margin-inline: auto;
  margin-top: clamp(0px, 5.3333333333vw, 40px);
}

iframe {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.info__access {
  margin-top: clamp(0px, 5.3333333333vw, 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 5.3333333333vw, 40px);
  line-height: 1.5;
  font-size: clamp(0px, 4vw, 26px);
}

.info__access__meta a {
  color: #fff;
}