/*================================
f-reset
================================*/
/* destyle.css v4.0.0 */
/* Reset box-model and set borders */
*,
::before,
::after {
  border-style: solid;
  border-width: 0;
  box-sizing: border-box;
}

/* Document */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
body {
  margin: 0;
}

main {
  display: block;
}

/* Vertical rhythm */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Lists (definition) */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
hr {
  border-top-width: 1px;
  box-sizing: content-box;
  clear: both;
  color: inherit;
  height: 0;
  margin: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

/* Text-level semantics */
a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  border-radius: 0;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0;
  text-align: inherit;
  text-transform: inherit;
  vertical-align: middle;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  min-width: 0;
  padding: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type=number] {
  -moz-appearance: textfield;
}

label[for] {
  cursor: pointer;
}

/* Interactive */
details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
table {
  border-collapse: collapse;
  border-color: inherit;
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/*================================
f-base
================================*/
html {
  font-size: 62.5%;
}

body {
  background-color: #fff;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8889;
  overflow-x: hidden;
  position: relative;
}
body.is-not-scroll {
  overflow: hidden;
}

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

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

img {
  border: none;
  display: block;
  height: auto;
  max-width: 100%;
}

picture {
  display: block;
}

*:focus-visible {
  border-color: #05a3cb;
  border-radius: 5px;
  outline: solid 2px #05a3cb;
}
/*================================
l-header
================================*/
.l-header {
  background: #fff;
  height: 70px;
  left: 0;
  line-height: 70px;
  position: sticky;
  top: 0;
  transition: box-shadow 0.3s;
  width: 100%;
  z-index: 10;
}
.l-header.is-scroll {
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.16);
}

.l-header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-inline: 1.5vw 3.9166666667vw;
}

.l-header__logo {
  aspect-ratio: 319.891/32.9518;
  width: 320px;
}

.l-header__nav {
  height: 70px;
}

/*================================
l-toggle
================================*/
.l-toggle-icon {
  cursor: pointer;
  height: 51px;
  padding: 5px;
  position: fixed;
  right: 19px;
  top: 9px;
  width: 62px;
  z-index: 200;
}

.l-toggle-bars {
  height: 100%;
  position: relative;
}
.l-toggle-bars span {
  background: #1872b0;
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  transition: color 0.3s, width 0.5s, translate 0.5s, rotate 0.5s, left 0.5s;
  width: 100%;
}
.l-toggle-bars span:first-child {
  top: 0;
}
.l-toggle-bars span:nth-child(2) {
  top: 50%;
  translate: 0 -50%;
}
.l-toggle-bars span:last-child {
  bottom: 0;
}
.l-toggle-bars.is-white span {
  background: #fff;
}

.l-toggle-icon.is-open span:first-child {
  rotate: -45deg;
  translate: 0 19px;
}
.l-toggle-icon.is-open span:nth-child(2) {
  left: 80px;
  opacity: 0;
}
.l-toggle-icon.is-open span:last-child {
  rotate: 45deg;
  translate: 0 -19px;
  width: 100%;
}

/*================================
l-drawer
================================*/
.l-drawer {
  background: #05a3cb;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.16);
  height: 100vh;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  opacity: 0;
  overflow: scroll;
  padding: 200px 40px 40px;
  position: fixed;
  right: 0;
  top: 0;
  transition: translate ease 0.5s, opacity ease 0.5s;
  translate: 100% 0;
  width: 450px;
  z-index: 100;
}
.l-drawer.is-open {
  opacity: 1;
  translate: 0;
}

.l-drawer__nav {
  color: #fff;
}

.l-drawer__mask {
  background: #fff;
  display: none;
  height: 100vh;
  left: 0;
  opacity: 0.7;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 50;
}

/*================================
l-main
================================*/
.l-inner {
  margin-inline: auto;
  max-width: 100%;
  padding-inline: 3.3333333333vw;
  width: 73.6666666667vw;
}

/*================================
l-footer
================================*/
.l-footer {
  background: #1872b0;
  height: 106px;
  width: 100%;
}

.l-footer__inner {
  display: grid;
  height: 100%;
  place-items: center;
}

.l-footer__content {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  text-align: center;
}

/*================================
l-floating
================================*/
.l-floating-box {
  background: #1872b0;
  height: clamp(82px, 6.8333333333vw, 106px);
  width: 100%;
}

#js-floating.is-scroll {
  opacity: 1;
  visibility: visible;
}
#js-floating.is-bottom {
  box-shadow: none;
}

#js-floating-sp.is-scroll {
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.16);
  opacity: 1;
  visibility: visible;
}

.l-floating {
  bottom: 0;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.16);
  left: 50%;
  margin-inline: auto;
  opacity: 0;
  position: fixed;
  transition: box-shadow 0.3s, opacity 0.3s, visibility 0.3s;
  translate: -50%;
  visibility: hidden;
  /* width: clamp(600px, 50vw, 780px); */
  width: clamp(700px, 58.3333vw, 910px);
  z-index: 10;
}

.l-floating__head {
  background: #05a3cb;
  color: #fff;
  font-size: 1.4rem;
  font-size: clamp(14px, 1.1666666667vw, 18px);
  font-weight: 700;
  height: clamp(25px, 2.0833333333vw, 392px);
  letter-spacing: 0.07em;
  line-height: clamp(25px, 2.0833333333vw, 392px);
  text-align: center;
}

.l-floating__body {
  background: #fff;
  display: flex;
  justify-content: space-between;
  padding-block: clamp(9px, 0.75vw, 11px) clamp(8px, 0.6666666667vw, 10px);
  /* padding-inline: clamp(29px, 2.4166666667vw, 37px); */
  padding-inline: clamp(11px, 0.9167vw, 37px);
}

.l-floating__lead {
  width: clamp(132px, 11vw, 171px);
}

.l-floating__btns {
  align-items: center;
  display: flex;
  /* gap: clamp(9px, 0.75vw, 11px); */
  gap: clamp(7px, 0.5833vw, 12px);
  margin-top: 1px;
}

.l-floating__btn {
  aspect-ratio: 192/39.2952;
  display: block;
  transition: opacity 0.3s;
  /* width: clamp(192px, 16vw, 249px); */
  width: clamp(173px, 14.4167vw, 224px);
}
.l-floating__btn:hover {
  opacity: 0.7;
}

/*================================
c-nav
================================*/
.c-nav__menu-list {
  align-items: center;
  display: flex;
  gap: 2.3333333333vw;
}

.c-nav__menu-link {
  color: #4d4d4d;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3657142857;
  transition: opacity 0.3s;
}
.c-nav__menu-link:hover {
  opacity: 0.7;
}

/*================================
c-cta
================================*/
.c-cta {
  background: #05a3cb;
  padding-block: 1.9166666667vw 2.1666666667vw;
}

.c-cta__content {
  background: #fff;
  border: solid 4px #e5e5e5;
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.2);
  margin-inline: auto;
  padding-block: 1.4166666667vw 1.75vw;
  text-align: center;
  /* width: 50vw; */
  width: 58.333vw;
}

.c-cta__ttl {
  border-bottom: solid 2px;
  color: #3281b5;
  font-size: 3rem;
  font-size: 2.5vw;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  margin-inline: auto;
  padding-bottom: 0.5vw;
  padding-inline: 0.5vw;
  width: -moz-fit-content;
  width: fit-content;
}

.c-cta__txt {
  color: #4d4d4d;
  font-size: 2.3rem;
  font-size: 1.9166666667vw;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1;
  margin-top: 1.1666666667vw;
}

.c-cta__btns {
  align-items: center;
  display: flex;
  /* gap: 1.4166666667vw; */
  gap: 0.5vw;
  justify-content: center;
  margin-top: 1.5833333333vw;
}

.c-cta__btn {
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.25));
  height: 5vw;
  transition: opacity 0.3s;
  /* width: 22.25vw; */
  width: 17.917vw;
}
.c-cta__btn:first-child {
  background: url(../img/common/cta-btn01.svg) no-repeat center center/contain;
}
.c-cta__btn:nth-child(2) {
  background: url(../img/common/cta-btn02.svg) no-repeat center center/contain;
}
.c-cta__btn:last-child {
  background: url(../img/common/cta-btn03.svg) no-repeat center center/contain;
}
.c-cta__btn:hover {
  opacity: 0.7;
}

/*================================
c-arrow-content
================================*/
.c-arrow-content {
  aspect-ratio: 1200/171;
  width: 100%;
}
.c-arrow-content.content01 {
  background: #f1f1f1;
}
/*================================
mv
================================*/
.p-mv {
  aspect-ratio: 1200/535;
  width: 100%;
}

/*================================
p-top
================================*/
.p-top {
  background: #cadfed;
  padding-block: 3.5833333333vw 5.4166666667vw;
}

.p-top__head {
  aspect-ratio: 406.322/78.8779;
  margin-inline: auto;
  translate: -0.8333333333vw;
  width: 33.8333333333vw;
}

.p-top__list {
  display: grid;
  grid-template-columns: repeat(2, 27.3333333333vw);
  grid-template-rows: repeat(2, 19.25vw);
  justify-content: center;
  margin-top: 3.3333333333vw;
  -moz-column-gap: 3.8333333333vw;
       column-gap: 3.8333333333vw;
  row-gap: 4.3333333333vw;
}

.p-top__item {
  position: relative;
}

.p-top__img {
  filter: drop-shadow(7px 7px 5px rgba(0, 0, 0, 0.2));
}

.p-top__ttl {
  aspect-ratio: 276.464/31.8642;
  bottom: -1.1666666667vw;
  left: 50%;
  position: absolute;
  translate: -50%;
  width: 23vw;
}

/*================================
p-present
================================*/
.p-present {
  margin-bottom: -0.3333333333vw;
  padding-top: 2.9166666667vw;
}

.p-present__head {
  color: #666;
  font-size: 2.7rem;
  font-size: 2.25vw;
  font-weight: 700;
  line-height: 1.457037037;
  text-align: center;
}
.p-present__head span {
  background: linear-gradient(transparent 70%, #fdf364 70%);
  display: block;
  margin-inline: auto;
  padding-inline: 0.5vw;
  width: -moz-fit-content;
  width: fit-content;
}

.p-present__note {
  color: #4d4d4d;
  font-size: 1.3rem;
  font-size: 1.0833333333vw;
  font-weight: 400;
  line-height: 1;
  margin-top: 1.75vw;
  text-align: center;
}

.p-present__arrow {
  aspect-ratio: 154.871/32;
  margin-inline: auto;
  margin-top: 1.5vw;
  width: 12.9166666667vw;
}

.p-present__img {
  margin-inline: auto;
  margin-top: 2.0833333333vw;
  width: 60.8333333333vw;
}

/*================================
p-secret
================================*/
.p-secret {
  aspect-ratio: 1200/1053;
  background: url(../img/main01/secret-bg.png) no-repeat center top/contain;
  padding-top: 46.4166666667vw;
  width: 100%;
}

.p-secret__lead {
  aspect-ratio: 586.295/70;
  margin-inline: auto;
  translate: -0.5vw;
  width: 48.8333333333vw;
}

.p-secret__txt {
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  line-height: 1.7777777778;
  margin-top: 2.5833333333vw;
  text-align: center;
}

.p-secret__doctor {
  aspect-ratio: 747/271;
  background: url(../img/main01/doctor-bg.png) no-repeat center center/contain;
  display: flex;
  filter: drop-shadow(7px 7px 7px rgba(0, 0, 0, 0.2));
  margin-inline: auto;
  margin-top: 6.5vw;
  padding-left: 3vw;
  width: 62.25vw;
}

.p-secret__doctor-left {
  flex: 0 0 37.8333333333vw;
  padding-top: 3.3333333333vw;
}

.p-secret__doctor-txt {
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  line-height: 1.7777777778;
}

.p-secret__doctor-btn {
  background: #1872b0;
  border-radius: 999px;
  color: #fff;
  display: block;
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  height: 4.75vw;
  line-height: 4.75vw;
  margin-top: 2.8333333333vw;
  padding-left: 2.1666666667vw;
  position: relative;
  transition: opacity 0.3s;
  width: 30.9166666667vw;
}
.p-secret__doctor-btn::after {
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
  display: block;
  height: 1vw;
  position: absolute;
  right: 1.6666666667vw;
  top: 50%;
  translate: 0 -50%;
  width: 0.5vw;
}
.p-secret__doctor-btn:hover {
  opacity: 0.7;
}

.p-secret__doctor-right {
  flex: 0 0 18.6666666667vw;
  padding-top: 3.0833333333vw;
}

.p-secret__doctor-img {
  aspect-ratio: 153.257/149;
  margin-inline: auto;
  width: 12.75vw;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.p-secret__doctor-name {
  font-size: 1.4rem;
  font-size: 1.1666666667vw;
  font-weight: 400;
  line-height: 1.5714285714;
  margin-top: 1.1666666667vw;
  text-align: center;
}

/*================================
p-media
================================*/
.p-media {
  margin-top: 4.1666666667vw;
  padding-bottom: 5.5833333333vw;
  position: relative;
}

.p-media__item + .p-media__item {
  margin-top: 3.8333333333vw;
}

.p-media__movie {
  aspect-ratio: 16/9;
  margin-inline: auto;
  width: 55.1666666667vw;
}
.p-media__movie iframe {
  height: 100%;
  width: 100%;
}

.p-media__ttl {
  color: #666;
  font-size: 2.1rem;
  font-size: 1.75vw;
  font-weight: 700;
  line-height: 1;
  margin-top: 1.5vw;
  text-align: center;
}

.p-media__bg-txt {
  aspect-ratio: 66.2588/933.111;
  bottom: 7.5833333333vw;
  left: -0.1666666667vw;
  position: absolute;
  width: 5.5vw;
}

/*================================
p-free
================================*/
.p-free {
  background: #f1f1f1;
  padding-block: 3vw 4.9166666667vw;
}

.p-free__head {
  color: #4d4d4d;
  font-size: 2.6rem;
  font-size: 2.1666666667vw;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  text-align: center;
}

.p-free__items {
  display: flex;
  gap: 4.1666666667vw;
  justify-content: center;
  margin-top: 3.9166666667vw;
}

.p-free__item {
  aspect-ratio: 374.04/243.067;
  flex: 0 0 31.1666666667vw;
  position: relative;
}

.p-free__ttl {
  bottom: -3.0833333333vw;
  left: 50%;
  position: absolute;
  translate: -50%;
}
.p-free__ttl.ttl01 {
  aspect-ratio: 205.417/71.1822;
  width: 17.1180833333vw;
}
.p-free__ttl.ttl02 {
  aspect-ratio: 297.132/71.1822;
  width: 24.761vw;
}

.p-free__card {
  background: #fff;
  border-radius: 0.6666666667vw;
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.2);
  margin-inline: auto;
  margin-top: 7.75vw;
  padding: 4.1666666667vw 3.4166666667vw 1.6666666667vw;
  position: relative;
  width: 58.3333333333vw;
}

.p-free__card-ttl {
  aspect-ratio: 426.076/43;
  left: 50%;
  position: absolute;
  top: -1.0833333333vw;
  translate: -50%;
  width: 35.5vw;
}

.p-free__card-item {
  color: #666;
  font-size: 2rem;
  font-size: 1.6666666667vw;
  font-weight: 700;
  line-height: 1.75;
  padding-left: 3.0833333333vw;
  position: relative;
}
.p-free__card-item + .p-free__card-item {
  margin-top: 0.8333333333vw;
}
.p-free__card-item span {
  background: linear-gradient(transparent 70%, #ffffdc 70%);
}
.p-free__card-item::before {
  aspect-ratio: 17.3348/16.6756;
  background: url(../img/main01/free-check.svg) no-repeat center center/contain;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0.8333333333vw;
  width: 1.4166666667vw;
}

.p-free__card-img {
  aspect-ratio: 123.236/198;
  background: url(../img/main01/free-card-img.png) no-repeat center center/contain;
  bottom: 0;
  position: absolute;
  right: 3.8333333333vw;
  width: 10.25vw;
}

/*================================
p-product
================================*/
.p-product {
  padding-block: 3.5vw 5.3333333333vw;
}

.p-product__head {
  aspect-ratio: 592/52.8744;
  margin-inline: auto;
  width: 49.3333333333vw;
}

.p-product__items {
  display: flex;
  gap: 4.25vw;
  justify-content: center;
  margin-top: 3.1666666667vw;
}

.p-product__item {
  flex: 0 0 30.5833333333vw;
}

.p-product__item-img {
  margin-inline: auto;
}
.p-product__item-img.img01 {
  aspect-ratio: 242.626/225;
  width: 20.1666666667vw;
}
.p-product__item-img.img02 {
  aspect-ratio: 310.093/225;
  width: 25.8333333333vw;
}

.p-product__ttl {
  color: #4d4d4d;
  font-size: 2.2rem;
  font-size: 1.8333333333vw;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  margin-top: 2.3333333333vw;
  text-align: center;
}

.p-product__txt {
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  line-height: 1.8888888889;
  margin-inline: auto;
  margin-top: 2vw;
  width: -moz-fit-content;
  width: fit-content;
}

.p-product__note {
  margin-top: 1.167vw;
  width: 28.333vw;
  font-size: 1vw;
  display: block;
  margin-inline: auto;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-product__note {
    width: 100%;
    margin-top: 3.125vw;
    font-size: 3.125vw;
  }
}

.p-product__lead {
  aspect-ratio: 702.04/27.7598;
  margin-inline: auto;
  margin-top: 5.9166666667vw;
  width: 58.5vw;
}

.p-product__img {
  aspect-ratio: 808/683.752;
  margin-top: 3.25vw;
  width: 100%;
}

.p-product__message {
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  line-height: 1.8888888889;
  margin-top: 3.0833333333vw;
  text-align: center;
}

/*================================
p-features
================================*/
.p-features {
  background: #05a3cb;
}

.p-features__head {
  aspect-ratio: 407.788/127.655;
  margin-inline: auto;
  translate: 0 -1px;
  width: 34vw;
}

.p-features__content {
  position: relative;
}
.p-features__content:nth-of-type(odd) {
  color: #fff;
}
.p-features__content:nth-of-type(even) {
  background: #fff;
}
.p-features__content:nth-of-type(even) .p-features__ttl {
  color: #05a3cb;
}
.p-features__content:nth-of-type(even) .p-features__txt {
  color: #000;
}
.p-features__content.content01 {
  padding-block: 5.5vw 2.0833333333vw;
}
.p-features__content.content02 {
  clip-path: polygon(0 12.8058%, 100% 0, 100% 87.1942%, 0 100%);
  height: 57.9166666667vw;
  padding-block: 7.9166666667vw 10.5833333333vw;
}
.p-features__content.content03 {
  padding-block: 0.25vw 4vw;
}
.p-features__content.content04 {
  clip-path: polygon(0 0, 100% 12.8058%, 100% 100%, 0 87.1942%);
  height: 57.9166666667vw;
  padding-block: 9.8333333333vw 11.25vw;
}
.p-features__content.content05 {
  padding-block: 4.25vw 2.1666666667vw;
}
.p-features__content.content06 {
  clip-path: polygon(0 15.5594%, 100% 0, 100% 100%, 0 100%);
  height: 47.6666666667vw;
  padding-block: 8.3333333333vw 5.4166666667vw;
}

.p-features__point {
  box-sizing: content-box;
}
.p-features__point.point01 {
  aspect-ratio: 148.007/44.6055;
  padding-left: 0.0833333333vw;
  width: 12.3333333333vw;
}
.p-features__point.point02 {
  aspect-ratio: 162.891/44.6064;
  margin-left: auto;
  padding-right: 0.6666666667vw;
  width: 13.5vw;
}
.p-features__point.point03 {
  aspect-ratio: 160.797/44.7324;
  margin-inline: auto;
  padding-right: 1.3333333333vw;
  width: 13.3333333333vw;
}
.p-features__point.point04 {
  aspect-ratio: 162.75/44.6074;
  padding-left: 0.25vw;
  width: 13.5vw;
}
.p-features__point.point05 {
  aspect-ratio: 158.591/44.6055;
  margin-left: auto;
  padding-right: 0.25vw;
  width: 13.1666666667vw;
}
.p-features__point.point06 {
  aspect-ratio: 160.481/44.6074;
  margin-inline: auto;
  padding-right: 1.4166666667vw;
  width: 13.3333333333vw;
}

.p-features__ttl {
  font-size: 2.8rem;
  font-size: 2.3333333333vw;
  font-weight: 700;
  line-height: 1.3771428571;
  width: -moz-fit-content;
  width: fit-content;
}
.p-features__ttl.ttl01 {
  margin-top: 3.0833333333vw;
}
.p-features__ttl.ttl02 {
  margin-left: auto;
  margin-top: 2.5vw;
}
.p-features__ttl.ttl03 {
  margin-inline: auto;
  margin-top: 2.1666666667vw;
}
.p-features__ttl.ttl04 {
  margin-top: 2.6666666667vw;
}
.p-features__ttl.ttl05 {
  margin-left: auto;
  margin-top: 1.6666666667vw;
}
.p-features__ttl.ttl06 {
  margin-inline: auto;
  margin-top: 2.1666666667vw;
}

.p-features__txt {
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  line-height: 1.8888888889;
  width: -moz-fit-content;
  width: fit-content;
}
.p-features__txt.txt01 {
  margin-top: 3.5833333333vw;
}
.p-features__txt.txt02 {
  margin-left: auto;
  margin-top: 1.8333333333vw;
}
.p-features__txt.txt04 {
  margin-top: 2vw;
}
.p-features__txt.txt05 {
  margin-left: auto;
  margin-top: 2.25vw;
}

.p-features__img {
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.25);
  position: absolute;
}
.p-features__img.img01 {
  aspect-ratio: 490/327;
  bottom: 4.25vw;
  right: 0;
  width: 40.8333333333vw;
}
.p-features__img.img02 {
  aspect-ratio: 488/325.333;
  bottom: 16.1666666667vw;
  left: 0;
  width: 40.6666666667vw;
}
.p-features__img.img04 {
  aspect-ratio: 501/326;
  bottom: 14.0833333333vw;
  right: 0;
  width: 41.75vw;
}
.p-features__img.img05 {
  aspect-ratio: 490/327;
  bottom: 3.4166666667vw;
  left: 0;
  width: 40.8333333333vw;
}

.p-features__img03 {
  box-shadow: 8.4677px 7.4093px 10.5847px rgba(119, 119, 119, 0.5);
  margin-inline: auto;
  margin-top: 4.25vw;
  width: 66.6666666667vw;
}

.p-features__list {
  display: flex;
  gap: 1vw;
  justify-content: center;
  margin-top: 4.5vw;
}

.p-features__item-img {
  aspect-ratio: 258.515/199.465;
  width: 21.5vw;
}

/*================================
p-symptom
================================*/
.p-symptom {
  background: #cadfed;
  padding-block: 5.6666666667vw;
}

.p-symptom__head {
  aspect-ratio: 425.084/34.916;
  margin-inline: auto;
  width: 35.4166666667vw;
}

.p-symptom__slide-box {
  margin-top: 5.6666666667vw;
}

.p-symptom__slide {
  aspect-ratio: 599/571.734;
  margin-inline: auto;
  width: 49.9166666667vw;
}

.p-symptom__link {
  aspect-ratio: 600/105;
  display: block;
  margin-inline: auto;
  margin-top: 8.4166666667vw;
  transition: opacity 0.3s;
  width: 50vw;
}
.p-symptom__link:hover {
  opacity: 0.7;
}

.swiper-container {
  height: 100%;
  position: relative;
  width: 100%;
}

.swiper {
  height: 100%;
  position: relative;
  width: 100%;
}

.swiper-wrapper {
  height: 100%;
  position: relative;
  width: 100%;
}

.swiper-slide {
  position: relative;
}

.swiper-button-prev,
.swiper-button-next {
  aspect-ratio: 15/26;
  top: 24.3333333333vw;
  width: 1.25vw;
  z-index: 1;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.swiper-button-prev {
  background: url(../img/main02/arrow-prev.svg) no-repeat center center/contain;
  left: calc(50% - 32.6666666667vw);
}

.swiper-button-next {
  background: url(../img/main02/arrow-next.svg) no-repeat center center/contain;
  right: calc(50% - 32.6666666667vw);
}

/*================================
p-comparison
================================*/
.p-comparison {
  padding-block: 4.3333333333vw 4.6666666667vw;
}

.p-comparison__head {
  aspect-ratio: 218.561/34.9307;
  margin-inline: auto;
  width: 18.1666666667vw;
}

.p-comparison__table {
  aspect-ratio: 798.648/635.155;
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.2));
  margin-inline: auto;
  margin-top: 3.25vw;
  width: 66.5vw;
}

/*================================

================================*/
.p-price {
  padding-block: 4.4166666667vw 5.75vw;
}

.p-price__head {
  aspect-ratio: 517.374/33.7432;
  margin-inline: auto;
  width: 43.0833333333vw;
}

.p-price__list {
  margin-top: 5.4166666667vw;
}

.p-price__item + .p-price__item {
  margin-top: 3.75vw;
}

.p-price__note {
  display: block;
  font-size: 1.3rem;
  font-size: 1.0833333333vw;
  font-weight: 400;
  line-height: 1;
  padding-right: 0.6666666667vw;
  text-align: right;
}

.p-price__table {
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.2));
  margin-top: 2.5vw;
}
.p-price__table.table00 {
  margin-top: 1.0833333333vw;
}
.p-price__table.table01 {
  margin-top: 3.1666666667vw;
}

.p-price__txts {
  display: flex;
}
.p-price__txts:has(.txt01) {
  align-items: end;
  gap: 3.9166666667vw;
}
.p-price__txts:has(.txt02) {
  align-items: center;
  gap: 4.6666666667vw;
}

.p-price__ttl {
  box-sizing: content-box;
  position: relative;
}
.p-price__ttl.ttl01 {
  aspect-ratio: 95.834/22.106;
  width: 7.9166666667vw;
}
.p-price__ttl.ttl02 {
  aspect-ratio: 130.874/22.8262;
  width: 10.8333333333vw;
}
.p-price__ttl.ttl03 {
  aspect-ratio: 190.801/22.7783;
  width: 15.8333333333vw;
}
.p-price__ttl.ttl04 {
  aspect-ratio: 446.836/20.1143;
  padding-left: 0.25vw;
  width: 37.1666666667vw;
}
.p-price__ttl:not(.ttl04) {
  padding-left: 3.5833333333vw;
}
.p-price__ttl:not(.ttl04)::before {
  aspect-ratio: 1;
  background: #05a3cb;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 1.9166666667vw;
}
.p-price__txt.txt01 {
  font-size: 1.3rem;
  font-size: 1.0833333333vw;
  font-weight: 400;
  line-height: 1.4038461538;
  margin-bottom: -0.25vw;
}
.p-price__txt.txt02 {
  font-size: 1.6rem;
  font-size: 1.3333333333vw;
  font-weight: 400;
  line-height: 1.140625;
}

.p-price__tip {
  margin-top: 5.5vw;
}

.p-price__tip-head {
  border: solid 0.25vw;
  border-radius: 999px;
  color: #1872b0;
  font-size: 2.3rem;
  font-size: 1.9166666667vw;
  font-weight: 700;
  height: 4.1666666667vw;
  letter-spacing: -0.025em;
  line-height: 3.5vw;
  margin-inline: auto;
  text-align: center;
  width: 20.8333333333vw;
}

.p-price__bottom-note {
  margin-top: 0.667vw;
  font-size: max(0.917vw, 11px);
}

.p-price__tip-txt {
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  margin-top: 1.5vw;
  text-align: center;
}
.p-price__tip-txt span {
  background: linear-gradient(transparent 70%, #fbed21 70%);
  font-weight: 700;
}

.p-price__payment {
  margin-top: 4.9166666667vw;
}

.p-price__payment-head {
  aspect-ratio: 297/51;
  margin-inline: auto;
  width: 24.75vw;
}

.p-price__payment-txt {
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 3.4166666667vw;
  text-align: center;
}

.p-price__icons {
  display: flex;
  justify-content: center;
  margin-top: 3.9166666667vw;
  -moz-column-gap: 4.6666666667vw;
       column-gap: 4.6666666667vw;
}

.p-price__icon-item {
  padding-bottom: 2vw;
  position: relative;
}

.p-price__icon {
  aspect-ratio: 1;
  width: 8.9166666667vw;
}

.p-price__icon-txt {
  bottom: 0;
  font-size: 1.6rem;
  font-size: 1.3333333333vw;
  font-weight: 400;
  left: 50%;
  letter-spacing: -0.025em;
  line-height: 1;
  position: absolute;
  translate: -50%;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
}

.p-price__flex-cards {
  align-items: center;
  display: flex;
  gap: 2vw;
  justify-content: space-between;
  margin-top: 3.5833333333vw;
}

.p-price__card {
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
}
.p-price__card.card01, .p-price__card.card02 {
  aspect-ratio: 388.938/109.971;
  width: calc(50% - 11.5px);
}
.p-price__card.card03 {
  aspect-ratio: 803.153/169.485;
  margin-top: 2.6666666667vw;
  width: 100%;
}
.p-price__card.card04 {
  aspect-ratio: 803.153/315.537;
  margin-top: 2.6666666667vw;
  width: 100%;
}

/*================================
p-flow
================================*/
.p-flow {
  background: #f1f1f1;
  padding-bottom: 4.25vw;
}

.p-flow__head {
  aspect-ratio: 310.454/122.989;
  margin-inline: auto;
  translate: 0 -1px;
  width: 25.8333333333vw;
}

.p-flow__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 4.5vw;
  -moz-column-gap: 4.4166666667vw;
       column-gap: 4.4166666667vw;
  row-gap: 5.1666666667vw;
}

.p-flow__item {
  width: 19.1666666667vw;
}

.p-flow__img-box {
  position: relative;
}

.p-flow__step {
  aspect-ratio: 100.455/42.9375;
  left: -0.5833333333vw;
  position: absolute;
  top: -0.3333333333vw;
  width: 8.3333333333vw;
}

.p-flow__ttl {
  color: #4d4d4d;
  font-size: 2.094rem;
  font-size: 1.745vw;
  font-weight: 700;
  line-height: 1.4278892073;
  margin-top: 1.6666666667vw;
  text-align: center;
}

.p-flow__txt {
  font-size: 1.6rem;
  font-size: 1.3333333333vw;
  font-weight: 400;
  line-height: 1.86875;
  margin-inline: -0.3333333333vw;
  margin-top: 1.75vw;
  width: 19.8333333333vw;
}

/*================================
p-faq
================================*/
.p-faq {
  padding-block: 6.4166666667vw 6vw;
  position: relative;
}
.p-faq::before, .p-faq::after {
  aspect-ratio: 490/497;
  content: "";
  position: absolute;
  width: 40.8333333333vw;
  z-index: -1;
}
.p-faq::before {
  background: url(../img/main03/faq-bg-top.png) no-repeat center center/contain;
  right: 0;
  top: 0;
}
.p-faq::after {
  background: url(../img/main03/faq-bg-bottom.png) no-repeat center center/contain;
  bottom: 0;
  left: 0;
}

.p-faq__head {
  aspect-ratio: 222.634/38.6328;
  margin-inline: auto;
  width: 18.5vw;
}

.p-faq__list {
  margin-top: 4.25vw;
}

.p-faq__item {
  cursor: pointer;
}
.p-faq__item + .p-faq__item {
  margin-top: 2.4166666667vw;
}

.p-faq__q {
  background: #05a3cb;
  color: #fff;
  font-size: 2rem;
  font-size: 1.6666666667vw;
  font-weight: 700;
  line-height: 1.7;
  padding-block: 1.0833333333vw;
  padding-left: 5.9166666667vw;
  position: relative;
}
.p-faq__q::before {
  aspect-ratio: 17.8188/22.1387;
  background: url(../img/main03/faq-q.svg) no-repeat center center/contain;
  content: "";
  left: 2.0833333333vw;
  position: absolute;
  top: 1.4166666667vw;
  width: 1.5vw;
}

.p-faq__q .icon {
  aspect-ratio: 1;
  position: absolute;
  right: 2.4166666667vw;
  top: 1.75vw;
  width: 1.3333333333vw;
}
.p-faq__q .icon::before, .p-faq__q .icon::after {
  background: #fff;
  border-radius: 999px;
  content: "";
  height: 0.1666666667vw;
  left: 50%;
  position: absolute;
  top: 50%;
  translate: -50% -50%;
  width: 100%;
}
.p-faq__q .icon::after {
  rotate: 90deg;
  transition: rotate 0.3s, opacity 0.4s;
}

.is-open .p-faq__q .icon::after {
  opacity: 0;
  rotate: 0deg;
}

.p-faq__a {
  display: none;
  font-size: 1.8rem;
  font-size: 1.5vw;
  font-weight: 400;
  line-height: 1.8888888889;
  margin-top: 1.5vw;
  padding-inline: 6.25vw 3.0833333333vw;
  position: relative;
}
.p-faq__a::before {
  aspect-ratio: 18.4194/20.6992;
  background: url(../img/main03/faq-a.svg) no-repeat center center/contain;
  content: "";
  left: 2.0833333333vw;
  position: absolute;
  top: 0.75vw;
  width: 1.5vw;
}

.p-faq__head-child {
  aspect-ratio: 289.49/35.1523;
  margin-inline: auto;
  margin-top: 6.1666666667vw;
  width: 24.0833333333vw;
}
.p-faq__head-child + .p-faq__list {
  margin-top: 3.75vw;
}

/*================================
p-access
================================*/
.p-access {
  background: #f1f1f1;
  padding-block: 3.5vw 4.0833333333vw;
}

.p-access__inner {
  width: 90vw;
}

.p-access__head {
  aspect-ratio: 189.194/38.9346;
  margin-inline: auto;
  width: 15.75vw;
}

.p-access__items {
  display: flex;
  gap: 1.6666666667vw;
  justify-content: space-between;
  margin-top: 3.9166666667vw;
}

.p-access__item {
  /* width: calc(33.3333% - 1.917vw); */
  width: calc(33.3333% - 1.666667vw);
}

.p-access__img {
  aspect-ratio: 372.293/229.159;
  width: 100%;
}

.p-access__name {
  color: #1872b0;
  /* font-size: 1.6666666667vw; */
  font-size: 1.411vw;
  font-weight: 700;
  line-height: 1.46;
  margin-top: 2vw;
}

.p-access__address {
  flex-grow: 1;
  /* font-size: 1.4166666667vw; */
  font-size: 1.22vw;
  font-weight: 400;
  line-height: 1.4411764706;
  margin-top: 1.1666666667vw;
}

.p-access__table {
  aspect-ratio: 374.006/134.4;
  margin-top: 1.5833333333vw;
  width: 100%;
}

.p-access__map {
  aspect-ratio: 371.914/190.726;
  margin-top: 2.0833333333vw;
  width: 100%;
}
.p-access__map iframe {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1199px) {
  .p-price__txts {
    flex-direction: column;
  }
  .u-dn-pc-max {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .l-header__inner {
    height: inherit;
  }
  .c-nav__menu-list {
    flex-direction: column;
    gap: 40px;
  }
  .c-nav__menu-link {
    color: #fff;
    font-size: 24px;
  }
  .u-dn-xl-max {
    display: none;
  }
}
@media screen and (max-width: 899px) {
  .u-dn-lg-max {
    display: none;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-top__ttl.ttl01 {
    width: 37.96875vw;
  }
}
@media screen and (max-width: 767px) {
  .l-header {
    height: 15.625vw;
    line-height: 15.625vw;
  }
  .l-header__inner {
    padding-bottom: 0.78125vw;
    padding-inline: 4.375vw;
  }
  .l-header__logo {
    width: 65.15625vw;
  }
  .l-toggle-icon {
    height: 8.125vw;
    padding: 0.78125vw;
    right: 2.96875vw;
    top: 3.75vw;
    width: 9.53125vw;
  }
  .l-toggle-icon.is-open span:first-child {
    translate: 0 3.046875vw;
  }
  .l-toggle-icon.is-open span:last-child {
    translate: 0 -3.046875vw;
  }
  .l-drawer {
    padding: 38.4375vw 3.75vw;
    width: 91vw;
  }
  .l-inner {
    padding-inline: 3.90625vw;
    width: 100%;
  }
  .l-footer {
    height: 20.15625vw;
  }
  .l-footer__content {
    font-size: 2.4rem;
    font-size: 3.75vw;
    font-weight: 500;
    line-height: 1.6666666667;
    padding-bottom: 1.5625vw;
  }
  .l-floating {
    bottom: auto;
    top: 15.625vw;
    width: 100%;
  }
  .l-floating__head {
    font-size: 3.90625vw;
    height: 6.71875vw;
    letter-spacing: 0.007em;
    line-height: 6.71875vw;
  }
  .l-floating__body {
    padding-block: 1.5625vw;
    padding-inline: 1.5625vw;
  }
  .l-floating__btns {
    /* gap: 2.1875vw; */
    gap: 1.7188vw;
    margin-top: 0;
  }
  .l-floating__btn {
    aspect-ratio: 303.322/62.0789;
    /* width: 47.34375vw; */
    width: 30.7813vw;
  }
  .c-nav__menu-list {
    gap: 8.4375vw;
  }
  .c-nav__menu-item:first-child .c-nav__menu-link {
    font-size: 5.3125vw;
  }
  .c-nav__menu-item:last-child .c-nav__menu-link {
    font-size: 5.3125vw;
  }
  .c-nav__menu-link {
    font-size: 3.2rem;
    font-size: 5vw;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.1875;
  }
  .c-cta {
    padding-block: 6.09375vw 6.25vw;
    padding-inline: 3.90625vw;
  }
  .c-cta__content {
    padding-block: 3.28125vw 5.625vw;
    width: 100%;
  }
  .c-cta__ttl {
    font-size: 6.40625vw;
    padding-bottom: 2.1875vw;
    padding-inline: 0;
  }
  .c-cta__txt {
    font-size: 4.6875vw;
    margin-top: 2.34375vw;
  }
  .c-cta__btns {
    flex-direction: column;
    gap: 3.75vw;
    margin-top: 5.78125vw;
  }
  .c-cta__btn {
    height: 18.59375vw;
    width: 82.03125vw;
  }
  .p-mv {
    aspect-ratio: 640/1135;
  }
  .p-banner {
    width: 100%;
    aspect-ratio: 120/31;
  }
  
  @media screen and (max-width: 767px) {
    .p-banner img {
    width: 100%;
    height: 100%;
    scale: 1.03;
    translate: 1.5%;
    }
  }

  @media screen and (max-width: 767px) {
    .p-banner {
    aspect-ratio: 639/521;
    overflow: hidden;
    }
  }

  .p-top {
    padding-block: 7.34375vw 19.21875vw;
  }
  .p-top__head {
    translate: 0;
    width: 77.03125vw;
  }
  .p-top__list {
    column-gap: 3.28125vw;
    grid-template-columns: repeat(2, 44.375vw);
    grid-template-rows: repeat(2, 39.53125vw);
    margin-top: 9.6875vw;
    row-gap: 19.21875vw;
  }
  .p-top__ttl {
    aspect-ratio: 265/84;
    bottom: -11.5625vw;
    left: calc(50% - 0.78125vw);
    width: 41.40625vw;
  }
  .p-present {
    margin-bottom: 0.78125vw;
    padding-top: 6.09375vw;
  }
  .p-present__head {
    font-size: 6.25vw;
    line-height: 1.584;
  }
  .p-present__head span {
    padding-inline: 1.5625vw;
  }
  .p-present__note {
    font-size: 3.125vw;
    margin-top: 3.4375vw;
  }
  .p-present__arrow {
    margin-top: 3.125vw;
    width: 38.90625vw;
  }
  .p-present__img {
    margin-inline: -2.96875vw;
    margin-top: 5.78125vw;
    width: 98.5vw;
  }
  .p-secret {
    aspect-ratio: 1281/2521;
    background: url(../img/main01/sp/secret-bg.png) no-repeat center top/contain;
    margin-top: -0.78125vw;
    padding-top: 129.84375vw;
  }
  .p-secret__lead {
    aspect-ratio: 511.004/141.092;
    translate: -1.5625vw;
    width: 79.84375vw;
  }
  .p-secret__txt {
    font-size: 4.53125vw;
    line-height: 1.724137931;
    margin-top: 19.0625vw;
  }
  .p-secret__doctor {
    align-items: center;
    aspect-ratio: 599/878.5;
    background: url(../img/main01/sp/doctor-bg.png) no-repeat center center/contain;
    flex-direction: column;
    margin-inline: -0.625vw;
    margin-top: 11.25vw;
    padding-inline: 5.3125vw 4.21875vw;
    padding-top: 3.90625vw;
    width: calc(100% + 1.25vw);
  }
  .p-secret__doctor-left {
    display: contents;
  }
  .p-secret__doctor-txt {
    font-size: 4.53125vw;
    line-height: 1.724137931;
  }
  .p-secret__doctor-btn {
    font-size: 3.90625vw;
    height: 12.34375vw;
    line-height: 11.875vw;
    margin-top: 5.46875vw;
    order: 2;
    padding-left: 5.78125vw;
    width: 81.25vw;
  }
  .p-secret__doctor-btn::after {
    height: 2.65625vw;
    right: 4.375vw;
    width: 1.25vw;
  }
  .p-secret__doctor-right {
    display: contents;
  }
  .p-secret__doctor-img {
    margin-top: 5.15625vw;
    width: 54.21875vw;
  }
  .p-secret__doctor-img img {
    width: 100%;
    height: 100%;
  }
  .p-secret__doctor-name {
    font-size: 4.21875vw;
    line-height: 1.8518518519;
    margin-top: 3.90625vw;
  }
  .p-secret__doctor-name span {
    display: block;
    font-size: 4.53125vw;
    line-height: 1.724137931;
    margin-top: -0.3125vw;
  }
  .p-media {
    margin-top: 14.0625vw;
    padding-bottom: 12.03125vw;
  }
  .p-media__item + .p-media__item {
    margin-top: 7.34375vw;
  }
  .p-media__movie {
    width: 100%;
  }
  .p-media__ttl {
    font-size: 4.53125vw;
    line-height: 1.3782758621;
    margin-top: 2.96875vw;
  }
  .p-media__bg-txt {
    display: none;
  }
  .p-free {
    padding-block: 8.28125vw 9.84375vw;
  }
  .p-free__head {
    font-size: 5vw;
  }
  .p-free__items {
    flex-direction: column;
    gap: 14.0625vw;
    margin-top: 12.1875vw;
  }
  .p-free__item {
    flex-basis: auto;
    width: 100%;
  }
  .p-free__ttl {
    bottom: -7.1875vw;
  }
  .p-free__ttl.ttl01 {
    width: 45vw;
  }
  .p-free__ttl.ttl02 {
    width: 63.90625vw;
  }
  .p-free__card {
    margin-top: 16.875vw;
    padding: 9.6875vw 4.375vw 5.625vw;
    width: 100%;
  }
  .p-free__card-ttl {
    top: -2.03125vw;
    width: 78.28125vw;
  }
  .p-free__card-item {
    font-size: 4.84375vw;
    line-height: 1.8477419355;
    padding-left: 9.375vw;
  }
  .p-free__card-item + .p-free__card-item {
    margin-top: 2.1875vw;
  }
  .p-free__card-item::before {
    background: url(../img/main01/sp/free-check.svg) no-repeat center center/contain;
    top: 2.8125vw;
    width: 4.375vw;
  }
  .p-free__card-img {
    right: 5vw;
    width: 19.21875vw;
  }
  .p-product {
    padding-block: 6.71875vw 7.96875vw;
  }
  .p-product__head {
    width: 100%;
  }
  .p-product__items {
    flex-direction: column;
    gap: 7.03125vw;
    margin-top: 5.625vw;
  }
  .p-product__item {
    flex-basis: auto;
    width: 100%;
  }
  .p-product__item-img.img01 {
    width: 51.25vw;
  }
  .p-product__item-img.img02 {
    width: 59.84375vw;
  }
  .p-product__ttl {
    font-size: 5.46875vw;
    margin-top: 6.25vw;
  }
  .p-product__txt {
    font-size: 4.53125vw;
    line-height: 1.724137931;
    margin-inline: 0;
    margin-top: 5.78125vw;
  }
  .p-product__lead {
    margin-top: 13.28125vw;
    width: 80.15625vw;
  }
  .p-product__img {
    aspect-ratio: 591.662/1134.36;
    margin-top: 11.25vw;
  }
  .p-product__message {
    font-size: 4.53125vw;
    line-height: 1.724137931;
    margin-top: 6.875vw;
  }
  .p-features__head {
    width: 81.25vw;
  }
  .p-features__content.content01 {
    padding-block: 11.25vw 5.3125vw;
  }
  .p-features__content.content02 {
    clip-path: polygon(0 3.5137%, 100% 0, 100% 96.4863%, 0 100%);
    height: 222.34375vw;
    padding-block: 14.53125vw 17.1875vw;
  }
  .p-features__content.content03 {
    padding-block: 5.46875vw 10.9375vw;
  }
  .p-features__content.content04 {
    clip-path: polygon(0 0, 100% 3.7037%, 100% 100%, 0 96.2963%);
    height: 210.9375vw;
    padding-block: 12.65625vw 18.59375vw;
  }
  .p-features__content.content05 {
    padding-block: 5vw 4.53125vw;
  }
  .p-features__content.content06 {
    clip-path: polygon(0 5.6818%, 100% 0, 100% 100%, 0 100%);
    height: 137.5vw;
    padding-block: 11.40625vw 10vw;
  }
  .p-features__point {
    margin-inline: auto;
  }
  .p-features__point.point01 {
    padding-left: 0;
    width: 23.125vw;
  }
  .p-features__point.point02 {
    padding-right: 0;
    width: 25.3125vw;
  }
  .p-features__point.point03 {
    padding-right: 0;
    width: 25vw;
  }
  .p-features__point.point04 {
    padding-left: 0;
    width: 25.3125vw;
  }
  .p-features__point.point05 {
    padding-right: 0;
    width: 24.6875vw;
  }
  .p-features__point.point06 {
    padding-right: 0;
    width: 25vw;
  }
  .p-features__ttl {
    font-size: 5.9375vw;
    line-height: 1.3684210526;
    margin-inline: auto;
    text-align: center;
  }
  .p-features__ttl.ttl01 {
    margin-top: 5.78125vw;
  }
  .p-features__ttl.ttl02 {
    margin-top: 7.03125vw;
  }
  .p-features__ttl.ttl03 {
    margin-top: 6.5625vw;
  }
  .p-features__ttl.ttl04 {
    margin-top: 3.59375vw;
  }
  .p-features__ttl.ttl05 {
    margin-top: 4.6875vw;
  }
  .p-features__ttl.ttl06 {
    margin-top: 5.15625vw;
  }
  .p-features__txt {
    font-size: 4.53125vw;
    line-height: 1.724137931;
  }
  .p-features__txt.txt01 {
    margin-top: 7.65625vw;
  }
  .p-features__txt.txt02 {
    margin-top: 5.46875vw;
  }
  .p-features__txt.txt04 {
    margin-top: 7.96875vw;
  }
  .p-features__txt.txt05 {
    margin-top: 7.03125vw;
  }
  .p-features__img {
    position: static;
  }
  .p-features__img.img01 {
    margin-top: 6.25vw;
    width: 100%;
  }
  .p-features__img.img02 {
    margin-top: 7.5vw;
    width: 100%;
  }
  .p-features__img.img04 {
    margin-top: 5.9375vw;
    width: 100%;
  }
  .p-features__img.img05 {
    margin-top: 6.09375vw;
    width: 100%;
  }
  .p-features__img03 {
    margin-top: 5.46875vw;
    width: 100%;
  }
  .p-features__list {
    column-gap: 2.1875vw;
    flex-wrap: wrap;
    margin-top: 6.875vw;
    row-gap: 7.1875vw;
  }
  .p-features__item {
    margin-inline: auto;
    width: calc(50% - 7px);
  }
  .p-features__item:last-child {
    translate: -1.5625vw;
    width: 55.625vw;
  }
  .p-features__item:last-child img {
    aspect-ratio: 355.352/257.752;
  }
  .p-features__item-img {
    width: 100%;
  }
  .p-symptom {
    padding-block: 8.90625vw;
  }
  .p-symptom__head {
    width: 81.09375vw;
  }
  .p-symptom__slide-box {
    margin-top: 10.9375vw;
  }
  .p-symptom__slide {
    width: 87.1875vw;
  }
  .p-symptom__link {
    aspect-ratio: 558.5/145.8;
    margin-top: 9.21875vw;
    width: 91.875vw;
  }
  .swiper-button-prev,
  .swiper-button-next {
    top: 41.71875vw;
    width: 2.34375vw;
  }
  .swiper-button-prev {
    left: calc(50% - 47.1875vw);
  }
  .swiper-button-next {
    right: calc(50% - 47.1875vw);
  }
  .p-comparison {
    padding-block: 6.09375vw 8.125vw;
  }
  .p-comparison__head {
    width: 37.8125vw;
  }
  .p-comparison__table {
    aspect-ratio: 590.746/881.739;
    margin-top: 7.96875vw;
    width: 92.1875vw;
  }
  .p-price {
    padding-block: 6.71875vw 7.96875vw;
  }
  .p-price__head {
    width: 90vw;
  }
  .p-price__list {
    margin-top: 10.15625vw;
  }
  .p-price__item + .p-price__item {
    margin-top: 8.125vw;
  }
  .p-price__note {
    font-size: 2.5vw;
    padding-right: 0.15625vw;
  }
  .p-price__table {
    margin-top: 4.375vw;
  }
  .p-price__table.table00 {
    margin-top: 1.875vw;
  }
  .p-price__table.table01 {
    margin-top: 5.625vw;
  }
  .p-price__table.table04 {
    margin-top: 6.875vw;
  }
  .p-price__txts:has(.txt01) {
    align-items: flex-start;
    gap: 4.21875vw;
  }
  .p-price__txts:has(.txt02) {
    align-items: flex-start;
    gap: 4.53125vw;
  }
  .p-price__ttl.ttl01 {
    width: 24.53125vw;
  }
  .p-price__ttl.ttl02 {
    width: 32.8125vw;
  }
  .p-price__ttl.ttl03 {
    width: 49.0625vw;
  }
  .p-price__ttl.ttl04 {
    padding-left: 0.625vw;
    width: 89.53125vw;
  }
  .p-price__ttl:not(.ttl04) {
    padding-left: 5vw;
  }
  .p-price__ttl:not(.ttl04)::before {
    width: 3.59375vw;
  }
  .p-price__txt {
    padding-left: 0.78125vw;
  }
  .p-price__txt.txt01 {
    font-size: 3.28125vw;
    margin-bottom: 0;
  }
  .p-price__txt.txt02 {
    font-size: 3.28125vw;
  }
  .p-price__bottom-note {
    margin-top: 2.5vw;
    font-size: 3.125vw;
  }
  .p-price__tip {
    margin-top: 10.46875vw;
  }
  .p-price__tip-head {
    border: solid 0.46875vw;
    font-size: 4.84375vw;
    height: 10.15625vw;
    line-height: 8.75vw;
    width: 52.03125vw;
  }
  .p-price__tip-txt {
    font-size: 4.53125vw;
    line-height: 1.724137931;
    margin-top: 5.9375vw;
    text-align: left;
  }
  .p-price__payment {
    margin-top: 8.125vw;
  }
  .p-price__payment-head {
    width: 68.75vw;
  }
  .p-price__payment-txt {
    font-size: 4.53125vw;
    line-height: 1.724137931;
    margin-top: 6.25vw;
    text-align: left;
  }
  .p-price__icons {
    column-gap: 12.1875vw;
    display: grid;
    grid-template-columns: repeat(2, 24.375vw);
    margin-top: 4.53125vw;
    row-gap: 6.09375vw;
  }
  .p-price__icon-item {
    padding-bottom: 5.9375vw;
  }
  .p-price__icon {
    width: 24.375vw;
  }
  .p-price__icon-txt {
    font-size: 3.75vw;
    font-weight: 700;
  }
  .p-price__flex-cards {
    flex-direction: column;
    gap: 6.09375vw;
    margin-top: 11.40625vw;
  }
  .p-price__card.card01, .p-price__card.card02 {
    width: 100%;
  }
  .p-price__card.card03 {
    margin-top: 6.09375vw;
  }
  .p-price__card.card04 {
    margin-top: 6.09375vw;
  }
  .p-flow {
    padding-bottom: 9.53125vw;
  }
  .p-flow__head {
    width: 55.46875vw;
  }
  .p-flow__list {
    align-items: center;
    flex-direction: column;
    margin-top: 10.9375vw;
    row-gap: 10vw;
  }
  .p-flow__item {
    width: 78.59375vw;
  }
  .p-flow__img-box {
    translate: 0.78125vw;
  }
  .p-flow__step {
    left: -1.875vw;
    top: -2.65625vw;
    width: 27.5vw;
  }
  .p-flow__ttl {
    font-size: 5.7625vw;
    line-height: 1.6190347072;
    margin-top: 3.125vw;
  }
  .p-flow__txt {
    font-size: 4.375vw;
    line-height: 1.8660998937;
    margin-inline: calc((100vw - 100%) / 2 * -1);
    margin-top: 3.28125vw;
    padding-inline: 3.90625vw;
    width: 100vw;
  }
  .p-faq {
    padding-block: 9.53125vw 8.75vw;
  }
  .p-faq::before, .p-faq::after {
    width: 63.59375vw;
  }
  .p-faq__head {
    width: 38.125vw;
  }
  .p-faq__list {
    margin-top: 7.34375vw;
  }
  .p-faq__item + .p-faq__item {
    margin-top: 4.0625vw;
  }
  .p-faq__q {
    font-size: 4.53125vw;
    line-height: 1.5172413793;
    padding-block: 2.1875vw;
    padding-left: 10.78125vw;
  }
  .p-faq__q::before {
    left: 3.28125vw;
    top: 3.75vw;
    width: 3.28125vw;
  }
  .p-faq__q .icon {
    right: 3.28125vw;
    top: 50%;
    translate: 0 -50%;
    width: 4.375vw;
  }
  .p-faq__q .icon::before, .p-faq__q .icon::after {
    height: 0.3125vw;
  }
  .p-faq__a {
    font-size: 4.53125vw;
    line-height: 1.724137931;
    margin-top: 3.75vw;
    padding-inline: 11.71875vw 1.09375vw;
  }
  .p-faq__a::before {
    left: 3.28125vw;
    top: 1.71875vw;
    width: 3.4375vw;
  }
  .p-faq__head-child {
    margin-top: 9.375vw;
    width: 50vw;
  }
  .p-faq__head-child + .p-faq__list {
    margin-top: 8.75vw;
  }
  .p-access {
    padding-block: 9.6875vw 8.59375vw;
  }
  .p-access__inner {
    width: 100%;
  }
  .p-access__head {
    width: 33.75vw;
  }
  .p-access__items {
    flex-direction: column;
    gap: 12.1875vw;
    margin-top: 11.09375vw;
  }
  .p-access__item {
    width: 100%;
  }
  .p-access__name {
    font-size: 3.162rem;
    font-size: 4.84375vw;
    font-weight: 700;
    line-height: 1.4595192916;
    margin-top: 6.40625vw;
  }
  .p-access__address {
    font-size: 2.735rem;
    font-size: 4.21875vw;
    font-weight: 400;
    line-height: 1.4372943327;
    margin-top: 3.75vw;
  }
  .p-access__table {
    margin-top: 4.375vw;
  }
  .p-access__map {
    aspect-ratio: 585.92/300.473;
    margin-top: 6.09375vw;
  }
  .u-dn-md-max {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .l-toggle-bars span {
    height: 2px;
  }
  .u-dn-sm-max {
    display: none;
  }
}
@media screen and (max-width: 374px) {
  .u-dn-sp-max {
    display: none;
  }
}
@media screen and (max-width: 359px) {
  .u-dn-xs-max {
    display: none;
  }
}
@media screen and (max-width: -1px) {
  .u-dn-xxl-max {
    display: none;
  }
}
@media screen and (min-width: 360px) {
  .u-dn-xs-min {
    display: none;
  }
}
@media screen and (min-width: 375px) {
  .u-dn-sp-min {
    display: none;
  }
}
@media screen and (min-width: 576px) {
  .u-dn-sm-min {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-dn-md-min {
    display: none;
  }
}
@media (min-width: 768px) {
  a[href*="tel:"] {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
  }
}
@media screen and (min-width: 900px) {
  .u-dn-lg-min {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .l-drawer__mask {
    display: none !important;
  }
  .u-dn-xl-min {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  .u-dn-pc-min {
    display: none;
  }
}