@charset "UTF-8";

.c-buttonHamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box
}

.c-buttonHamburger__line {
  display: block;
  width: 3.2rem;
  height: 2px;
  border-radius: 9999px;
  background-color: #000;
  margin: 0 0 .8rem
}

@media (width < 835px) {
  .c-buttonHamburger__line {
    margin: 0 0 .5rem;
    width: 2.2rem;
    height: 2px
  }
}

.c-buttonHamburger__line:nth-child(1) {
  transition: translate .3s ease-out .3s, rotate .3s ease-out
}

.c-buttonHamburger__line:nth-child(2) {
  opacity: 1;
  transition: opacity .25s ease-out
}

.c-buttonHamburger__line:nth-child(3) {
  transition: translate .3s ease-out .3s, rotate .3s ease-out;
  margin: 0
}

.c-buttonHamburger.is-active .c-buttonHamburger__line:nth-child(1) {
  transition: translate .3s ease-out, rotate .3s ease-out .3s;
  translate: 0 1rem;
  rotate: 45deg
}

@media (width < 835px) {
  .c-buttonHamburger.is-active .c-buttonHamburger__line:nth-child(1) {
    translate: 0 .7rem
  }
}

.c-buttonHamburger.is-active .c-buttonHamburger__line:nth-child(2) {
  opacity: 0
}

.c-buttonHamburger.is-active .c-buttonHamburger__line:nth-child(3) {
  transition: translate .3s ease-out, rotate .3s ease-out .3s;
  translate: 0 -1rem;
  rotate: -45deg
}

@media (width < 835px) {
  .c-buttonHamburger.is-active .c-buttonHamburger__line:nth-child(3) {
    translate: 0 -.7rem
  }
}

.c-buttonLink__link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  padding: 1.7rem 0;
  background-color: #1e1715;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  border-radius: 9999px;
  transition: background-color .3s ease-out, color .15s ease-out;
  overflow: hidden
}

@media (width < 835px) {
  .c-buttonLink__link {
    padding: 1.6rem 0;
    font-size: 1.2rem
  }
}

.c-buttonLink__link:before {
  position: absolute;
  z-index: 1;
  inset: auto -100% 100%;
  margin: auto;
  display: block;
  content: "";
  width: 200%;
  aspect-ratio: 1;
  background-color: #f29fb0;
  border-radius: 100%;
  transform: translateY(0);
  visibility: hidden
}

.c-buttonLink__link:hover:before {
  visibility: visible;
  border-radius: 27%;
  transform: translateY(25%);
  transition: border-radius .54s cubic-bezier(.25, .46, .45, .94), transform 1.4s cubic-bezier(.25, .46, .45, .94)
}

.c-buttonLink__link:after {
  position: absolute;
  z-index: 1;
  inset: 100% -100% auto;
  margin: auto;
  display: block;
  content: "";
  width: 200%;
  aspect-ratio: 1;
  background-color: #f29fb0;
  border-radius: 100%;
  transition: border-radius .3s cubic-bezier(.25, .46, .45, .94), transform .5s cubic-bezier(.25, .46, .45, .94), visibility .5s ease-out;
  transform: translateY(0);
  visibility: hidden
}

.c-buttonLink__link:hover:after {
  visibility: visible;
  border-radius: 0;
  transform: translateY(-25%);
  transition: border-radius .3s cubic-bezier(.25, .46, .45, .94) .1s, transform .5s cubic-bezier(.25, .46, .45, .94), visibility 0s ease-out .4s
}

.c-buttonLink__link ._label {
  position: relative;
  z-index: 2
}

.c-buttonLink__link ._icon {
  position: relative;
  z-index: 2;
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-color: #fff;
  -webkit-mask-image: url(/products/mical/assets/images/icon_search.svg);
  mask-image: url(/products/mical/assets/images/icon_search.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 13px auto;
  mask-size: 13px auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat
}

.c-globalNav {
  width: 100%;
  height: 100%;
  display: grid;
  justify-items: center;
  padding-block: min(27.25svh, 21.8rem) 0;
    overflow-y: auto;
  overflow-x: hidden; /* 横スクロール禁止 */
  /* スクロールバー非表示 */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE, Edge旧版 */
}

.c-globalNav::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
}

@media (width < 835px) {
  .c-globalNav {
    padding-inline: 7rem 4.4rem;
    padding-block: 10.3rem 0
  }
}

.c-globalNav__list {
  margin: 0 0 4rem
}

@media (width < 835px) {
  .c-globalNav__list {
    margin: 0 0 3.2rem
  }
}

.c-globalNav__item:not(:first-child) {
  margin: 2.4rem 0 0
}

.c-globalNav__link {
  display: block;
  font-size: 2rem;
  font-style: italic;
  letter-spacing: .04em;
  line-height: 1;
  text-decoration: none;
  transition: color .3s cubic-bezier(.25, .46, .45, .94)
}

.c-globalNav__link:hover {
  color: #f29fb0
}

.c-globalNav__button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-style: italic;
  letter-spacing: .04em;
  line-height: 1;
  text-decoration: none;
  gap: 0 1rem;
  transition: color .3s cubic-bezier(.25, .46, .45, .94)
}

.c-globalNav__button:hover {
  color: #f29fb0
}

.c-globalNav__button ._icon {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-color: #575757;
  -webkit-mask-image: url(/products/mical/assets/images/icon_angle_up.svg);
  mask-image: url(/products/mical/assets/images/icon_angle_up.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: .8rem .6rem;
  mask-size: .8rem .6rem;
  transform: rotate(180deg);
  transition: background-color .3s cubic-bezier(.25, .46, .45, .94)
}

.c-globalNav__button:hover ._icon {
  background-color: #f29fb0
}

.c-globalNav__button.is-open ._icon {
  transform: rotate(0)
}

.c-globalNav__sub {
  overflow: hidden;
  height: 0
}

.c-globalNav__sub__list {
  padding: 2rem 0 0 1.6rem
}

.c-globalNav__sub__item {
  position: relative;
  padding: 0 0 0 1.4rem
}

.c-globalNav__sub__item:before {
  position: absolute;
  left: 0;
  top: .8rem;
  display: block;
  content: "";
  width: .4rem;
  height: .2rem;
  background-color: #f29fb0;
  border-radius: 999px
}

.c-globalNav__sub__item:not(:first-child) {
  margin: 1.6rem 0 0
}

.c-globalNav__sub__item a {
  display: flex;
}

.c-globalNav__sub__item span {
  margin-right: 0.2rem;
}

.c-globalNav__sub__item span img {
  width: 20px;
}

.c-globalNav__sub__link {
  font-size: 1.2rem;
  letter-spacing: .04em;
  line-height: 1.4;
  text-decoration: none;
  transition: color .3s cubic-bezier(.25, .46, .45, .94)
}

.c-globalNav__sub__link:hover {
  color: #f29fb0
}

.c-globalNav__cv {
  border-top: 2px dotted #E6E6E6;
  padding: 4rem 0 0;
  width: 24rem
}

@media (width < 835px) {
  .c-globalNav__cv {
    width: 20.6rem;
    padding: 3.2rem 0 0
  }
}

.c-pageHeader:before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 15.5rem;
  height: 13.6rem;
  content: "";
  background: url(/products/mical/assets/images/bg_hamburger.png) 0 0 no-repeat;
  background-size: cover;
  filter: drop-shadow(0 0 46px rgba(0, 0, 0, .05))
}

@media (width < 835px) {
  .c-pageHeader:before {
    width: 8.8rem;
    height: 7.7rem;
    background: url(/products/mical/assets/images/bg_hamburger_sp.png) 0 0 no-repeat;
    background-size: cover;
    filter: drop-shadow(0 0 90px rgba(0, 0, 0, .03))
  }
}

.c-pageHeader__inner {
  display: flex
}

.c-pageHeader__logo {
  margin-right: auto;
  padding: 3.2rem 0 3.2rem 2.1rem;
  opacity: 1;
  transition: opacity .25s cubic-bezier(.19, 1, .22, 1)
}

@media (width < 835px) {
  .c-pageHeader__logo {
    width: 10.7rem;
    padding: 1.5rem 0 1.5rem 1.3rem
  }
}

.c-pageHeader__logo.is-hidden {
  opacity: 0
}

.c-pageHeader__nav {
  --diagonal: 0;
  position: fixed;
  top: 0;
  right: 0;
  width: 40.8rem;
  height: 100%;
  background: url(/products/mical/assets/images/bg_global_nav.png) 0 0 no-repeat;
  background-size: cover;
  clip-path: circle(calc(var(--diagonal) * 1px) at 120% -20%);
  transition: clip-path 2s cubic-bezier(.19, 1, .22, 1);
  filter: drop-shadow(7px 12px 20px rgba(0, 0, 0, .1))
}

@media (width < 835px) {
  .c-pageHeader__nav {
    width: 32rem;
    background: url(/products/mical/assets/images/bg_global_nav_sp.png) 0 0 no-repeat;
    background-size: cover
  }
}

.c-pageHeader__button {
  position: relative;
  margin-left: auto;
  width: 9.6rem;
  height: 10rem
}

@media (width < 835px) {
  .c-pageHeader__button {
    width: 5.4rem;
    height: 5.2rem
  }
}

.c-pageFooter {
  position: relative;
  width: 100%;
  /* aspect-ratio: 1280/204; */
  /* background: url(/products/mical/assets/images/bg_footer.png) 0 100% no-repeat;
  background-size: cover */
  padding-block: 5rem;
  /* background: #DBAABD; */
}

@media (width < 835px) {
  .c-pageFooter {
    padding: 0 0 2rem;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    aspect-ratio: 375/86;
    /* background: url(/products/mical/assets/images/bg_footer_sp.png) 0 100% no-repeat;
    background-size: cover */
  }
}

.c-pageFooter__copyright {
  position: absolute;
  right: 3.2rem;
  bottom: 3.2rem;
  color: #fff;
  text-align: right;
  font-size: 1.2rem
}

@media (width < 835px) {
  .c-pageFooter__copyright {
    position: static;
    text-align: center;
    font-size: 1rem
  }
}

.l-page {
  width: 100%;
  background-color: #f8f8f8;
  overflow: hidden
}

.l-page.item{
  background: url(/products/mical/assets/images/bg.jpg) center / cover;
}

.l-page__header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 9
}

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  -moz-tab-size: 2;
  tab-size: 2;
  scrollbar-gutter: stable
}

:where(html:has(dialog:modal[open])) {
  overflow: clip
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth
  }
}

:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased
}

:where(button) {
  all: unset
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit
}

:where(textarea) {
  resize: vertical;
  resize: block
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer
}

:where(:disabled) {
  cursor: not-allowed
}

:where(label:has(>input:disabled), label:has(+input:disabled)) {
  cursor: not-allowed
}

:where(a) {
  color: inherit;
  text-underline-offset: .2ex
}

:where(ul, ol) {
  list-style: none
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block
}

:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word
}

:where(h1, h2, h3) {
  line-height: calc(1em + .5rem);
  text-wrap: balance
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible
}

:where(dialog) {
  border: none;
  background: none;
  inset: unset;
  max-width: unset;
  max-height: unset
}

:where(dialog:not([open], [popover])) {
  display: none !important
}

:where([popover]) {
  border: none;
  background: none;
  inset: unset;
  color: inherit
}

:where([popover]:not(:popover-open)) {
  display: none !important
}

:where(:focus-visible) {
  outline: 3px solid CanvasText;
  box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh
}

:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
  -webkit-user-select: none !important;
  user-select: none !important
}

:where(:focus-visible, :target) {
  scroll-margin-block: 0
}

html {
  font-size: min(10px, .78125svw);
  color-scheme: normal
}

@media (width < 835px) {
  html {
    font-size: 2.6666666667svw
  }
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: auto
  }
}

body {
  /* font-family: dnp-shuei-mgothic-std, sans-serif; */
  font-family: "Noto Sans", sans-serif;
  line-height: 1.5;
  color: #1e1715;
  /* background-color: #f8f8f8 */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  font-size: 100%;
  font-style: normal
}

address {
  font-style: normal
}

a {
  color: inherit
}

a[href] {
  cursor: pointer
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

button {
  background-color: transparent;
  border: none
}

textarea {
  vertical-align: top
}

@media (width < 835px) {
  .u-desktop {
    display: none
  }
}

@media (min-width: 835px) {
  .u-mobile {
    display: none
  }
}

.c-conversion__text {
  position: relative;
  margin: 0 auto 3.2rem;
  padding: 0 4rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-align: center;
  color: #fff;
  width: fit-content
}

@media (width < 835px) {
  .c-conversion__text {
    font-size: 1.6rem;
    padding: 0 2rem;
    margin: 0 auto 1.9rem
  }
}

.c-conversion__text span {
  font-size: 2.2rem;
  letter-spacing: .04em;
  color: #f7e5ea
}

@media (width < 835px) {
  .c-conversion__text span {
    font-size: 2rem
  }
}

.c-conversion__text:before,
.c-conversion__text:after {
  position: absolute;
  display: block;
  content: "";
  width: 1.8rem;
  height: 2.5rem
}

@media (width < 835px) {

  .c-conversion__text:before,
  .c-conversion__text:after {
    width: 1.5rem;
    height: 2.1rem
  }
}

/* .c-conversion__text:before {
  left: 0;
  top: 50%;
  background: url(/products/mical/assets/images/bg_dot_slash_left.svg) 0 0 no-repeat;
  background-size: contain;
  transform: translateY(-50%)
}

@media (width < 835px) {
  .c-conversion__text:before {
    background: url(/products/mical/assets/images/bg_dot_slash_left_sp.svg) 0 0 no-repeat;
    background-size: contain
  }
}

.c-conversion__text:after {
  right: 0;
  top: 50%;
  background: url(/products/mical/assets/images/bg_dot_slash_right.svg) 0 0 no-repeat;
  background-size: contain;
  transform: translateY(-50%)
}

@media (width < 835px) {
  .c-conversion__text:after {
    background: url(/products/mical/assets/images/bg_dot_slash_right_sp.svg) 0 0 no-repeat;
    background-size: contain
  }
} */

.c-conversion__banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 55.2rem;
  /* aspect-ratio: 552/160 */
}

@media (width < 835px) {
  .c-conversion__banner {
    width: 100%;
    max-width: 33.1rem;
    /* aspect-ratio: 331/96 */
  }
}

.c-conversion__link {
  display: block;
  text-decoration: none
}

.c-conversion__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  border-radius: .8rem;
  transition: opacity .3s cubic-bezier(.25, .46, .45, .94)
}

.c-conversion__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.c-conversion__link:hover .c-conversion__bg {
  opacity: .8
}

.c-conversion__button {
  position: relative;
  display: flex;
  align-items: center;
  gap: .7rem;
  z-index: 2;
  color: #dd7c90;
  border: 2px solid #fff;
  background-color: #fff;
  width: fit-content;
  padding: 1.3rem 3.4rem;
  border-radius: 9999px;
  overflow: hidden
}

@media (width < 835px) {
  .c-conversion__button {
    padding: 1rem 1.7rem
  }
}

.c-conversion__button:before {
  position: absolute;
  z-index: 1;
  inset: auto -100% 100%;
  margin: auto;
  display: block;
  content: "";
  width: 200%;
  aspect-ratio: 1;
  background-color: #DBAABD;
  border-radius: 100%;
  transform: translateY(0);
  visibility: hidden
}

.c-conversion__button:after {
  position: absolute;
  z-index: 1;
  inset: 100% -100% auto;
  margin: auto;
  display: block;
  content: "";
  width: 200%;
  aspect-ratio: 1;
  background-color: #DBAABD;
  border-radius: 100%;
  transition: border-radius .3s cubic-bezier(.25, .46, .45, .94), transform .5s cubic-bezier(.25, .46, .45, .94), visibility .5s ease-out;
  transform: translateY(0);
  visibility: hidden
}

.c-conversion__button ._icon {
  position: relative;
  z-index: 2;
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-color: currentColor;
  -webkit-mask-image: url(/products/mical/assets/images/icon_search.svg);
  mask-image: url(/products/mical/assets/images/icon_search.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 13px auto;
  mask-size: 13px auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transition: background-color .3s cubic-bezier(.25, .46, .45, .94) .1s
}

@media (width < 835px) {
  .c-conversion__button ._icon {
    width: 1.1rem;
    height: 1.1rem;
    -webkit-mask-size: 11px auto;
    mask-size: 11px auto
  }
}

.c-conversion__button ._label {
  position: relative;
  z-index: 2;
  font-size: 2rem;
  font-weight: 700;
  transition: color .3s cubic-bezier(.25, .46, .45, .94) .1s
}

@media (width < 835px) {
  .c-conversion__button ._label {
    font-size: 1.6rem
  }
}

.c-conversion__link:hover .c-conversion__button:before {
  visibility: visible;
  border-radius: 27%;
  transform: translateY(25%);
  transition: border-radius .54s cubic-bezier(.25, .46, .45, .94), transform 1.4s cubic-bezier(.25, .46, .45, .94)
}

.c-conversion__link:hover .c-conversion__button:after {
  visibility: visible;
  border-radius: 0;
  transform: translateY(-25%);
  transition: border-radius .3s cubic-bezier(.25, .46, .45, .94) .1s, transform .5s cubic-bezier(.25, .46, .45, .94), visibility 0s ease-out .4s
}

.c-conversion__link:hover .c-conversion__button ._label {
  color: #fff
}

.c-conversion__link:hover .c-conversion__button ._icon {
  background-color: #fff
}

.c-productFeature__header {
  margin: 0 0 4.8rem
}

@media (width < 835px) {
  .c-productFeature__header {
    margin: 0 0 2.8rem
  }
}

.c-productFeature__title {
  margin: 0 0 .8rem;
  font-size: 5.6rem;
  font-weight: 400;
  font-family: "Noto Sans", sans-serif;
  ;
  text-align: center;
  font-style: italic;
  letter-spacing: .08em
}

@media (width < 835px) {
  .c-productFeature__title {
    font-size: 4.8rem
  }
}

.c-productFeature__label {
  font-size: 1.6rem;
  font-weight: 700;
  color: #dd7c90;
  text-align: center;
  letter-spacing: .16em
}

.c-productFeatureEntry__image {
  width: 100%;
  aspect-ratio: 308/205;
  margin: 0 0 1.6rem;
  filter: drop-shadow(1px 1px 30px rgba(0, 0, 0, .03))
}

@media (width < 835px) {
  .c-productFeatureEntry__image {
    margin: 0 0 1.2rem
  }
}

.c-productFeatureEntry__image>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: .8rem
}

.c-productFeatureEntry__title {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.45;
  color: #dd7c90
}

.c-productFeatureEntry__title sup {
  font-size: 1.4rem
}

@media (width < 835px) {
  .c-productFeatureEntry__title {
    font-size: 2rem
  }
}

.c-productFeatureEntry__description {
  margin: .8rem 0;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.4
}

.c-productFeatureEntry__description.notice{
  margin-top: 5rem;
}

@media (width < 835px) {
  .c-productFeatureEntry__description {
    letter-spacing: .04em
  }

  .c-productFeatureEntry__description.notice{
  margin-top: 3rem;
}
}

.c-productFeatureEntry__note {
  position: relative;
  margin: .8rem 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.4
}

.c-productFeatureEntry__note p {
  padding: 0 0 0 1.3rem
}

.c-productFeatureEntry__note p:before {
  position: absolute;
  left: 0;
  display: inline-block;
  content: "※"
}

.c-productFeatureList {
  width: 99.2rem;
  margin-inline: auto
}

@media (width < 835px) {
  .c-productFeatureList {
    width: auto
  }
}

.c-productFeatureList__list {
  display: grid;
  gap: 3.4rem 4rem;
  grid-template-columns: repeat(3, 1fr)
}

@media (width < 835px) {
  .c-productFeatureList__list {
    display: block
  }
}

@media (width < 835px) {
  .c-productFeatureList__item:not(:first-child) {
    margin-top: 3.7rem
  }
}

.c-productSpec__header {
  margin: 0 0 4.8rem
}

@media (width < 835px) {
  .c-productSpec__header {
    margin: 0 0 2.6rem
  }
}

.c_prroductSpec_other {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 2rem;
  margin-bottom: 2rem;
}

@media (width < 835px) {
  .c_prroductSpec_other {
    grid-template-columns: 1fr;
    margin-bottom: 3rem;
  }
}

.c-productArticle__title_other {
  margin: 0 0 .2rem;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.384;
}

@media (width < 835px) {
  .c-productArticle__title_other {
    margin: 0 0 .1rem;
    font-size: 1.8rem;
  }
}

.c_prroductSpec_other_txt {
  font-size: 1.8rem;
}

@media (width < 835px) {
  .c_prroductSpec_other_txt {
    font-size: 1.8rem;
  }
}

.c-productSpec__title {
  margin: 0 0 .8rem;
  font-size: 5.6rem;
  font-weight: 400;
  font-family: "Noto Sans", sans-serif;
  ;
  text-align: center;
  font-style: italic;
  letter-spacing: .08em
}

@media (width < 835px) {
  .c-productSpec__title {
    font-size: 4.8rem
  }
}

.c-productSpec__label {
  font-size: 1.6rem;
  font-weight: 700;
  color: #dd7c90;
  text-align: center;
  letter-spacing: .16em
}

.c-productSpec__table {
  width: 100%;
  table-layout: fixed
}

.c-productSpec__table tr:first-child th {
  border-radius: .8rem 0 0
}

@media (width < 835px) {
  .c-productSpec__table tr:first-child th {
    border-radius: .4rem 0 0
  }
}

.c-productSpec__table tr:first-child td {
  border-radius: 0 .8rem 0 0
}

@media (width < 835px) {
  .c-productSpec__table tr:first-child td {
    border-radius: 0 .4rem 0 0
  }
}

.c-productSpec__table tr:last-child th {
  border-radius: 0 0 0 .8rem
}

@media (width < 835px) {
  .c-productSpec__table tr:last-child th {
    border-radius: 0 0 0 .4rem
  }
}

.c-productSpec__table tr:last-child td {
  border-radius: 0 0 .8rem
}

@media (width < 835px) {
  .c-productSpec__table tr:last-child td {
    border-radius: 0 0 .4rem
  }
}

.c-productSpec__table th {
  width: 19.2rem;
  vertical-align: top;
  text-align: left;
  background-color: #fce7da;
  padding: 1.6rem;
  font-size: 1.3rem;
  line-height: 1.6
}

@media (width < 835px) {
  .c-productSpec__table th {
    width: 34.7%;
    font-size: 1.2rem;
    padding: 1.4rem .5rem 1.1rem 1.6rem
  }
}

.c-productSpec__table td {
  background-color: #fff;
  padding: 1.6rem;
  font-size: 1.3rem;
  letter-spacing: .02em;
  line-height: 1.6
}

@media (width < 835px) {
  .c-productSpec__table td {
    font-size: 1.2rem;
    padding: 1.4rem 1rem 1.1rem 1.6rem
  }
}

.c-productArticlePlate__current {
  margin: 0 0 .8rem;
  font-family: "Noto Sans", sans-serif;
  ;
  font-size: 1.6rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: .04em
}

@media (width < 835px) {
  .c-productArticlePlate__current {
    margin: 0 0 .6rem
  }
}

.c-productArticlePlate__list {
  display: flex;
  gap: .8rem
}

.c-productArticlePlate__images {
  position: relative;
  margin-bottom: .4rem;
  width: 6.4rem;
  height: 6.4rem;
  border-radius: .8rem;
  border: 1px solid #ccc;
  overflow: hidden
}

@media (width < 835px) {
  .c-productArticlePlate__images {
    width: 7.6rem;
    height: 7.6rem
  }
}

.c-productArticlePlate__image {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.19, 1, .22, 1)
}

.c-productArticlePlate__image.is-selected {
  opacity: 1
}

.c-productArticlePlate__image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.c-productArticlePlate__button.is-selected .c-productArticlePlate__images {
  border: 2px solid #575757
}

.c-productArticlePlate__label {
  font-family: "Noto Sans", sans-serif;
  ;
  font-size: 1.3rem;
  font-style: italic
}

.c-productArticleColor__current {
  margin: 0 0 .6rem;
  font-family: "Noto Sans", sans-serif;
  ;
  font-size: 1.6rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: .04em;
  text-transform: capitalize
}

.c-productArticleColor__tip {
  vertical-align: middle;
  margin: -.7rem .4rem -.5rem 0;
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: .3rem
}

.c-productArticleColor__tip.--white {
  border: 1px solid #ccc;
  background-color: #fff
}

.c-productArticleColor__tip.--black {
  background-color: #1e1715
}

.c-productArticleColor__tip.--gray {
  background-color: #acb9bf
}

.c-productArticleColor__tip.--pink {
  background-color: #f0cade
}

.c-productArticleColor__tip.--Metallic_pink {
  background-color: #f0cade
}

.c-productArticleColor__tip.--Metallic_rose {
  background-color: #f29fb0
}

.c-productArticleColor__tip.--Neutral_gray {
  background-color: #bbafa9
}

.c-productArticleColor__tip.--Relax_pink {
  background-color: #d1a6a1
}

.c-productArticleColor__tipSpace+* {
  padding-left: 1.6rem;
  display: inline-block;
}

.c-productArticleColor__list {
  display: flex;
  gap: .8rem
}

.c-productArticleColor__image {
  position: relative;
  margin-bottom: .4rem;
  width: 6.4rem;
  height: 6.4rem
}

.c-productArticleColor__image.new::before {
  position: absolute;
  content: "NEW!";
  top: -0.4rem;
  left: -0.4rem;
  color: #E95377;
  font-weight: 900;
}

@media (width < 835px) {
  .c-productArticleColor__image {
    width: 7.6rem;
    height: 7.6rem
  }
}

.c-productArticleColor__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: .8rem;
  border: 1px solid #ccc
}

.c-productArticleColor__button.is-selected .c-productArticleColor__image img {
  border: 2px solid #575757
}

.c-productArticleColor__label {
  font-family: "Noto Sans", sans-serif;
  ;
  font-size: 1.3rem;
  font-style: italic;
  text-transform: capitalize;
  line-height: 1.2;
}

.c-productArticleCaution__header {
  background-color: #f29fb0;
  padding: 1.6rem;
  border-radius: .8rem .8rem 0 0
}

.c-productArticleCaution__heading {
  font-size: 2rem;
  letter-spacing: .04em;
  color: #fff;
  text-align: center
}

@media (width < 835px) {
  .c-productArticleCaution__heading {
    font-size: 1.8rem
  }
}

.c-productArticleCaution__body {
  border-radius: 0 0 .8rem .8rem;
  border: 1px solid #CBCBCB;
  border-top: none;
  padding: 3.2rem 4rem
}

@media (width < 835px) {
  .c-productArticleCaution__body {
    padding: 2.8rem 2.2rem 4rem
  }
}

.c-productArticleCaution__txt {
  font-size: 1.3rem;
  margin-bottom: 2rem;
}

.c-productArticleCaution__ttl {
  font-size: 1.3rem;
  margin-bottom: 1rem;
}

.c-productArticleCaution__item {
  position: relative;
  font-size: 1.3rem;
  padding: 0 0 0 2rem;
  FFF letter-spacing: .03em
}

.c-productArticleCaution__item:not(:first-child) {
  margin-top: .8rem
}

@media (width < 835px) {
  .c-productArticleCaution__item:not(:first-child) {
    margin-top: .7rem
  }
}

.c-productArticleCaution__item:before {
  position: absolute;
  content: "";
  display: block;
  width: 1.1rem;
  height: 1.1rem;
  background-color: #f29fb0;
  border-radius: 100%;
  left: 0;
  top: .4rem
}

.c-productArticle {
  display: grid;
  grid-template: "image detail" auto "feature feature" auto "spec spec" auto "caution caution" auto/1fr 1fr
}

.c-productArticle_other {
  background: #FFF;
  padding-block: 3rem;
}

@media (width < 835px) {
  .c-productArticle {
    display: block
  }
}

.c-productArticle__image {
  background: #DBAABD;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: image;
  /* background: url(/products/mical/assets/images/products/bg_product_image.png) center no-repeat; */
  /* background-size: cover; */
  display: flex;
  justify-content: center
}

@media (width < 835px) {
  .c-productArticle__image {
    /* background: url(/products/mical/assets/images/products/bg_product_image_sp.png) center no-repeat;
    background-size: cover */
  }
}

.c-productArticle__detail {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: detail;
  display: grid;
  align-items: center;
  padding-inline: 8.8rem;
  padding-block: 2.6rem 0;
  background-color: #fff
}

@media (width < 835px) {
  .c-productArticle__detail {
    padding: 3.7rem 2.2rem 6.9rem
  }
}

html.wf-loading .c-productArticle__detail__inner {
  visibility: hidden
}

.c-productArticle__title {
  margin: 0 0 .2rem;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.384
}

@media (width < 835px) {
  .c-productArticle__title {
    margin: 0 0 .1rem;
    font-size: 2.2rem
  }
}

.c-productArticle__price {
  margin: 0 0 1.2rem;
  font-size: 1.8rem;
  letter-spacing: .04em;
  line-height: 1.35
}

.c-productArticle__price.period {
  color: #e50012;
  font-weight: bold;
}

.c-productArticle__price.period .off {
  color: #fff;
  background: #e50012;
  padding: 0.2rem;
  margin-right: 0.6rem;
}

.c-productArticle__price.period .txt {
  font-size: 1.2rem;
}

@media (width < 835px) {
  .c-productArticle__price {
    margin: 0 0 1.2rem;
    font-size: 1.8rem
  }
}

.c-productArticle__description {
  margin: 0 0 1.6rem;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.6
}

@media (width < 835px) {
  .c-productArticle__description {
    margin: 0 0 1.8rem
  }
}

.c-productArticle__release {
  margin: 0 0 2rem;
  color: #dd7c90;
  font-size: 1.3rem;
  font-weight: 700
}

.c-productArticle__line {
  border: none;
  border-bottom: 2px dotted #FFD1DC;
  display: none;
  margin: 2rem 0
}

@media (width < 835px) {
  .c-productArticle__line {
    display: block
  }
}

.c-productArticle__plate {
  margin: 0 0 .8rem
}

@media (min-width: 835px) {

  .c-productArticle__description+.c-productArticle__line+.c-productArticle__plate,
  .c-productArticle__description+.c-productArticle__line+.c-productArticle__color {
    margin-top: 3.2rem
  }
}

.c-productArticle__store {
  margin: 3rem 0 0;
  width: 26rem
}

@media (width < 835px) {
  .c-productArticle__store {
    width: 24rem;
    margin: 3.7rem auto 0
  }
}

.c-productArticle__feature {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  width: 99.2rem;
  margin-inline: auto;
  padding: 10.7rem 0 4rem;
  grid-area: feature
}

@media (width < 835px) {
  .c-productArticle__feature {
    width: auto;
    padding: 5.7rem 2.2rem 2.5rem
  }
}

.c-productArticle__spec {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  margin: 5.5rem 0 0;
  width: 76.8rem;
  margin-inline: auto;
  grid-area: spec
}

@media (width < 835px) {
  .c-productArticle__spec {
    width: auto;
    margin: 5.5rem 0 0;
    padding: 0 2.1rem
  }
}

.c-productArticle__caution {
  -ms-grid-row: 4;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  margin: 8rem 0 0;
  width: 76.8rem;
  margin-inline: auto;
  grid-area: caution
}

#usb .c-productArticle__caution {
  padding-bottom: 3rem;
}

@media (width < 835px) {
  .c-productArticle__caution {
    width: auto;
    margin: 5.6rem 0 0;
    padding: 0 2.1rem
  }
}

.c-productArticleImage {
  position: relative;
  width: 64rem;
  height: 62.5rem
}

@media (width < 835px) {
  .c-productArticleImage {
    width: 100%;
    aspect-ratio: 375/391;
    height: auto
  }
}

.c-productArticleImage__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity .25s ease-out
}

.c-productArticleImage__item.is-selected {
  opacity: 1
}

.c-productArticleImage__item img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.c-productColor__list {
  display: flex;
  justify-content: center;
  gap: .4rem
}

.c-productColor__tip {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: .3rem
}

@media (width < 835px) {
  .c-productColor__tip {
    width: 1.4rem;
    height: 1.4rem
  }
}

.c-productColor__tip.--white {
  background-color: #fff;
  border: 1px solid #aaa
}

.c-productColor__tip.--black {
  background-color: #1e1715
}

.c-productColor__tip.--gray {
  background-color: #acb9bf
}

.c-productColor__tip.--pink {
  background-color: #f0cade
}

.c-productColor__tip.--Metallic_pink {
  background-color: #f0cade
}

.c-productColor__tip.--Metallic_rose {
  background-color: #f29fb0
}

.c-productColor__tip.--Neutral_gray {
  background-color: #bbafa9
}

.c-productColor__tip.--Relax_pink {
  background-color: #d1a6a1
}

.c-productEntry__link {
  display: block;
  text-decoration: none
}

.c-productEntry__image {
  position: relative;
  margin: 0 0 1.3rem;
  width: 100%;
  height: 49.5rem;
  padding: 2rem 0 0;
  overflow: hidden
}

@media (width < 835px) {
  .c-productEntry__image {
    padding: 0;
    margin: 0 0 .8rem;
    height: auto;
    aspect-ratio: 157/210
  }
}

/* .c-productEntry__image:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(/products/mical/assets/images/bg_product_image.png) 0 100% no-repeat;
  background-size: contain;
  transition: opacity .3s ease-out
} */

@media (width < 835px) {
  /* .c-productEntry__image:before {
    background: url(/products/mical/assets/images/bg_product_image_sp.png) 0 100% no-repeat;
    background-size: contain
  } */
}

.c-productEntry__image img {
  position: relative;
  z-index: 2;
  width: 100%;
  aspect-ratio: 312/495;
  object-fit: cover;
  transition: transform .2s ease-out
}

@media (width < 835px) {
  .c-productEntry__image img {
    aspect-ratio: 157/210
  }
}

@media (hover: hover) {
  .c-productEntry__link:hover .c-productEntry__image img {
    transform: translateY(-2rem)
  }
}

.c-productEntry.--new .c-productEntry__image:after {
  position: absolute;
  bottom: 2.2rem;
  left: 2rem;
  display: block;
  width: 9.7rem;
  height: 4.6rem;
  content: "";
  background: url(/products/mical/assets/images/mical_products_icon01.png) 0 0 no-repeat;
  background-size: contain
}

@media (width < 835px) {
  .c-productEntry.--new .c-productEntry__image:after {
    bottom: 1.2rem;
    left: 1rem;
    width: 4.6rem;
    height: 2.3rem
  }
}

.c-productEntry__text.--new {
  position: relative;
}

.c-productEntry__text.--new::after {
  position: absolute;
  bottom: 2.2rem;
  left: 0;
  display: block;
  width: 9.7rem;
  height: 4.6rem;
  content: "";
  background: url(/products/mical/assets/images/mical_products_icon01.png) 0 0 no-repeat;
  background-size: contain;
}

@media (width < 835px) {
  .c-productEntry__text.--new::after {
    bottom: initial;
    top: 0;
    left: 0;
    width: 4.6rem;
    height: 2.3rem;
  }
}

.c-productEntry__name {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: .01em
}

@media (width < 835px) {
  .c-productEntry__name {
    font-size: 1.4rem;
    letter-spacing: 0
  }
}

.c-productEntry__price {
  margin: 0 0 .7rem;
  font-size: 1.3rem;
  letter-spacing: .04em;
  text-align: center
}

.c-productEntry__release {
  margin: .8rem 0 0;
  color: #dd7c90;
  font-size: 1.2rem;
  text-align: center;
  font-weight: 700
}

@media (width < 835px) {
  .c-productEntry__release {
    font-size: 1rem
  }
}

.c-productList__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 6.2rem
}

@media (width < 835px) {
  .c-productList__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.3rem 1.7rem
  }
}

/* .c-productList__item:nth-child(3n+2) {
  margin-top: 7rem
} */

@media (width < 835px) {
  .c-productList__item:nth-child(3n+2) {
    margin: 0
  }
}

.c-products__header {
  margin: 0 0 1.6rem
}

@media (width < 835px) {
  .c-products__header {
    margin: 0 0 1.6rem
  }
}

.c-products__heading {
  margin: 0 0 .8rem;
  font-size: 6.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1;
  font-style: italic;
  text-align: center;
  font-family: "Noto Sans", sans-serif;
}

@media (width < 835px) {
  .c-products__heading {
    font-size: 4.8rem;
    margin: 0 0 1.2rem
  }
}

.c-banner__heading {
  margin: 0 0 2rem;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: .08em;
  line-height: 1;
  font-style: italic;
  text-align: center;
  font-family: "Noto Sans", sans-serif;
}

.c-products__header.store .c-products__heading{
  color: #fff;
}

@media (width < 835px) {
  .c-banner__heading {
    font-size: 2rem;
    margin: 0 0 1.2rem
  }
}

.c-products__label {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  color: #dd7c90
}

.c-products__header.store .c-products__label{
  color: #f7e5ea;
}

@media (width < 835px) {
  .c-products__label {
    letter-spacing: .16em
  }
}

.p-product {
  /* background-color: #f8f8f8 */
}

.p-product__article {
  padding: 0 0 12.8rem
}

#usb .p-product__article {
  padding: 0 0 6.8rem
}

@media (width < 835px) {
  .p-product__article {
    padding: 0 0 6rem
  }
}

.p-product__movie {
  padding: 12rem 25.6rem 6.5rem;
  /* background-color: #fff */
}

@media (width < 835px) {
  .p-product__movie {
    padding: 8rem 2.2rem 7.2rem
  }
}

.p-product__movie+.p-product__lineup {
  background-color: #fff
}

.p-product__products {
  padding: 11.2rem 11rem;
  margin: 0 auto;
  width: 128rem
}

@media (width < 835px) {
  .p-product__products {
    width: auto;
    padding: 6.5rem 2.2rem
  }
}

.p-product__cv {
  width: fit-content;
  margin: 0 auto
}

@media (width < 835px) {
  .p-product__cv {
    width: 100%;
    padding: 2rem 2.2rem 3.2rem
  }
}

.c-lineupSlider {
  position: relative;
  padding: 17rem 0 0;
  height: 55.3rem;
  width: 100%;
  overflow: hidden;
  display: flex
}

@media (width < 835px) {
  .c-lineupSlider {
    height: 22.5rem;
    padding: 6.4rem 0 0
  }
}

.c-lineupSlider:before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/products/mical/assets/images/bg_lineup.png) center 0 no-repeat;
  background-size: 100% 100%
}

@media (width < 835px) {
  .c-lineupSlider:before {
    background: url(/products/mical/assets/images/bg_lineup_sp.png) center 0 no-repeat;
    background-size: 100% 100%
  }
}

.c-lineupSlider__item {
  position: relative;
  z-index: 2;
  width: 222.3rem;
  height: 100%;
  overflow: hidden;
  flex-shrink: 0
}

@media (width < 835px) {
  .c-lineupSlider__item {
    width: 116.3rem
  }
}

.c-lineupSlider__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top left
}

.c-productMovie__title {
  font-size: 5.6rem;
  font-family: "Noto Sans", sans-serif;
  ;
  font-style: italic;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.14;
  text-align: center
}

@media (width < 835px) {
  .c-productMovie__title {
    font-size: 4.8rem
  }
}

.c-productMovie__label {
  margin: .8rem 0 0;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1;
  text-align: center;
  color: #dd7c90
}

.c-productMovie__body {
  margin: 4.8rem 0 0
}

@media (width < 835px) {
  .c-productMovie__body {
    margin: 3.2rem 0 0
  }
}

.c-productMovie__movie {
  position: relative;
  width: 76.8rem;
  margin: 0 auto;
  aspect-ratio: 768/432;
  overflow: hidden
}

@media (width < 835px) {
  .c-productMovie__movie {
    width: 100%
  }
}

.c-productMovie__movie iframe {
  position: absolute;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  border: none
}

.c-homeHero {
  width: 100%;
  aspect-ratio: 1280/581;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

@media (width < 835px) {
  .c-homeHero {
    aspect-ratio: 375/520
  }
}

.c-homeHero__bg {
  width: 100%;
  height: 100%
}

.c-homeHero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.l-page__wrap {
  background: url(/products/mical/assets/images/bg.jpg) center / cover;
}

.p-home__hero {
  position: relative;
  padding-bottom: 5rem;
}

.p-home__hero .swiper-slide img {
  width: 100%;
  height: 100%;
}

.p-home__hero .swiper-button-prev {
  left: calc(50% - 8rem);
}

.p-home__hero .swiper-button-next {
  right: calc(50% - 8rem);
}

.p-home__hero .swiper-button-next,
.p-home__hero .swiper-button-prev {
  top: inherit;
  bottom: 0;
}

.p-home__hero .swiper-button-next::after,
.p-home__hero .swiper-button-prev::after {
  font-size: 3rem;
  color: #000;
  font-weight: bold;
}

.p-home__hero .pagenation_wrap {
  width: 100px;
  margin: 2rem auto;
}

.p-home__hero .swiper-pagination-bullet {
  background-color: #F29FB0;
  height: 20px;
  width: 20px;
}

.p-home__hero .swiper-pagination {
  z-index: 8;
}

.p-home__hero .swiper-pagination-clickable .swiper-pagination-bullet {
  margin-right: 2rem;
}

@media (width < 835px) {

  .p-home__hero .swiper-button-prev {
    left: calc(50% - 6rem);
  }

  .p-home__hero .swiper-button-next {
    right: calc(50% - 6rem);
  }

  .p-home__hero .swiper-button-next::after,
  .p-home__hero .swiper-button-prev::after {
    font-size: 1.6rem;
  }

  .p-home__hero .swiper-pagination-bullet {
    background-color: #F29FB0;
    height: 14px;
    width: 14px;
  }

  .p-home__hero .swiper-pagination-clickable .swiper-pagination-bullet {
    margin-right: 1rem;
  }
}

.p-home__hero .swiper_pause {
  position: absolute;
  bottom: 2.4rem;
  right: calc(50% - 10rem);
  /* right: calc(50% - 15rem); 4つの場合 */
  margin: auto;
  width: 30px;
  height: 30px;
  background: #F29FB0;
  z-index: 10;
  border-radius: 50%;
  text-align: center;
  z-index: 8;
}

.p-home__hero .swiper_pause span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  border-left: 6px solid #fff;
  border-right: 6px solid #fff;
}

.p-home__hero .swiper_pause.paused span {
  border-right: 0;
  border-left: 16px solid #fff;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

@media (width < 835px) {
  .p-home__hero .swiper_pause {
    bottom: 3rem;
    right: calc(50% - 6rem);
    /* right: calc(50% - 9rem);　4つの場合 */
    width: 30px;
    height: 30px;
  }

  .p-home__hero .swiper_pause span {
    width: 12px;
    height: 12px;
    border-left: 4px solid #fff;
    border-right: 4px solid #fff;
  }

  .p-home__hero .swiper_pause.paused span {
    border-left: 12px solid #fff;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
  }
}

.p-home__banner {
  padding-block: 8rem;
  padding-inline: calc((100% - 128rem) / 2 + 16rem);
  margin: 0 auto;
  text-align: center;
}

@media (width < 835px) {
  .p-home__banner {
    width: auto;
    padding: 4.8rem 3.2rem
  }
}

.p-home__banner a {
  display: inline-block;
  transition: all 0.6s;
}

.p-home__banner a:hover {
  opacity: 0.6;
}

.c-homeIntro__inner {
  overflow: hidden;
  margin: 0 auto;
  padding: 18.8rem 2rem 12.6rem 11rem;
  display: grid;
  grid-template: ". text . image" auto/.5fr 50rem 1fr 68.8rem
}

@media (min-width: 1280px) {
  .c-homeIntro__inner {
    padding: 18.8rem 0 12.6rem 11rem
  }
}

@media (width < 835px) {
  .c-homeIntro__inner {
    padding: 0;
    display: block;
    width: auto
  }
}

.c-homeIntro__images {
  -ms-grid-row: 1;
  -ms-grid-column: 4;
  position: relative;
  grid-area: image
}

@media (width < 835px) {
  .c-homeIntro__images {
    height: 39.1rem
  }
}

.c-homeIntro__image1 {
  position: absolute;
  width: 38.4rem;
  height: 53.5rem;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0
}

@media (width < 835px) {
  .c-homeIntro__image1 {
    width: 19.9rem;
    height: 27.7rem;
    z-index: 2
  }
}

.c-homeIntro__image1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-2.6rem, -2.9rem)
}

@media (width < 835px) {
  .c-homeIntro__image1 img {
    transform: translateY(-4.5rem)
  }
}

.c-homeIntro__image2 {
  position: absolute;
  width: 15rem;
  height: 15rem;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0
}

@media (width < 835px) {
  .c-homeIntro__image2 {
    width: 7.5rem;
    height: 7.5rem;
    z-index: 3
  }
}

.c-homeIntro__image2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-24.4rem, -14.2rem)
}

@media (width < 835px) {
  .c-homeIntro__image2 img {
    transform: translate(-11.8rem, -10.2rem)
  }
}

.c-homeIntro__image3 {
  position: absolute;
  width: 19.2rem;
  height: 12.8rem;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0
}

@media (width < 835px) {
  .c-homeIntro__image3 {
    width: 10.5rem;
    height: 7rem;
    z-index: 1
  }
}

.c-homeIntro__image3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-26.6rem, 26.2rem)
}

@media (width < 835px) {
  .c-homeIntro__image3 img {
    transform: translate(-13.9rem, 10.4rem)
  }
}

.c-homeIntro__image4 {
  position: absolute;
  width: 11.2rem;
  height: 13rem;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0
}

@media (width < 835px) {
  .c-homeIntro__image4 {
    width: 6.6rem;
    height: 7.7rem
  }
}

.c-homeIntro__image4 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(27rem, -31.7rem)
}

@media (width < 835px) {
  .c-homeIntro__image4 img {
    transform: translate(15.4rem, -19.1rem)
  }
}

.c-homeIntro__image5 {
  position: absolute;
  width: 38.2rem;
  height: 19.3rem;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  z-index: 3
}

@media (width < 835px) {
  .c-homeIntro__image5 {
    width: 19.2rem;
    height: 9.9rem
  }
}

.c-homeIntro__image5 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(13.3rem, 27.7rem)
}

@media (width < 835px) {
  .c-homeIntro__image5 img {
    transform: translate(9.8rem, 9.7rem)
  }
}

@media (min-width: 1280px) {
  .c-homeIntro__image5 img {
    transform: translate(15.3rem, 27.7rem)
  }
}

.c-homeIntro__text {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: text
}

@media (width < 835px) {
  .c-homeIntro__text {
    padding: 5.8rem 4.4rem
  }
}

.c-homeIntro__message {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 2
}

@media (width < 835px) {
  .c-homeIntro__message {
    font-size: 1.4rem
  }
}

.c-homeIntro__message p {
  opacity: 0
}

.c-homeIntro__message p:not(:first-child) {
  margin: 3.3rem 0 0
}

@media (width < 835px) {
  .c-homeIntro__message p:not(:first-child) {
    margin: 1.8rem 0 0
  }
}

.c-homeIntro__logo {
  margin: 4.6rem 0 0;
  width: 24.2rem;
  height: 4.5rem;
  opacity: 0
}

@media (width < 835px) {
  .c-homeIntro__logo {
    margin: 3.2rem 0 0;
    width: 15.1rem;
    height: 3.1rem
  }
}

.p-home__movie {
  padding-block: 12rem 5.6rem;
  padding-inline: calc((100% - 128rem)/2 + 16rem);
  margin: 0 auto;
  /* background-color: #fff */
}

@media (width < 835px) {
  .p-home__movie {
    width: auto;
    padding: 7rem 3.2rem 4.8rem
  }
}

.p-home__lineup {
  background-color: #fff
}

.p-home__products {
  padding: 11.2rem 11rem 8rem;
  margin: 0 auto;
  width: 128rem
}

@media (width < 835px) {
  .p-home__products {
    width: auto;
    padding: 6.5rem 2.2rem 5.7rem
  }
}

.p-home__offer {
  width: 76.8rem;
  margin: 0 auto 6.7rem
}

@media (width < 835px) {
  .p-home__offer {
    width: auto;
    padding: 0 2.2rem;
    margin: 0 0 7.2rem
  }
}

.p-home__qa {
  /* background: #DBAABD; */
  padding-block: 16.8rem 5.2rem;
  padding-inline: calc((100% - 86.4rem)/2);
  position: relative;
  min-height: 85rem
}

@media (width < 835px) {
  .p-home__qa {
    padding: 7.8rem 2.2rem 4.3rem;
    min-height: auto
  }
}

/* .p-home__qa:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 88.6rem;
  background: url(/products/mical/assets/images/home/bg_qa.png) 0 0 no-repeat;
  background-size: 100% 88.6rem;
  z-index: -1
} */

@media (width < 835px) {
  /* .p-home__qa:before {
    height: 44rem;
    background: url(/products/mical/assets/images/home/bg_qa_sp.png) 0 0 no-repeat;
    background-size: 100% 44rem
  } */
}

.p-home__cv {
  width: fit-content;
  margin: 0 auto;
  padding: 5.2rem 0
}

@media (width < 835px) {
  .p-home__cv {
    width: 100%;
    padding: 4.3rem 2.2rem 3.2rem
  }
}

.c-homeQAEntry {
  border-radius: .8rem;
  overflow: hidden;
  background-color: #fff
}

@media (width < 835px) {
  .c-homeQAEntry {
    border-radius: .6rem
  }
}

.c-homeQAEntry__header {
  position: relative;
  padding: 2.3rem 8.8rem 2.5rem 6.1rem;
  cursor: pointer
}

@media (width < 835px) {
  .c-homeQAEntry__header {
    padding: 2.2rem 5.5rem 1.9rem 4.7rem
  }
}

.c-homeQAEntry__header:before {
  position: absolute;
  right: 2.4rem;
  top: 50%;
  content: "";
  margin-top: -1px;
  display: block;
  width: 2rem;
  height: 2px;
  background: #000
}

@media (width < 835px) {
  .c-homeQAEntry__header:before {
    width: 1.4rem;
    right: 2.2rem
  }
}

.c-homeQAEntry__header:after {
  position: absolute;
  right: 2.4rem;
  top: 50%;
  margin-top: -1px;
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  background: #000;
  transform: rotate(90deg);
  transition: transform .5s cubic-bezier(.19, 1, .22, 1)
}

@media (width < 835px) {
  .c-homeQAEntry__header:after {
    width: 1.4rem;
    right: 2.2rem
  }
}

.c-homeQAEntry.is-open .c-homeQAEntry__header:after {
  transform: rotate(180deg)
}

.c-homeQAEntry__q {
  position: relative;
  font-size: 1.6rem;
  letter-spacing: .04em;
  line-height: 2.5
}

@media (width < 835px) {
  .c-homeQAEntry__q {
    font-size: 1.5rem;
    line-height: 1.6;
    text-wrap: auto
  }
}

.c-homeQAEntry__q:before {
  position: absolute;
  left: -3.7rem;
  top: 0;
  content: "Q.";
  font-size: 2.2rem;
  font-weight: 400;
  font-family: "Noto Sans", sans-serif;
  ;
  line-height: 1.6;
  color: #dd7c90
}

@media (width < 835px) {
  .c-homeQAEntry__q:before {
    font-size: 1.8rem;
    left: -2.6rem;
    top: -.4rem
  }
}

.c-homeQAEntry__body {
  background-color: #fff9f5;
  overflow: hidden;
  height: 0
}

.homeQAEntry__a {
  position: relative;
  font-size: 1.6rem;
  letter-spacing: .04em;
  line-height: 1.8;
  padding-inline: 6rem;
  padding-block: 2.8rem 3.2rem
}

@media (width < 835px) {
  .homeQAEntry__a {
    font-size: 1.5rem;
    padding-inline: 4.7rem 2.4rem;
    padding-block: 1.5rem
  }
}

.homeQAEntry__a p:not(:first-child) {
  margin-top: 2rem
}

.homeQAEntry__a a {
  color: #0093ff
}

.homeQAEntry__a a:hover {
  text-decoration: none
}

.homeQAEntry__a:before {
  position: absolute;
  top: 2.8rem;
  left: 2.6rem;
  content: "A.";
  font-size: 2.2rem;
  font-weight: 400;
  font-family: "Noto Sans", sans-serif;
  ;
  line-height: 1.25;
  color: #dd7c90
}

@media (width < 835px) {
  .homeQAEntry__a:before {
    font-size: 1.8rem;
    top: 1.6rem;
    left: 2.2rem
  }
}

.c-homeQAList__item {
  position: relative;
  z-index: 1
}

.c-homeQAList__item:before {
  position: absolute;
  display: block;
  content: "";
  top: .8rem;
  right: .8rem;
  bottom: .8rem;
  left: .8rem;
  z-index: -1;
  box-shadow: 0 8px 30px #a743554d
}

@media (width < 835px) {
  .c-homeQAList__item:before {
    top: .4rem;
    right: .4rem;
    bottom: .4rem;
    left: .4rem;
    box-shadow: 0 4px 15px #a743554d
  }
}

.c-homeQAList__item:not(:first-child) {
  margin-top: 2.4rem
}

@media (width < 835px) {
  .c-homeQAList__item:not(:first-child) {
    margin-top: 1.6rem
  }
}

.c-homeQA__header {
  margin: 0 0 4.8rem
}

@media (width < 835px) {
  .c-homeQA__header {
    margin: 0 0 3.7rem
  }
}

.c-homeQA__heading {
  margin: 0 0 .8rem;
  font-family: "Noto Sans", sans-serif;
  ;
  font-size: 5.6rem;
  font-weight: 400;
  font-style: italic;
  color: #fff;
  text-align: center;
  letter-spacing: .08em
}

@media (width < 835px) {
  .c-homeQA__heading {
    font-size: 4.8rem
  }
}

.c-homeQA__label {
  font-size: 1.6rem;
  font-weight: 700;
  color: #f7e5ea;
  text-align: center;
  letter-spacing: .16em
}

.c-homeQA__list {
  margin: 0 auto
}

.c-sectionSentinel {
  position: absolute;
  width: 100%;
  height: 1px
}

.c-offer__header {
  background-color: #f29fb0;
  padding: 1.6rem;
  border: 1px solid #fff;
  border-bottom: 0;
  border-radius: .8rem .8rem 0 0
}

.c-offer__heading {
  font-size: 2rem;
  letter-spacing: .04em;
  color: #fff;
  text-align: center
}

@media (width < 835px) {
  .c-offer__heading {
    font-size: 1.8rem
  }
}

.c-offer__body {
  border-radius: 0 0 .8rem .8rem;
  border: 1px solid #fff;
  border-top: none;
  padding: 3.2rem 4rem
}

@media (width < 835px) {
  .c-offer__body {
    padding: 2.8rem 2.2rem
  }
}

.c-offer__entry:not(:first-child) {
  margin-top: 2.8rem
}

@media (width < 835px) {
  .c-offer__entry:not(:first-child) {
    margin-top: 2.5rem
  }
}

.c-offer__entry__title {
  margin: 0 0 .4rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.386;
  display: flex;
  align-items: start;
  gap: .8rem;
  text-wrap: auto
}

@media (width < 835px) {
  .c-offer__entry__title {
    font-size: 1.4rem
  }
}

.c-offer__entry__title:before {
  margin: calc(.5lh - 1px) 0 0;
  display: block;
  content: "";
  width: 1.1rem;
  aspect-ratio: 1;
  background-color: #f29fb0;
  border-radius: 100%;
  transform: translateY(-50%)
}

@media (width < 835px) {
  .c-offer__entry__title:before {
    margin: .5lh 0 0
  }
}

.c-offer__entry__text {
  padding: 0 0 0 2rem;
  font-size: 1.2rem;
  letter-spacing: .04em;
  line-height: 1.73
}

/* .c-offer__entry__text>*:not(:first-child) {
  margin-top: 1rem
} */

.c-offer__entry__text ul {
  margin-top: 1rem
}

.c-offer__entry__text ul li {
  padding: 0 0 0 1.5rem;
  position: relative
}

.c-offer__entry__text ul li:before {
  position: absolute;
  left: 0;
  content: "※"
}

.c-offer__entry__text ol {
  counter-reset: counter
}

.c-offer__entry__text ol li {
  counter-increment: counter;
  padding: 0 0 0 1.8rem;
  position: relative
}

.c-offer__entry__text ol li:before {
  position: absolute;
  left: .2rem;
  content: counter(counter) "."
}

.c-offer__entry__link {
  margin: 1rem 0 0;
  font-size: 1.2rem;
  letter-spacing: .04em;
  background-color: #f8f2f4;
  font-weight: 700;
  color: #4e4c4c;
  padding: 1.3rem 2.1rem;
  display: flex;
  gap: 1rem
}

@media (width < 835px) {
  .c-offer__entry__link {
    font-size: 1rem;
    display: block
  }
}

@media (width < 835px) {
  .c-offer__entry__link ._label {
    display: block;
    margin: 0 0 .1rem
  }
}

.c-offer__entry__link ._hyphen {
  color: #ccc
}

@media (width < 835px) {
  .c-offer__entry__link ._hyphen {
    display: none
  }
}

.c-offer__entry__link ._link {
  display: inline-flex;
  align-items: center;
  color: #0093ff
}

.c-offer__entry__link ._link:hover {
  text-decoration: none
}

.c-offer__entry__link ._icon {
  flex-shrink: 0;
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-color: currentColor;
  -webkit-mask-image: url(/products/mical/assets/images/icon_blank.svg);
  mask-image: url(/products/mical/assets/images/icon_blank.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat
}

@media (width < 835px) {
  .c-offer__entry__link ._icon {
    width: 1rem;
    height: 1rem
  }
}

.c-offer__entry__note {
  font-size: 1rem
}

.c-homeMovieList__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem
}

@media (width < 835px) {
  .c-homeMovieList__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem
  }
}

.c-homeMovieEntry__image {
  width: 100%;
  aspect-ratio: 440/248
}

.c-homeMovieEntry__image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.c-homeMovieEntry__caption {
  margin: 1.7rem 0 0;
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: .02em;
  line-height: 1.4;
  text-align: center
}

@media (width < 835px) {
  .c-homeMovieEntry__caption {
    font-size: 1.6rem
  }
}

.c-homeMovie__header {
  margin: 0 0 6rem
}

@media (width < 835px) {
  .c-homeMovie__header {
    margin: 0 0 3.2rem
  }
}

.c-homeMovie__heading {
  font-size: 5.6rem;
  font-family: "Noto Sans", sans-serif;
  ;
  font-weight: 400;
  font-style: italic;
  letter-spacing: .08em;
  line-height: 1.14;
  text-align: center
}

@media (width < 835px) {
  .c-homeMovie__heading {
    font-size: 4rem
  }
}

.c-movieModal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  place-items: center;
  z-index: 9
}

@media (width < 835px) {
  .c-movieModal {
    padding: 0 3.2rem
  }
}

.c-movieModal::backdrop {
  background-color: #000c
}

.c-movieModal__close {
  position: absolute;
  right: 0;
  top: -1.6rem;
  z-index: 2;
  transform: translateY(-100%)
}

@media (width < 835px) {
  .c-movieModal__close {
    top: -.8rem
  }
}

.c-movieModal__movie {
  position: relative;
  width: 86.4rem;
  aspect-ratio: 864/485
}

@media (width < 835px) {
  .c-movieModal__movie {
    width: 100%
  }
}

.c-movieModal__frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden
}

.c-movieModal__frame iframe {
  position: absolute;
  border: none;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px
}

.c-modalCloseButton {
  width: 2.4rem;
  aspect-ratio: 1;
  display: block;
  transition: opacity .3s ease-out
}

.c-modalCloseButton:hover {
  opacity: .6
}

.c-modalCloseButton ._icon {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-mask-image: url(/products/mical/assets/images/icon_close.svg);
  mask-image: url(/products/mical/assets/images/icon_close.svg);
  -webkit-mask-size: contain;
  mask-size: contain
}

.c-modalCloseButton:focus-visible {
  outline: none;
  box-shadow: none
}

.c-modalCloseButton ._label {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden
}