@charset "UTF-8";
/*--------------------------------------*
 * foundation
 *--------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&display=swap");
/*!
 * ress.css • v3.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
@layer reset {
  html {
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    /* Prevent adjustments of font size after orientation changes in iOS */
    word-break: normal;
    -moz-tab-size: 4;
    tab-size: 4;
  }
  *,
  ::before,
  ::after {
    background-repeat: no-repeat;
    /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
    box-sizing: inherit;
  }
  ::before,
  ::after {
    text-decoration: inherit;
    /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
    vertical-align: inherit;
  }
  * {
    padding: 0;
    /* Reset `padding` and `margin` of all elements */
    margin: 0;
  }
  /* # =================================================================
  	 # General elements
  	 # ================================================================= */
  hr {
    overflow: visible;
    /* Show the overflow in Edge and IE */
    height: 0;
    /* Add the correct box sizing in Firefox */
  }
  details,
  main {
    display: block;
    /* Render the `main` element consistently in IE. */
  }
  summary {
    display: list-item;
    /* Add the correct display in all browsers */
  }
  small {
    font-size: 80%;
    /* Set font-size to 80% in `small` elements */
  }
  [hidden] {
    display: none;
    /* Add the correct display in IE */
  }
  abbr[title] {
    border-bottom: none;
    /* Remove the bottom border in Chrome 57 */
    /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
    text-decoration: underline;
    text-decoration: underline dotted;
  }
  a {
    background-color: transparent;
    /* Remove the gray background on active links in IE 10 */
    color: inherit;
    text-decoration: none;
  }
  a:active,
  a:hover {
    outline-width: 0;
    /* Remove the outline when hovering in all browsers */
  }
  code,
  kbd,
  pre,
  samp {
    font-family: monospace, monospace;
    /* Specify the font family of code elements */
  }
  pre {
    font-size: 1em;
    /* Correct the odd `em` font sizing in all browsers */
  }
  b,
  strong {
    font-weight: bolder;
    /* Add the correct font weight in Chrome, Edge, and Safari */
  }
  /* https://gist.github.com/unruthless/413930 */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  /* # =================================================================
  	 # Forms
  	 # ================================================================= */
  input {
    border-radius: 0;
  }
  /* Replace pointer cursor in disabled elements */
  [disabled] {
    cursor: default;
  }
  [type=number]::-webkit-inner-spin-button,
  [type=number]::-webkit-outer-spin-button {
    height: auto;
    /* Correct the cursor style of increment and decrement buttons in Chrome */
  }
  [type=search] {
    -webkit-appearance: textfield;
    /* Correct the odd appearance in Chrome and Safari */
    outline-offset: -2px;
    /* Correct the outline style in Safari */
  }
  [type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
    /* Remove the inner padding in Chrome and Safari on macOS */
  }
  textarea {
    overflow: auto;
    /* Internet Explorer 11+ */
    resize: vertical;
    /* Specify textarea resizability */
  }
  button,
  input,
  optgroup,
  select,
  textarea {
    font: inherit;
    /* Specify font inheritance of form elements */
  }
  optgroup {
    font-weight: bold;
    /* Restore the font weight unset by the previous rule */
  }
  button {
    overflow: visible;
    /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
  }
  button,
  select {
    text-transform: none;
    /* Firefox 40+, Internet Explorer 11- */
  }
  /* Apply cursor pointer to button elements */
  button,
  [type=button],
  [type=reset],
  [type=submit],
  [role=button] {
    cursor: pointer;
    color: inherit;
  }
  /* Remove inner padding and border in Firefox 4+ */
  button::-moz-focus-inner,
  [type=button]::-moz-focus-inner,
  [type=reset]::-moz-focus-inner,
  [type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  /* Replace focus style removed in the border reset above */
  button:-moz-focusring,
  [type=button]::-moz-focus-inner,
  [type=reset]::-moz-focus-inner,
  [type=submit]::-moz-focus-inner {
    outline: 1px dotted ButtonText;
  }
  button,
  html [type=button],
  [type=reset],
  [type=submit] {
    -webkit-appearance: button;
    /* Correct the inability to style clickable types in iOS */
  }
  /* Remove the default button styling in all browsers */
  button,
  input,
  select,
  textarea {
    background-color: transparent;
    border-style: none;
  }
  /* Style select like a standard input */
  select {
    outline: none;
    background-color: #fff;
    border: #707070 solid 1px;
    border-radius: 3px;
    display: inline-block;
    padding: 0.2em 0.5em;
    width: 100%;
  }
  select::-ms-expand {
    display: none;
    /* Internet Explorer 11+ */
  }
  select::-ms-value {
    color: currentColor;
    /* Internet Explorer 11+ */
  }
  legend {
    border: 0;
    /* Correct `color` not being inherited in IE 8/9/10/11 */
    color: inherit;
    /* Correct the color inheritance from `fieldset` elements in IE */
    display: table;
    /* Correct the text wrapping in Edge and IE */
    max-width: 100%;
    /* Correct the text wrapping in Edge and IE */
    white-space: normal;
    /* Correct the text wrapping in Edge and IE */
    max-width: 100%;
    /* Correct the text wrapping in Edge 18- and IE */
  }
  ::-webkit-file-upload-button {
    /* Correct the inability to style clickable types in iOS and Safari */
    -webkit-appearance: button;
    color: inherit;
    font: inherit;
    /* Change font properties to `inherit` in Chrome and Safari */
  }
  /* # =================================================================
  	 # Specify media element style
  	 # ================================================================= */
  img {
    border-style: none;
    /* Remove border when inside `a` element in IE 8/9/10 */
  }
  /* Add the correct vertical alignment in Chrome, Firefox, and Opera */
  progress {
    vertical-align: baseline;
  }
  /* # =================================================================
  	 # Accessibility
  	 # ================================================================= */
  /* Hide content from screens but not screenreaders */
  @media screen {
    [hidden~=screen] {
      display: inherit;
    }
    [hidden~=screen]:not(:active):not(:focus):not(:target) {
      position: absolute !important;
      clip: rect(0 0 0 0) !important;
    }
  }
  /* Specify the progress cursor of updating elements */
  [aria-busy=true] {
    cursor: progress;
  }
  /* Specify the pointer cursor of trigger elements */
  [aria-controls] {
    cursor: pointer;
  }
  /* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
  [aria-disabled] {
    cursor: default;
  }
  /*original*/
  html, body, div, span, object, iframe,
  h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  abbr, address, cite, code,
  del, dfn, em, img, ins, kbd, q, samp,
  small, strong, sub, sup, var,
  b, i,
  dl, dt, dd, ol, ul, li,
  fieldset, form, label, legend,
  table, caption, tbody, tfoot, thead, tr, th, td,
  article, aside, canvas, details, figcaption, figure,
  footer, header, hgroup, menu, nav, section, summary,
  time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    font-weight: inherit;
    border-collapse: collapse;
  }
}
/* base
--------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 10vh;
}
@media (min-width: 768px) {
  html {
    scroll-padding-top: min(100px, 6.9444444444vw);
  }
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.6;
  font-size: 3.5897435897vw;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  overflow-wrap: break-word;
}
@media (min-width: 768px) {
  body {
    font-size: min(20px, 1.3888888889vw);
  }
}

p {
  line-height: inherit;
  font-size: inherit;
}

h2 {
  margin: 0;
}

li {
  list-style: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

em {
  font-style: initial;
}

address {
  font-style: normal;
}

strong {
  font-weight: bold;
}

sup {
  font-size: 0.7em;
}

span svg {
  vertical-align: middle;
  line-height: 1;
  height: auto;
}

@media (min-width: 768px) {
  a {
    transition: opacity 0.3s ease-out;
  }
}
@media (min-width: 768px) {
  p a {
    transition: opacity 0.2s ease-out;
  }
  p a:focus-visible {
    opacity: 0.5;
  }
}
@media (min-width: 768px) and (hover: hover) {
  p a:hover {
    opacity: 0.5;
  }
}

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

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

/*--------------------------------------*
 * library
 *--------------------------------------*/
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/*--------------------------------------*
 * component
 *--------------------------------------*/
.c-button {
  margin-left: auto;
  margin-right: auto;
  width: 48.7179487179vw;
  padding: 2.6923076923vw 10.2564102564vw;
  color: #FFFFFF;
  display: block;
  position: relative;
  font-weight: 700;
  text-align: center;
  font-size: 3.5897435897vw;
  background-color: #000000;
  background-repeat: no-repeat;
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .c-button:hover {
    opacity: 0.5;
  }
}
@media (min-width: 768px) {
  .c-button {
    width: min(388px, 26.9444444444vw);
    padding: min(10px, 0.6944444444vw) min(60px, 4.1666666667vw);
    font-size: min(22px, 1.5277777778vw);
  }
}
.c-button::after {
  content: "";
  margin: auto;
  width: 4.1025641026vw;
  height: 1.4794871795vw;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2.8205128205vw;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-image: url("../img/common/icon_arrow.svg");
  background-color: #FFFFFF;
}
@media (min-width: 768px) {
  .c-button::after {
    width: min(30px, 2.0833333333vw);
    height: min(11.15px, 0.7743055556vw);
    right: min(20px, 1.3888888889vw);
  }
}
.c-button.is-anchor {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .c-button.is-anchor {
    border: min(1px, 0.0694444444vw) solid #000000;
  }
}
.c-button.is-anchor::after {
  rotate: 90deg;
  background-color: #000000;
}
.c-button.is-prev::after {
  right: auto;
  scale: -1 1;
  left: 2.8205128205vw;
}
@media (min-width: 768px) {
  .c-button.is-prev::after {
    left: min(20px, 1.3888888889vw);
  }
}
.c-button:not(.is-pdf)[target=_blank]::after {
  width: 4.1025641026vw;
  height: 4.1025641026vw;
  mask-image: url("../img/common/icon_blank.svg");
}
@media (min-width: 768px) {
  .c-button:not(.is-pdf)[target=_blank]::after {
    width: min(16px, 1.1111111111vw);
    height: min(16px, 1.1111111111vw);
    right: min(26px, 1.8055555556vw);
  }
}
.c-button.is-pdf::after {
  width: 3.9461538462vw;
  height: 5.1282051282vw;
  mask-image: url("../img/common/icon_pdf.svg");
}
@media (min-width: 768px) {
  .c-button.is-pdf::after {
    width: min(15.39px, 1.06875vw);
    height: min(20px, 1.3888888889vw);
  }
}
.c-button.is-small {
  margin-left: 0;
  width: max-content;
}
@media (min-width: 768px) {
  .c-button.is-small {
    min-width: min(280px, 19.4444444444vw);
  }
}

.c-button-text {
  width: max-content;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: 2.0512820513vw;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 3.8461538462vw;
  line-height: 1;
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .c-button-text:hover {
    opacity: 0.5;
  }
}
@media (min-width: 768px) {
  .c-button-text {
    font-size: min(22px, 1.5277777778vw);
    gap: min(20px, 1.3888888889vw);
  }
}
.c-button-text::after {
  content: "";
  display: block;
  width: 4.1025641026vw;
  height: 4.0435897436vw;
  mask-image: url("../img/common/icon_arrow.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: #000000;
}
@media (min-width: 768px) {
  .c-button-text::after {
    width: min(30px, 2.0833333333vw);
    height: min(11.15px, 0.7743055556vw);
  }
}
@media (min-width: 768px) {
  .c-button-text.is-anchor {
    gap: min(14px, 0.9722222222vw);
  }
}
.c-button-text.is-anchor::after {
  rotate: 90deg;
}
@media (min-width: 768px) {
  .c-button-text:not(.is-pdf)[target=_blank] {
    gap: min(14px, 0.9722222222vw);
  }
}
.c-button-text:not(.is-pdf)[target=_blank]::after {
  width: 4.1025641026vw;
  height: 4.1025641026vw;
  mask-image: url("../img/common/icon_blank.svg");
}
@media (min-width: 768px) {
  .c-button-text:not(.is-pdf)[target=_blank]::after {
    width: min(16px, 1.1111111111vw);
    height: min(16px, 1.1111111111vw);
  }
}
@media (min-width: 768px) {
  .c-button-text.is-pdf {
    gap: min(14px, 0.9722222222vw);
  }
}
.c-button-text.is-pdf::after {
  width: 3.9461538462vw;
  height: 5.1282051282vw;
  mask-image: url("../img/common/icon_pdf.svg");
}
@media (min-width: 768px) {
  .c-button-text.is-pdf::after {
    width: min(15.39px, 1.06875vw);
    height: min(20px, 1.3888888889vw);
  }
}
.c-button-text.is-border {
  padding: 1.6666666667vw 2.8205128205vw;
  border: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .c-button-text.is-border {
    padding: min(10px, 0.6944444444vw) min(20px, 1.3888888889vw);
    border: min(1px, 0.0694444444vw) solid #000000;
  }
}

.c-wrap {
  margin-top: 15.3846153846vw;
  margin-left: auto;
  margin-right: auto;
  width: 89.7435897436vw;
  max-width: 100%;
}
@media (min-width: 768px) {
  .c-wrap {
    margin-top: min(120px, 8.3333333333vw);
    width: min(1180px, 81.9444444444vw);
  }
}
:where(.c-wrap > *) {
  margin-top: 17.9487179487vw;
}
@media (min-width: 768px) {
  :where(.c-wrap > *) {
    margin-top: min(100px, 6.9444444444vw);
  }
}

.c-section {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media (min-width: 768px) {
  .c-section {
    padding-left: min(50px, 3.4722222222vw);
    padding-right: min(50px, 3.4722222222vw);
  }
}
@media (max-width: 767.98px) {
  :where(.c-wrap) > .c-section {
    padding-left: 2.5641025641vw;
    padding-right: 2.5641025641vw;
  }
}
:where(.c-section) > *:where(:not(:nth-child(1))) {
  margin-top: 2.5641025641vw;
}
@media (min-width: 768px) {
  :where(.c-section) > *:where(:not(:nth-child(1))) {
    margin-top: min(25px, 1.7361111111vw);
  }
}
:where(.c-section) + .c-section, :where(.c-list) + .c-section {
  margin-top: 12.8205128205vw;
}
@media (min-width: 768px) {
  :where(.c-section) + .c-section, :where(.c-list) + .c-section {
    margin-top: min(80px, 5.5555555556vw);
  }
}
@media (min-width: 768px) {
  :where(.c-section.is-l) + .c-section {
    margin-top: min(100px, 6.9444444444vw);
  }
}
.c-section.is-border {
  padding-top: 5.1282051282vw;
  border-top: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .c-section.is-border {
    padding-top: min(50px, 3.4722222222vw);
    border-top: min(1px, 0.0694444444vw) solid #000000;
  }
}
.c-section.is-black {
  padding-top: 5.1282051282vw;
  padding-bottom: 5.1282051282vw;
  background-color: #000000;
  color: #FFFFFF;
}
@media (max-width: 767.98px) {
  .c-section.is-black {
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
  }
}
@media (min-width: 768px) {
  .c-section.is-black {
    padding-top: min(50px, 3.4722222222vw);
    padding-bottom: min(50px, 3.4722222222vw);
  }
}

.c-title {
  font-weight: 700;
  line-height: 1.4;
  font-size: 4.8717948718vw;
}
@media (min-width: 768px) {
  .c-title {
    font-size: min(26px, 1.8055555556vw);
  }
}

.c-text.is-bold {
  font-weight: 700;
}
.c-text .is-marker {
  background-color: #F0FF81;
}
.c-text a {
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .c-text a:hover {
    opacity: 0.5;
  }
}

.c-column {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .c-column {
    gap: min(60px, 4.1666666667vw);
  }
}
@media (min-width: 768px) {
  .c-column.is-column3 {
    gap: min(38px, 2.6388888889vw);
  }
}
@media (min-width: 768px) {
  .c-column.is-column3 .c-column__item {
    width: calc(33.3333333333% - min(38px, 2.6388888889vw) * 2 / 3);
  }
}
@media (min-width: 768px) {
  .c-column.is-column4 {
    gap: min(16px, 1.1111111111vw);
  }
}
@media (min-width: 768px) {
  .c-column.is-column4 .c-column__item {
    width: calc(25% - min(16px, 1.1111111111vw) * 3 / 4);
  }
}
:where(.c-column__item) {
  width: calc(50% - 3.8461538462vw);
}
@media (min-width: 768px) {
  :where(.c-column__item) {
    width: calc(50% - min(60px, 4.1666666667vw) * 1 / 2);
  }
}
:where(.c-column__item) > *:where(:not(:nth-child(1))) {
  margin-top: 2.5641025641vw;
}
@media (min-width: 768px) {
  :where(.c-column__item) > *:where(:not(:nth-child(1))) {
    margin-top: min(25px, 1.7361111111vw);
  }
}
.c-column:has(> .c-button) {
  width: max-content;
  max-width: 100%;
  gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .c-column:has(> .c-button) {
    gap: min(40px, 2.7777777778vw);
  }
}

.c-list {
  width: 100%;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: start;
}
@media (min-width: 768px) {
  .c-list {
    gap: min(20px, 1.3888888889vw);
  }
}
.c-list__item {
  display: contents;
}
.c-list__box {
  min-width: 0;
}
@media (min-width: 768px) {
  .c-list {
    column-gap: min(20px, 1.3888888889vw);
  }
}

/*--------------------------------------*
 * layout
 *--------------------------------------*/
.l-header {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 101;
  background-color: rgba(255, 255, 255, 0.5);
  transition: background-color 0.3s ease-out 0.3s;
  backdrop-filter: blur(10px);
}
@media (max-width: 767.98px) {
  .is-hamburger-open .l-header {
    background-color: white;
  }
}
.l-header__inner {
  width: 100%;
  padding-left: 5.1282051282vw;
  padding-right: 5.1282051282vw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
}
@media (max-width: 767.98px) {
  .l-header__inner {
    height: 12.3076923077vw;
  }
}
@media (min-width: 768px) {
  .l-header__inner {
    width: min(1345px, 93.4027777778vw);
    padding-top: min(15px, 1.0416666667vw);
    padding-bottom: min(15px, 1.0416666667vw);
  }
}
.l-header__logo {
  width: 40vw;
  line-height: 1;
}
@media (min-width: 768px) {
  .l-header__logo {
    width: min(400px, 27.7777777778vw);
  }
}
.l-header__box {
  margin-left: auto;
  width: max-content;
  display: flex;
  gap: 0.7692307692vw;
}
@media (min-width: 768px) {
  .l-header__box {
    margin-left: min(25px, 1.7361111111vw);
    gap: min(12px, 0.8333333333vw);
  }
}
.l-header__button {
  padding-left: 1.0256410256vw;
  padding-right: 1.0256410256vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 3.5897435897vw;
  color: #fff;
  line-height: 1.4;
  background-color: #000;
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-header__button:hover {
    opacity: 0.5;
  }
}
@media (min-width: 768px) {
  .l-header__button {
    padding: min(10px, 0.6944444444vw);
    font-weight: 500;
    font-size: min(20px, 1.3888888889vw);
    line-height: 1;
  }
}
.l-header__button.is-line {
  color: #06C755;
}
.l-header__trigger {
  margin-left: 3.8461538462vw;
  width: 6.6666666667vw;
  height: 2.8205128205vw;
  display: block;
  position: relative;
}
@media (min-width: 768px) {
  .l-header__trigger {
    display: none;
  }
}
.l-header__trigger::before, .l-header__trigger::after {
  content: "";
  margin: auto;
  width: 100%;
  height: 0.5128205128vw;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  background-color: #000000;
  transition: all 0.3s ease-out;
}
.l-header__trigger::before {
  top: 0%;
  transform-origin: 40% 50%;
}
.l-header__trigger::after {
  bottom: 0%;
  transform-origin: 40% 50%;
}
@media (max-width: 767.98px) {
  .is-hamburger-open .l-header__trigger::before {
    transform: rotate(-21.04deg);
    top: 50%;
  }
  .is-hamburger-open .l-header__trigger::after {
    transform: rotate(21.04deg);
    bottom: 50%;
  }
}

@media (max-width: 767.98px) {
  .l-header-nav {
    display: none;
  }
}
@media (min-width: 768px) {
  .l-header-nav {
    margin-left: auto;
    width: max-content;
    display: flex;
    align-items: center;
    gap: min(25px, 1.7361111111vw);
  }
}
.l-header-nav__list {
  width: max-content;
  display: flex;
}
@media (min-width: 768px) {
  .l-header-nav__list {
    gap: min(12px, 0.8333333333vw);
  }
}
.l-header-nav__item {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 3.5897435897vw;
}
@media (min-width: 768px) {
  .l-header-nav__item {
    font-size: min(26px, 1.8055555556vw);
  }
}
.l-header-nav__box {
  display: flex;
  gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .l-header-nav__box {
    gap: min(12px, 0.8333333333vw);
  }
}
@media (max-width: 767.98px) {
  .l-header-nav .l-header__button {
    width: 38.4615384615vw;
    height: 10.5128205128vw;
    font-size: 3.5897435897vw;
    font-weight: 600;
  }
}
.l-header-nav__link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-header-nav__link:hover {
    opacity: 0.5;
  }
}

.l-footer {
  height: 58.3333333333vw;
  padding-top: 2.0512820513vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../img/layout/footer/bg.jpg);
}
@media (min-width: 768px) {
  .l-footer {
    height: min(404px, 28.0555555556vw);
    padding-top: min(17px, 1.1805555556vw);
    background-image: url(../img/layout/footer/bg-pc.jpg);
  }
}
.l-footer__list {
  margin-top: auto;
  margin-bottom: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8.2051282051vw;
}
@media (max-width: 767.98px) {
  .l-footer__list {
    padding-left: 15.3846153846vw;
    padding-right: 15.3846153846vw;
  }
}
@media (min-width: 768px) {
  .l-footer__list {
    gap: min(60px, 4.1666666667vw);
  }
}
@media (max-width: 767.98px) {
  .l-footer__item {
    width: calc(50% - 4.1025641026vw);
  }
}
.l-footer__link {
  line-height: 1.6;
  font-size: 2.5641025641vw;
}
@media (min-width: 768px) {
  .l-footer__link {
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-footer__copyright {
  width: 100%;
  padding-top: 0.5128205128vw;
  padding-bottom: 0.5128205128vw;
  text-align: center;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4;
  font-size: 2.5641025641vw;
  background-color: #000000;
}
@media (min-width: 768px) {
  .l-footer__copyright {
    padding-top: min(4.2px, 0.2916666667vw);
    padding-bottom: min(6.64px, 0.4611111111vw);
    font-size: min(12px, 0.8333333333vw);
  }
}

@media (max-width: 767.98px) {
  .l-nav {
    margin: auto;
    width: 100vw;
    height: 0dvh;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background-color: #F6F6F6;
    transition: height 0.3s ease-out;
  }
  .is-hamburger-open .l-nav {
    height: 100dvh;
  }
}
@media (min-width: 768px) {
  .l-nav {
    display: none;
  }
}
.l-nav__inner {
  margin: 17.4358974359vw auto;
  width: 89.7435897436vw;
  height: calc(100% - 22.5641025641vw);
  padding: 5.1282051282vw;
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw;
  background-color: #fff;
}
.l-nav__list {
  width: max-content;
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw;
}
.l-nav__item {
  font-weight: 600;
  font-size: 3.5897435897vw;
}
@media (min-width: 768px) {
  .l-nav__item {
    font-size: min(26px, 1.8055555556vw);
  }
}
.l-nav__box {
  width: 100%;
  display: flex;
  gap: 2.5641025641vw;
}
.l-nav__button {
  width: 38.4615384615vw;
  height: 10.5128205128vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.7948717949vw;
  text-align: center;
  font-weight: 600;
  font-size: 3.5897435897vw;
  color: #fff;
  background-color: #000;
}
.l-nav__button.is-line {
  color: #06C755;
}
.l-nav__button.is-line::before {
  content: "";
  width: 7.4358974359vw;
  height: 7.0846153846vw;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("../img/layout/nav/icon-line.svg");
}

.l-main {
  margin-top: 12.3076923077vw;
  margin-bottom: 20.5128205128vw;
  width: 100%;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .l-main {
    margin-top: min(70px, 4.8611111111vw);
    margin-bottom: min(120px, 8.3333333333vw);
  }
}

.l-breadcrumb {
  margin-left: auto;
  margin-right: auto;
  width: 89.7435897436vw;
  padding: 5.1282051282vw 2.5641025641vw;
  border-top: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-breadcrumb {
    width: min(1180px, 81.9444444444vw);
    padding: min(20px, 1.3888888889vw) 0;
    border-top: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-breadcrumb__list {
  width: 100%;
  display: flex;
  gap: 2.0512820513vw;
}
@media (min-width: 768px) {
  .l-breadcrumb__list {
    gap: min(10px, 0.6944444444vw);
  }
}
.l-breadcrumb__item {
  width: max-content;
  display: flex;
  font-size: 3.5897435897vw;
  gap: 2.0512820513vw;
}
@media (min-width: 768px) {
  .l-breadcrumb__item {
    font-size: min(18px, 1.25vw);
    gap: min(10px, 0.6944444444vw);
  }
}
.l-breadcrumb__item:not(:last-child)::after {
  content: "/";
  color: #989898;
}
.l-breadcrumb__link {
  color: #989898;
}

.l-kv {
  width: 100%;
  min-height: 35.8974358974vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-align: center;
  color: #FFFFFF;
  background-color: #000000;
}
@media (min-width: 768px) {
  .l-kv {
    min-height: min(340px, 23.6111111111vw);
    padding-top: min(40px, 2.7777777778vw);
    padding-bottom: min(40px, 2.7777777778vw);
    gap: min(10px, 0.6944444444vw);
  }
}
.l-kv__title {
  font-weight: 500;
  line-height: 1.3;
  font-size: 8.9743589744vw;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .l-kv__title {
    font-size: min(80px, 5.5555555556vw);
  }
}
.l-kv__english {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 4.8717948718vw;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .l-kv__english {
    font-size: min(45px, 3.125vw);
  }
}

.l-gallery {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .l-gallery {
    max-width: min(1230px, 85.4166666667vw);
  }
}
.l-gallery__inner {
  position: relative;
  background: rgba(255, 255, 255, 0.5);
  padding: 4.6153846154vw 0 4.6153846154vw 5.1282051282vw;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-gallery__inner {
    max-width: min(1180px, 81.9444444444vw);
    margin-left: auto;
    margin-right: auto;
    padding: min(40px, 2.7777777778vw) min(50px, 3.4722222222vw) min(35px, 2.4305555556vw);
    overflow: visible;
  }
}
.l-gallery__list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 37.9487179487vw;
  gap: 1.7948717949vw;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-gallery__list::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-gallery__list {
    grid-auto-columns: min(325px, 22.5694444444vw);
    gap: min(15px, 1.0416666667vw);
    overflow-x: auto;
    overflow-y: hidden;
  }
}
.l-gallery__item {
  width: 100%;
}
.l-gallery__item img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
}
.l-gallery__nav {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.5384615385vw;
  pointer-events: none;
}
@media (min-width: 768px) {
  .l-gallery__nav {
    top: min(175px, 12.1527777778vw);
    left: max(-25px, -1.7361111111vw);
    right: max(-25px, -1.7361111111vw);
    transform: none;
    padding: 0;
  }
}
.l-gallery__arrow {
  width: 10.2564102564vw;
  height: 10.2564102564vw;
  border: 0;
  padding: 0;
  background-color: rgba(255, 255, 255, 0.7);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7.6923076923vw 2.3076923077vw;
  pointer-events: auto;
  cursor: pointer;
}
@media (min-width: 768px) {
  .l-gallery__arrow {
    width: min(50px, 3.4722222222vw);
    height: min(50px, 3.4722222222vw);
    background-size: min(40px, 2.7777777778vw) min(12px, 0.8333333333vw);
  }
}
.l-gallery__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}
.l-gallery__arrow--prev {
  background-image: url("../img/layout/gallery/arrow_left.svg");
}
.l-gallery__arrow--next {
  background-image: url("../img/layout/gallery/arrow_right.svg");
}
.l-gallery__indicator {
  position: absolute;
  left: 5.3846153846vw;
  bottom: 0;
  width: 89.7435897436vw;
  height: 0.5128205128vw;
  background: rgba(255, 255, 255, 0.4);
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-gallery__indicator {
    left: min(50px, 3.4722222222vw);
    width: min(1080px, 75vw);
    height: min(4px, 0.2777777778vw);
  }
}
.l-gallery__indicator-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #FFFFFF;
  transition: width 0.6s ease;
}

.l-gallery-large {
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .l-gallery-large {
    max-width: min(1130px, 78.4722222222vw);
    margin-left: auto;
    margin-right: auto;
  }
}
.l-gallery-large__inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-gallery-large__inner {
    width: min(1080px, 75vw);
    margin-left: auto;
    margin-right: auto;
  }
}
.l-gallery-large__list {
  display: flex;
  gap: 2.5641025641vw;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-gallery-large__list::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-gallery-large__list {
    gap: 0;
  }
}
.l-gallery-large__item {
  flex: 0 0 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.l-gallery-large__link, .l-gallery-large__picture, .l-gallery-large__img, .l-gallery-large__thumb-image {
  display: block;
  width: 100%;
}
.l-gallery-large__img {
  aspect-ratio: 350/194;
  object-fit: cover;
}
@media (min-width: 768px) {
  .l-gallery-large__img {
    aspect-ratio: 1080/600;
  }
}
.l-gallery-large__nav {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 94.8717948718vw;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}
@media (min-width: 768px) {
  .l-gallery-large__nav {
    top: min(250px, 17.3611111111vw);
    width: 100%;
    transform: translate(-50%, 0);
  }
}
.l-gallery-large__thumbs-wrap {
  margin-top: 2.5641025641vw;
}
@media (min-width: 768px) {
  .l-gallery-large__thumbs-wrap {
    width: min(450px, 31.25vw);
    margin: min(20px, 1.3888888889vw) auto 0;
  }
}
.l-gallery-large__thumbs {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-gallery-large__thumbs::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-gallery-large__thumbs {
    gap: min(15px, 1.0416666667vw);
    justify-content: center;
    overflow: visible;
  }
}
.l-gallery-large__thumb-item {
  flex: 0 0 19.4871794872vw;
  aspect-ratio: 76/42;
}
@media (min-width: 768px) {
  .l-gallery-large__thumb-item {
    flex-basis: min(121px, 8.4027777778vw);
    aspect-ratio: 121/56;
  }
}
.l-gallery-large__thumb {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  box-sizing: border-box;
  border: 1.0256410256vw solid transparent;
  background: transparent;
}
@media (min-width: 768px) {
  .l-gallery-large__thumb {
    border-width: min(4px, 0.2777777778vw);
  }
}
.l-gallery-large__thumb.is-active {
  border-color: #000000;
}
.l-gallery-large__thumb-image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 76/42;
  object-fit: cover;
}
@media (min-width: 768px) {
  .l-gallery-large__thumb-image {
    aspect-ratio: 121/56;
  }
}
.l-gallery-large__arrow {
  width: 10.2564102564vw;
  height: 10.2564102564vw;
  padding: 0;
  border: 0;
  background-color: rgba(255, 255, 255, 0.7);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7.6923076923vw 2.3076923077vw;
  pointer-events: auto;
  cursor: pointer;
}
.l-gallery-large__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}
@media (min-width: 768px) {
  .l-gallery-large__arrow {
    width: min(50px, 3.4722222222vw);
    height: min(50px, 3.4722222222vw);
    background-size: min(40px, 2.7777777778vw) min(12px, 0.8333333333vw);
  }
}
.l-gallery-large__arrow--prev {
  background-image: url("../img/layout/gallery/arrow_left.svg");
}
.l-gallery-large__arrow--next {
  background-image: url("../img/layout/gallery/arrow_right.svg");
}

.l-campaign {
  padding: 7.6923076923vw 2.5641025641vw 5.1282051282vw;
  border: 0.1282051282vw solid #000000;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .l-campaign {
    padding: min(60px, 4.1666666667vw) min(140px, 9.7222222222vw) min(50px, 3.4722222222vw);
    border: min(1px, 0.0694444444vw) solid #000000;
    max-width: min(1080px, 75vw);
  }
}
.l-campaign__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media (min-width: 768px) {
  .l-campaign__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
  }
}
.l-campaign__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .l-campaign__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}
.l-campaign__list {
  display: flex;
  flex-direction: column;
  gap: 2.5641025641vw;
  margin-top: 5.1282051282vw;
}
@media (min-width: 768px) {
  .l-campaign__list {
    gap: min(16px, 1.1111111111vw);
    margin-top: min(60px, 4.1666666667vw);
  }
}
.l-campaign__list > li {
  opacity: 1;
  transform: translateY(0);
}
.l-campaign__list > li.is-enter {
  opacity: 0;
  transform: translateY(3.0769230769vw);
}
@media (min-width: 768px) {
  .l-campaign__list > li.is-enter {
    transform: translateY(min(12px, 0.8333333333vw));
  }
}
.l-campaign__list > li.is-enter.is-enter-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.l-campaign__link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-campaign__link:hover {
    opacity: 0.5;
  }
}
.l-campaign__link {
  display: block;
  width: 100%;
}
.l-campaign__img {
  display: block;
  width: 100%;
  height: auto;
}
.l-campaign__more {
  margin-top: 5.1282051282vw;
  text-align: center;
}
@media (min-width: 768px) {
  .l-campaign__more {
    margin-top: min(60px, 4.1666666667vw);
  }
}
.l-campaign__more-btn {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-campaign__more-btn:hover {
    opacity: 0.5;
  }
}
.l-campaign__more-btn {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-size: 3.8461538462vw;
  font-weight: 400;
  line-height: 1;
  border: 0.1282051282vw solid #000000;
  padding: 1.5384615385vw 6.4102564103vw 1.7948717949vw 2.5641025641vw;
}
.l-campaign__more-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.5641025641vw;
  transform: translateY(-50%);
  width: 1.5384615385vw;
  height: 4.1025641026vw;
  background: url("../img/layout/campaign/arrow_more-sp.svg") no-repeat center/contain;
}
@media (min-width: 768px) {
  .l-campaign__more-btn {
    font-size: min(22px, 1.5277777778vw);
    border: min(1px, 0.0694444444vw) solid #000000;
    padding: min(10px, 0.6944444444vw) min(40px, 2.7777777778vw) min(10px, 0.6944444444vw) min(18px, 1.25vw);
  }
  .l-campaign__more-btn::after {
    right: min(14px, 0.9722222222vw);
    width: min(12px, 0.8333333333vw);
    height: min(24px, 1.6666666667vw);
    background-image: url("../img/layout/campaign/arrow_more.svg");
  }
}

.l-campaign-slider {
  width: 100%;
}
@media (min-width: 768px) {
  .l-campaign-slider {
    max-width: min(1080px, 75vw);
    margin-left: auto;
    margin-right: auto;
  }
}
.l-campaign-slider__inner {
  width: 100%;
}
.l-campaign-slider__group {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .l-campaign-slider__group {
    max-width: min(1080px, 75vw);
    margin-top: min(60px, 4.1666666667vw);
  }
}
.l-campaign-slider__list {
  display: flex;
  gap: 2.5641025641vw;
  margin: 4.6153846154vw 0 0;
  padding: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  list-style: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-campaign-slider__list::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-campaign-slider__list {
    gap: min(24px, 1.6666666667vw);
    margin-top: min(18px, 1.25vw);
    scroll-snap-type: x mandatory;
  }
}
.l-campaign-slider__item {
  flex: 0 0 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.l-campaign-slider__link, .l-campaign-slider__img, .l-campaign-slider__thumb-image {
  display: block;
  width: 100%;
}
.l-campaign-slider__link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-campaign-slider__link:hover {
    opacity: 0.5;
  }
}
.l-campaign-slider__img {
  aspect-ratio: 350/175;
  object-fit: cover;
}
@media (min-width: 768px) {
  .l-campaign-slider__img {
    aspect-ratio: 1080/540;
  }
}
.l-campaign-slider__nav {
  margin-top: 2.5641025641vw;
}
@media (min-width: 768px) {
  .l-campaign-slider__nav {
    margin-top: min(30px, 2.0833333333vw);
  }
}
.l-campaign-slider__thumbs {
  display: flex;
  gap: 1.0256410256vw;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  list-style: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-campaign-slider__thumbs::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-campaign-slider__thumbs {
    gap: min(12px, 0.8333333333vw);
  }
}
.l-campaign-slider__thumb-item {
  flex: 0 0 23.5897435897vw;
}
@media (min-width: 768px) {
  .l-campaign-slider__thumb-item {
    flex-basis: min(284px, 19.7222222222vw);
  }
}
.l-campaign-slider__thumb {
  display: block;
  width: 100%;
  padding: 0;
  border: 0.2564102564vw solid transparent;
  background: transparent;
  opacity: 0.55;
  transition: opacity 0.2s ease;
}
@media (min-width: 768px) {
  .l-campaign-slider__thumb {
    border-width: min(2px, 0.1388888889vw);
  }
}
.l-campaign-slider__thumb.is-active {
  border-color: #000000;
  opacity: 1;
}
.l-campaign-slider__thumb-image {
  aspect-ratio: 92/46;
  object-fit: cover;
}
@media (min-width: 768px) {
  .l-campaign-slider__thumb-image {
    aspect-ratio: 284/142;
  }
}
.l-campaign-slider__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4.1025641026vw;
}
@media (min-width: 768px) {
  .l-campaign-slider__footer {
    margin-top: min(16px, 1.1111111111vw);
  }
}
.l-campaign-slider__indicator {
  position: relative;
  width: 38.4615384615vw;
  height: 0.5128205128vw;
  background: rgba(0, 0, 0, 0.25);
  flex-shrink: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-campaign-slider__indicator {
    width: min(400px, 27.7777777778vw);
    height: min(4px, 0.2777777778vw);
  }
}
.l-campaign-slider__indicator-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 6.6666666667vw;
  height: 100%;
  background: #000000;
  will-change: width;
  transition: width 0.6s ease-out;
}
@media (min-width: 768px) {
  .l-campaign-slider__indicator-thumb {
    width: min(20px, 1.3888888889vw);
  }
}
.l-campaign-slider__arrows {
  display: flex;
  gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .l-campaign-slider__arrows {
    gap: min(16px, 1.1111111111vw);
  }
}
.l-campaign-slider__arrow {
  width: 6.6666666667vw;
  height: 2.3076923077vw;
  padding: 0;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
}
.l-campaign-slider__arrow:disabled {
  opacity: 0.3;
  cursor: default;
}
@media (min-width: 768px) {
  .l-campaign-slider__arrow {
    width: min(28px, 1.9444444444vw);
    height: min(10px, 0.6944444444vw);
  }
}
.l-campaign-slider__arrow--prev {
  background-image: url("../img/layout/campaign/arrow_left.svg");
}
.l-campaign-slider__arrow--next {
  background-image: url("../img/layout/campaign/arrow_right.svg");
}

.l-cta {
  display: flex;
  gap: 1.2820512821vw;
  margin-left: auto;
  margin-right: auto;
  width: max-content;
}
@media (min-width: 768px) {
  .l-cta {
    gap: min(10px, 0.6944444444vw);
  }
}
.l-cta__btn {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-cta__btn:hover {
    opacity: 0.5;
  }
}
.l-cta__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #000000;
  color: #FFFFFF;
  width: 44.2307692308vw;
  min-height: 10.7692307692vw;
  font-size: 3.3333333333vw;
  font-weight: 400;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .l-cta__btn {
    width: min(535px, 37.1527777778vw);
    min-height: min(83px, 5.7638888889vw);
    font-size: min(22px, 1.5277777778vw);
  }
}
.l-cta__btn.is-line {
  color: #06C755;
  gap: 1.7948717949vw;
}
@media (min-width: 768px) {
  .l-cta__btn.is-line {
    gap: min(14px, 0.9722222222vw);
  }
}
.l-cta__btn.is-line img {
  width: 7.4358974359vw;
  flex: 0 0 auto;
}
@media (min-width: 768px) {
  .l-cta__btn.is-line img {
    width: min(54px, 3.75vw);
  }
}

.l-coupon {
  width: 100%;
}
.l-coupon__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media (min-width: 768px) {
  .l-coupon__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
  }
}
.l-coupon__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .l-coupon__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}
.l-coupon__viewport {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5.1282051282vw;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .l-coupon__viewport {
    gap: min(30px, 2.0833333333vw);
    max-width: min(1080px, 75vw);
    margin-top: min(60px, 4.1666666667vw);
  }
}
.l-coupon.is-has-more .l-coupon__viewport::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 33.3333333333vw;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%), linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  z-index: 10;
}
@media (min-width: 768px) {
  .l-coupon.is-has-more .l-coupon__viewport::after {
    height: min(255px, 17.7083333333vw);
  }
}
.l-coupon__list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: 1fr;
  grid-auto-columns: 33.3333333333vw;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  column-gap: 2.5641025641vw;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-coupon__list::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-coupon__list {
    grid-auto-columns: min(255px, 17.7083333333vw);
    column-gap: min(20px, 1.3888888889vw);
  }
}
.l-coupon__row {
  position: relative;
  padding-bottom: 4.1025641026vw;
  opacity: 1;
  transform: translateY(0);
}
@media (min-width: 768px) {
  .l-coupon__row {
    padding-bottom: min(24px, 1.6666666667vw);
  }
}
.l-coupon__row.is-enter {
  opacity: 0;
  transform: translateY(3.0769230769vw);
}
.l-coupon__row.is-enter.is-enter-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
@media (min-width: 768px) {
  .l-coupon__row.is-enter {
    transform: translateY(min(12px, 0.8333333333vw));
  }
}
.l-coupon__nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  z-index: 30;
}
.l-coupon__indicator {
  width: 38.4615384615vw;
  height: 0.5128205128vw;
  background: rgba(0, 0, 0, 0.25);
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-coupon__indicator {
    width: min(240px, 16.6666666667vw);
    height: min(4px, 0.2777777778vw);
  }
}
.l-coupon__indicator-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 6.6666666667vw;
  background: #000000;
  will-change: width;
  transition: width 0.6s ease-out;
}
@media (min-width: 768px) {
  .l-coupon__indicator-thumb {
    width: min(46px, 3.1944444444vw);
  }
}
.l-coupon__arrows {
  display: flex;
  align-items: center;
  gap: 2.5641025641vw;
  pointer-events: auto;
}
@media (min-width: 768px) {
  .l-coupon__arrows {
    gap: min(16px, 1.1111111111vw);
  }
}
.l-coupon__item {
  width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.l-coupon__item-link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-coupon__item-link:hover {
    opacity: 0.5;
  }
}
.l-coupon__item-link {
  display: block;
  width: 100%;
}
.l-coupon__item-link img {
  display: block;
  width: 100%;
  height: auto;
}
.l-coupon__item.is-dim .l-coupon__item-link img {
  filter: grayscale(1);
}
.l-coupon__more {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 30;
}
.l-coupon__arrow {
  width: 4.1025641026vw;
  height: 1.5384615385vw;
  border: 0;
  padding: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex: 0 0 auto;
  pointer-events: auto;
  cursor: pointer;
}
@media (min-width: 768px) {
  .l-coupon__arrow {
    width: min(28px, 1.9444444444vw);
    height: min(10px, 0.6944444444vw);
  }
}
.l-coupon__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}
.l-coupon__arrow--prev {
  background-image: url("../img/layout/coupon/arrow_left.svg");
}
.l-coupon__arrow--next {
  background-image: url("../img/layout/coupon/arrow_right.svg");
}
.l-coupon__more-btn {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-coupon__more-btn:hover {
    opacity: 0.5;
  }
}
.l-coupon__more-btn {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  white-space: nowrap;
  font-size: 5.7692307692vw;
  font-weight: 400;
  line-height: 1;
  border: 0.1923076923vw solid #000000;
  padding: 2.5641025641vw 9.7435897436vw 2.8205128205vw 4.1025641026vw;
}
.l-coupon__more-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.5897435897vw;
  transform: translateY(-50%);
  width: 2.3076923077vw;
  height: 6.1538461538vw;
  background: url("../img/layout/coupon/arrow_more-sp.svg") no-repeat center/contain;
}
@media (min-width: 768px) {
  .l-coupon__more-btn {
    font-size: min(22px, 1.5277777778vw);
    border: min(1px, 0.0694444444vw) solid #000000;
    padding: min(11px, 0.7638888889vw) min(38px, 2.6388888889vw) min(11px, 0.7638888889vw) min(19px, 1.3194444444vw);
  }
  .l-coupon__more-btn::after {
    right: min(12px, 0.8333333333vw);
    width: min(12px, 0.8333333333vw);
    height: min(24px, 1.6666666667vw);
    background-image: url("../img/layout/coupon/arrow_more.svg");
  }
}

.l-information__inner {
  background: #000000;
  display: flex;
  flex-direction: column;
  gap: 6.4102564103vw;
  padding: 12.8205128205vw 2.5641025641vw;
  width: 100%;
}
@media (min-width: 768px) {
  .l-information__inner {
    gap: min(60px, 4.1666666667vw);
    padding: min(60px, 4.1666666667vw) min(50px, 3.4722222222vw) min(80px, 5.5555555556vw) min(50px, 3.4722222222vw);
    max-width: min(1180px, 81.9444444444vw);
  }
}
.l-information__title {
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media (min-width: 768px) {
  .l-information__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
  }
}
.l-information__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .l-information__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}
.l-information__box {
  box-sizing: border-box;
  min-height: 69.7435897436vw;
  height: 69.7435897436vw;
  display: flex;
  flex-direction: column;
  padding: 5.1282051282vw 3.5897435897vw;
  border: 0.1282051282vw solid #FFF;
  overflow: hidden;
  position: relative;
}
@media (min-width: 768px) {
  .l-information__box {
    min-height: min(385px, 26.7361111111vw);
    height: min(385px, 26.7361111111vw);
    padding: min(40px, 2.7777777778vw);
    border: min(0.75px, 0.0520833333vw) solid #FFF;
  }
}
.l-information__indicator {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 1.0256410256vw;
}
@media (min-width: 768px) {
  .l-information__indicator {
    width: min(6px, 0.4166666667vw);
  }
}
.l-information__indicator-thumb {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: #FFFFFF;
}
.l-information__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4.6153846154vw;
  min-height: 0;
}
@media (min-width: 768px) {
  .l-information__list {
    gap: min(20px, 1.3888888889vw);
  }
}
.l-information.is-scrollable .l-information__list {
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  scrollbar-width: none;
}
.l-information.is-scrollable .l-information__list::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-information__item + .l-information__item {
    padding-top: min(20px, 1.3888888889vw);
    border-top: min(0.5px, 0.0347222222vw) solid #FFF;
  }
}
.l-information__item-link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-information__item-link:hover {
    opacity: 0.5;
  }
}
.l-information__item-link {
  display: flex;
  align-items: flex-start;
  gap: 3.5897435897vw;
  width: 100%;
  text-decoration: none;
}
@media (min-width: 768px) {
  .l-information__item-link {
    gap: min(20px, 1.3888888889vw);
  }
}
.l-information__item .l-information__date,
.l-information__item .l-information__text {
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.0769230769vw;
  font-weight: 400;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .l-information__item .l-information__date,
  .l-information__item .l-information__text {
    font-size: min(18px, 1.25vw);
    line-height: 1.6;
  }
}

.l-treatment__inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .l-treatment__inner {
    max-width: min(1080px, 75vw);
  }
}
.l-treatment__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media (min-width: 768px) {
  .l-treatment__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
  }
}
.l-treatment__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .l-treatment__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}
.l-treatment__list {
  --columns: 2;
  display: grid;
  grid-template-columns: repeat(var(--columns), 1fr);
  gap: 2.5641025641vw;
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .l-treatment__list {
    --columns: 3;
    gap: min(22px, 1.5277777778vw) min(15px, 1.0416666667vw);
    margin-top: min(60px, 4.1666666667vw);
  }
}
.l-treatment__item {
  position: relative;
  background: #FFFFFF;
  border: 0.1282051282vw solid #000000;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
}
@media (max-width: 767.98px) {
  .l-treatment__item[data-treatment=hair] {
    background-position: left 0% bottom 0.2564102564vw;
  }
}
@media (max-width: 767.98px) {
  .l-treatment__item[data-treatment=other] {
    background-size: auto 102%;
  }
}
.l-treatment__item.is-open {
  background-color: #000000;
}
.l-treatment__item.is-open::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.5641025641vw;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 1.2820512821vw solid transparent;
  border-right: 1.2820512821vw solid transparent;
  border-top: 2.5641025641vw solid #000000;
}
@media (min-width: 768px) {
  .l-treatment__item {
    border: min(1px, 0.0694444444vw) solid #000000;
    transition: background-color 0.3s ease-out;
  }
  .l-treatment__item:not(.is-open):hover {
    background-color: #ccc;
  }
  .l-treatment__item.is-open::before {
    bottom: max(-22px, -1.5277777778vw);
    border-left: min(10px, 0.6944444444vw) solid transparent;
    border-right: min(10px, 0.6944444444vw) solid transparent;
    border-top: min(22px, 1.5277777778vw) solid #000000;
  }
}
.l-treatment__item[data-treatment=threadlift] {
  background-image: url("../img/layout/treatment/treatment_button01.png");
}
.l-treatment__item[data-treatment=body] {
  background-image: url("../img/layout/treatment/treatment_button02.png");
}
.l-treatment__item[data-treatment=face] {
  background-image: url("../img/layout/treatment/treatment_button03.png");
}
.l-treatment__item[data-treatment=skin] {
  background-image: url("../img/layout/treatment/treatment_button04.png");
}
.l-treatment__item[data-treatment=gynecology] {
  background-image: url("../img/layout/treatment/treatment_button05.png");
}
.l-treatment__item[data-treatment=hair] {
  background-image: url("../img/layout/treatment/treatment_button06.png");
}
.l-treatment__item[data-treatment=other] {
  background-image: url("../img/layout/treatment/treatment_button07.png");
}
.l-treatment__item-button {
  display: flex;
  justify-content: right;
  position: relative;
  width: 100%;
  padding: 7.4358974359vw 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
  font: inherit;
  text-align: inherit;
}
.l-treatment__item.is-open .l-treatment__item-button span {
  color: #FFFFFF;
}
.l-treatment__item.is-open .l-treatment__item-button::after {
  transform: translateY(-50%) rotate(180deg);
  background-image: url("../img/layout/treatment/arrow_close-sp.svg");
}
.l-treatment__item-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.0769230769vw;
  width: 1.5384615385vw;
  height: 3.8461538462vw;
  transform: translateY(-50%);
  transition: transform 0.25s ease;
  background-image: url("../img/layout/treatment/arrow_open-sp.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.l-treatment__item-button span {
  margin-right: 7.1794871795vw;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-treatment__item-button {
    padding: min(76px, 5.2777777778vw) 0;
  }
  .l-treatment__item-button::after {
    right: min(20px, 1.3888888889vw);
    width: min(12px, 0.8333333333vw);
    height: min(30px, 2.0833333333vw);
    background-image: url("../img/layout/treatment/arrow_open.svg");
  }
  .l-treatment__item.is-open .l-treatment__item-button::after {
    transform: translateY(-50%) rotate(180deg);
    background-image: url("../img/layout/treatment/arrow_close.svg");
  }
  .l-treatment__item-button span {
    margin-right: min(54px, 3.75vw);
    font-size: min(26px, 1.8055555556vw);
  }
}
.l-treatment__accordion {
  grid-column: 1/-1;
  padding: 2.5641025641vw;
  background-color: #000000;
}
.l-treatment__accordion.is-open {
  animation: treatmentAccordionIn 0.5s ease forwards;
}
@media (min-width: 768px) {
  .l-treatment__accordion {
    padding: min(16px, 1.1111111111vw);
  }
}
.l-treatment__accordion-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7692307692vw;
}
@media (min-width: 768px) {
  .l-treatment__accordion-list {
    gap: min(20px, 1.3888888889vw) min(12px, 0.8333333333vw);
  }
}
.l-treatment__accordion-link, .l-treatment__detail-link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-treatment__accordion-link:hover, .l-treatment__detail-link:hover {
    opacity: 0.5;
  }
}
.l-treatment__accordion-link, .l-treatment__detail-link {
  display: flex;
  align-items: center;
  position: relative;
  gap: 1.5384615385vw;
  min-height: 10.2564102564vw;
  padding: 0 1.0256410256vw 0 0;
  background-color: #FFFFFF;
  font-size: 2.5641025641vw;
  font-weight: 400;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-treatment__accordion-link span, .l-treatment__detail-link span {
    max-width: min(240px, 16.6666666667vw);
  }
}
@media (min-width: 768px) {
  .l-treatment__accordion-link, .l-treatment__detail-link {
    gap: min(20px, 1.3888888889vw);
    min-height: min(70px, 4.8611111111vw);
    padding: 0 min(56px, 3.8888888889vw) 0 0;
    font-size: min(22px, 1.5277777778vw);
    font-weight: 700;
    line-height: 1;
  }
  .l-treatment__accordion-link::after, .l-treatment__detail-link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: min(10px, 0.6944444444vw);
    width: min(30px, 2.0833333333vw);
    height: min(12px, 0.8333333333vw);
    transform: translateY(-50%);
    background: url("../img/layout/treatment/arrow_link.svg") no-repeat center/contain;
  }
}
.l-treatment__accordion-link {
  font-family: "Noto Sans JP", sans-serif;
}
.l-treatment__accordion-thumb, .l-treatment__detail-thumb {
  width: 10.2564102564vw;
  height: 10.2564102564vw;
  object-fit: cover;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .l-treatment__accordion-thumb, .l-treatment__detail-thumb {
    width: min(76px, 5.2777777778vw);
    height: min(70px, 4.8611111111vw);
  }
}
.l-treatment .is-wide {
  grid-column: 1/-1;
  background-position: 19.4871794872vw;
  background-size: 42.0512820513vw auto;
}
.l-treatment .is-wide .l-treatment__item-button::after {
  right: 6.9230769231vw;
}
.l-treatment .is-wide .l-treatment__item-button span {
  margin-right: 24.6153846154vw;
}
@media (min-width: 768px) {
  .l-treatment .is-wide {
    width: min(500px, 34.7222222222vw);
    margin-left: auto;
    margin-right: auto;
    background-position: 0;
    background-size: min(360px, 25vw) auto;
  }
  .l-treatment .is-wide .l-treatment__item-button::after {
    right: min(26px, 1.8055555556vw);
  }
  .l-treatment .is-wide .l-treatment__item-button span {
    margin-right: min(60px, 4.1666666667vw);
  }
}
.l-treatment__detail {
  margin-top: 7.6923076923vw;
}
@media (min-width: 768px) {
  .l-treatment__detail {
    margin-top: min(60px, 4.1666666667vw);
  }
}
.l-treatment__detail-tab {
  display: flex;
  gap: 1.0256410256vw;
}
@media (min-width: 768px) {
  .l-treatment__detail-tab {
    gap: min(12px, 0.8333333333vw);
  }
}
.l-treatment__detail-button {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-treatment__detail-button:hover {
    opacity: 0.5;
  }
}
.l-treatment__detail-button {
  position: relative;
  width: 100%;
  max-width: 44.358974359vw;
  padding-top: 3.0769230769vw;
  padding-bottom: 2.8205128205vw;
  border: 0.1282051282vw solid #000000;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.0769230769vw;
  font-weight: 700;
  line-height: 1;
  background-color: #FFFFFF;
  color: #000000;
}
.l-treatment__detail-button.is-active {
  background-color: #000000;
  color: #FFFFFF;
}
.l-treatment__detail-button.is-active::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.0512820513vw;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 1.2820512821vw solid transparent;
  border-right: 1.2820512821vw solid transparent;
  border-top: 2.0512820513vw solid #000000;
}
@media (min-width: 768px) {
  .l-treatment__detail-button {
    max-width: min(534px, 37.0833333333vw);
    padding-top: min(14px, 0.9722222222vw);
    padding-bottom: min(14px, 0.9722222222vw);
    border: min(1px, 0.0694444444vw) solid #000000;
    font-size: min(32px, 2.2222222222vw);
    line-height: 1.3;
    letter-spacing: min(1.6px, 0.1111111111vw);
  }
  .l-treatment__detail-button.is-active::before {
    bottom: max(-12px, -0.8333333333vw);
    border-left: min(8px, 0.5555555556vw) solid transparent;
    border-right: min(8px, 0.5555555556vw) solid transparent;
    border-top: min(12px, 0.8333333333vw) solid #000000;
  }
}
.l-treatment__detail-body {
  position: relative;
  margin-top: 2.0512820513vw;
  height: 97.4358974359vw;
  background-color: #000000;
  overflow: hidden;
}
.l-treatment__detail-body.is-animating {
  animation: treatmentDetailBodyIn 0.4s ease forwards;
}
@media (min-width: 768px) {
  .l-treatment__detail-body {
    margin-top: min(16px, 1.1111111111vw);
    height: min(670px, 46.5277777778vw);
  }
}
.l-treatment__detail-box {
  box-sizing: border-box;
  position: relative;
  height: 100%;
  padding: 4.1025641026vw 2.5641025641vw;
  overflow: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-treatment__detail-box::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-treatment__detail-box {
    padding: min(28px, 1.9444444444vw) min(20px, 1.3888888889vw) min(24px, 1.6666666667vw);
  }
}
.l-treatment__indicator {
  position: absolute;
  right: 0;
  top: 4.1025641026vw;
  bottom: 4.1025641026vw;
  width: 0.5128205128vw;
}
@media (min-width: 768px) {
  .l-treatment__indicator {
    right: min(10px, 0.6944444444vw);
    top: min(28px, 1.9444444444vw);
    bottom: min(24px, 1.6666666667vw);
    width: min(4px, 0.2777777778vw);
  }
}
.l-treatment__indicator-thumb {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 15.3846153846vw;
  background: #FFFFFF;
}
@media (min-width: 768px) {
  .l-treatment__indicator-thumb {
    height: min(80px, 5.5555555556vw);
  }
}
.l-treatment__detail-body.is-scrollable .l-treatment__detail-box {
  overflow-y: auto;
}
.l-treatment__detail-group + .l-treatment__detail-group {
  margin-top: 6.6666666667vw;
}
@media (min-width: 768px) {
  .l-treatment__detail-group + .l-treatment__detail-group {
    margin-top: min(42px, 2.9166666667vw);
  }
}
.l-treatment__detail-title {
  display: flex;
  align-items: center;
  position: relative;
  gap: 0.7692307692vw;
  padding-left: 5.641025641vw;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.6153846154vw;
  font-weight: 700;
  line-height: 1;
}
.l-treatment__detail-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4.8717948718vw;
  height: 0.2564102564vw;
  transform: translateY(-50%);
  background-color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-treatment__detail-title {
    gap: min(17px, 1.1805555556vw);
    padding-left: min(40px, 2.7777777778vw);
    font-size: min(32px, 2.2222222222vw);
  }
  .l-treatment__detail-title::before {
    width: min(28px, 1.9444444444vw);
    height: min(2px, 0.1388888889vw);
  }
}
.l-treatment__detail-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 4.1025641026vw;
  height: 4.1025641026vw;
  padding: 0;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  background-color: #FFFFFF;
  color: #000000;
  font-size: 3.0769230769vw;
  font-weight: 500;
  line-height: 1;
}
@media (min-width: 768px) {
  .l-treatment__detail-count {
    width: min(30px, 2.0833333333vw);
    height: min(30px, 2.0833333333vw);
    font-size: min(18px, 1.25vw);
  }
}
.l-treatment__detail-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.0256410256vw;
  margin-top: 3.0769230769vw;
}
@media (min-width: 768px) {
  .l-treatment__detail-list {
    gap: min(12px, 0.8333333333vw) min(8px, 0.5555555556vw);
    margin-top: min(18px, 1.25vw);
  }
}

@keyframes treatmentAccordionIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .l-treatment__item, .l-treatment__accordion-link, .l-treatment__detail-button, .l-treatment__detail-link {
    transition: none;
  }
  .l-treatment__item-button::after {
    transition: none;
  }
  .l-treatment__accordion.is-open, .l-treatment__detail-body.is-animating {
    animation: none;
  }
}
@keyframes treatmentDetailBodyIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.l-clinic {
  --clinic-slider-gap: 2.5641025641vw;
}
.l-clinic__inner {
  background: #000000;
  padding: 11.2820512821vw 2.5641025641vw 5.1282051282vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-clinic__inner {
    height: auto;
    display: block;
    padding: min(60px, 4.1666666667vw) min(50px, 3.4722222222vw) min(80px, 5.5555555556vw) min(50px, 3.4722222222vw);
    max-width: min(1180px, 81.9444444444vw);
    overflow: visible;
  }
}
.l-clinic__title {
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media (min-width: 768px) {
  .l-clinic__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
  }
}
.l-clinic__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .l-clinic__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}
.l-clinic__tab {
  display: block;
  overflow: visible;
  margin-top: 9.2307692308vw;
}
@media (min-width: 768px) {
  .l-clinic__tab {
    display: none;
  }
}
.l-clinic__tab-list {
  display: flex;
  border: 0.2564102564vw solid #FFFFFF;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-clinic__tab-item {
  position: relative;
  flex: 1;
  cursor: pointer;
  background: #000000;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.0256410256vw;
  min-height: 6.1538461538vw;
  border-right: 0.2564102564vw solid #FFFFFF;
  white-space: nowrap;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
  padding: 0.2564102564vw 1.7948717949vw;
}
.l-clinic__tab-item:last-child {
  border-right: 0;
}
.l-clinic__tab-item.is-active {
  background: #FFFFFF;
  color: #000000;
}
.l-clinic__tab-item.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1.5384615385vw;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 1.5384615385vw solid transparent;
  border-right: 1.5384615385vw solid transparent;
  border-top: 2.0512820513vw solid #FFFFFF;
}
.l-clinic__tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 4.1025641026vw;
  height: 4.1025641026vw;
  padding: 0;
  background: #FFFFFF;
  color: #000000;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 3.0769230769vw;
  font-weight: 500;
  line-height: 1;
}
@media (min-width: 768px) {
  .l-clinic__tab-count {
    width: min(30px, 2.0833333333vw);
    height: min(30px, 2.0833333333vw);
    font-size: min(24px, 1.6666666667vw);
  }
}
.l-clinic__tab-item.is-active .l-clinic__tab-count {
  background: #000000;
  color: #FFFFFF;
}
.l-clinic__viewport {
  position: relative;
  margin-top: 2.0512820513vw;
  display: flex;
  flex-direction: column;
  min-height: 46.6666666667vw;
}
@media (min-width: 768px) {
  .l-clinic__viewport {
    display: block;
    margin-top: 0;
  }
}
.l-clinic__track {
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-clinic__track {
    overflow: visible;
  }
}
.l-clinic__list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 35.3846153846vw;
  gap: 2.5641025641vw;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-clinic__list::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-clinic__list {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(3, 1fr);
    gap: min(20px, 1.3888888889vw) min(15px, 1.0416666667vw);
    margin-top: min(60px, 4.1666666667vw);
    overflow: visible;
  }
}
.l-clinic__viewport.splide .l-clinic__list {
  display: flex;
  gap: 0;
  overflow: visible;
}
.l-clinic__viewport.splide {
  overflow: hidden;
}
.l-clinic__item {
  min-width: 0;
}
.l-clinic__item[hidden] {
  display: none;
}
@media (min-width: 768px) {
  .l-clinic__item {
    display: block !important;
  }
}
.l-clinic__viewport.splide .l-clinic__item {
  display: block !important;
  width: 35.3846153846vw;
  flex: 0 0 35.3846153846vw;
}
.l-clinic__nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  z-index: 30;
}
@media (min-width: 768px) {
  .l-clinic__nav {
    display: none !important;
  }
}
.l-clinic__indicator {
  width: 38.4615384615vw;
  height: 0.5128205128vw;
  background: rgba(255, 255, 255, 0.3);
  overflow: hidden;
  position: relative;
}
.l-clinic__indicator-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 6.6666666667vw;
  background: #FFFFFF;
  will-change: width;
  transition: width 0.6s ease-out;
}
.l-clinic__card {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-clinic__card:hover {
    opacity: 0.5;
  }
}
.l-clinic__card {
  display: block;
  text-decoration: none;
  color: #000000;
  background-color: #FFFFFF;
  border: 0.5128205128vw solid #FFFFFF;
}
@media (min-width: 768px) {
  .l-clinic__card {
    border: min(6px, 0.4166666667vw) solid #FFFFFF;
  }
}
.l-clinic__card-img {
  position: relative;
  overflow: hidden;
}
.l-clinic__card-img img {
  width: 100%;
  display: block;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.l-clinic__area-label {
  display: none;
}
@media (min-width: 768px) {
  .l-clinic__area-label {
    display: block;
    position: absolute;
    top: max(-6px, -0.4166666667vw);
    left: max(-6px, -0.4166666667vw);
    background: #FFFFFF;
    color: #000000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: min(24px, 1.6666666667vw);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: min(2.4px, 0.1666666667vw);
    padding: min(4px, 0.2777777778vw) min(8px, 0.5555555556vw);
  }
}
.l-clinic__card-name {
  color: #000000;
  display: block;
  text-align: center;
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 1.6;
  padding: 0.5128205128vw 0 0;
}
@media (min-width: 768px) {
  .l-clinic__card-name {
    font-size: min(28px, 1.9444444444vw);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: min(1.4px, 0.0972222222vw);
    padding: min(13px, 0.9027777778vw) 0 min(7px, 0.4861111111vw);
  }
}

.l-doctor__inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .l-doctor__inner {
    max-width: min(1080px, 75vw);
  }
}
.l-doctor__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media (min-width: 768px) {
  .l-doctor__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
  }
}
.l-doctor__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .l-doctor__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}
.l-doctor__main {
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .l-doctor__main {
    margin-top: min(75px, 5.2083333333vw);
  }
}
.l-doctor__main + .l-doctor__main {
  margin-top: 12.3076923077vw;
}
@media (min-width: 768px) {
  .l-doctor__main + .l-doctor__main {
    margin-top: min(65px, 4.5138888889vw);
  }
}
.l-doctor__body {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .l-doctor__body {
    flex-direction: row;
    gap: min(60px, 4.1666666667vw);
  }
}
.l-doctor__visual {
  position: relative;
}
.l-doctor__name-en {
  position: absolute;
  top: -1.5384615385vw;
  right: 0;
  z-index: 2;
  color: #000000;
  text-align: right;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 6.1538461538vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.6153846154vw;
}
@media (min-width: 768px) {
  .l-doctor__name-en {
    top: min(474px, 32.9166666667vw);
    left: 0;
    right: auto;
    font-size: min(70px, 4.8611111111vw);
    font-weight: 400;
    line-height: 1;
    letter-spacing: min(7px, 0.4861111111vw);
  }
}
.l-doctor__img {
  position: relative;
  z-index: 1;
  padding: 7.6923076923vw 10.2564102564vw;
}
@media (min-width: 768px) {
  .l-doctor__img {
    padding: 0;
    margin-left: min(40px, 2.7777777778vw);
    width: min(500px, 34.7222222222vw);
  }
}
.l-doctor__profile {
  position: relative;
  z-index: 2;
  background-color: #000000;
  display: flex;
  flex-direction: column;
  gap: 1.5384615385vw;
  width: fit-content;
  padding: 2.5641025641vw;
  margin-top: -17.4358974359vw;
}
@media (min-width: 768px) {
  .l-doctor__profile {
    position: absolute;
    top: min(32px, 2.2222222222vw);
    right: max(-320px, -22.2222222222vw);
    gap: min(14px, 0.9722222222vw);
    padding: min(20px, 1.3888888889vw) min(30px, 2.0833333333vw);
    margin-top: 0;
  }
}
.l-doctor__profile-post {
  width: 100%;
  display: block;
  text-align: center;
  font-weight: 700;
  line-height: 1.6;
  font-weight: 3.5897435897vw;
  background-color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-doctor__profile-post {
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-doctor__profile-text {
  display: flex;
  align-items: baseline;
  gap: 2.5641025641vw;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
  line-height: 1;
}
@media (min-width: 768px) {
  .l-doctor__profile-text {
    gap: min(16px, 1.1111111111vw);
    font-size: min(36px, 2.5vw);
    font-weight: 700;
    line-height: 1;
  }
}
.l-doctor__profile-position {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .l-doctor__profile-position {
    font-size: min(26px, 1.8055555556vw);
    font-weight: 700;
    line-height: 1.4;
  }
}
.l-doctor__field {
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5641025641vw;
  font-weight: 400;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-doctor__field {
    font-size: min(17px, 1.1805555556vw);
    line-height: 1;
  }
}
.l-doctor__content {
  margin-top: 2.5641025641vw;
  padding-left: 5.1282051282vw;
  padding-right: 5.1282051282vw;
}
@media (min-width: 768px) {
  .l-doctor__content {
    margin-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 768px) {
  .l-doctor__message {
    margin-top: min(180px, 12.5vw);
  }
  .l-doctor__body:has(.l-doctor__profile-post) .l-doctor__message {
    margin-top: min(220px, 15.2777777778vw);
  }
}
.l-doctor__text {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5641025641vw;
  font-weight: 400;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-doctor__text {
    font-size: min(18px, 1.25vw);
  }
}
.l-doctor__career {
  margin-top: 2.5641025641vw;
  padding-top: 2.5641025641vw;
  border-top: 0.1282051282vw solid #000000;
}
@media (min-width: 768px) {
  .l-doctor__career {
    margin-top: min(28px, 1.9444444444vw);
    padding-top: min(28px, 1.9444444444vw);
    border-top-width: min(1px, 0.0694444444vw);
  }
}
.l-doctor__heading {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5641025641vw;
  font-weight: 600;
  line-height: 1;
}
@media (min-width: 768px) {
  .l-doctor__heading {
    font-size: min(20px, 1.3888888889vw);
    font-weight: 700;
    line-height: 1.6;
  }
}
.l-doctor__career-list {
  margin-top: 1.2820512821vw;
  display: flex;
  flex-direction: column;
  gap: 1.2820512821vw;
}
@media (min-width: 768px) {
  .l-doctor__career-list {
    margin-top: min(16px, 1.1111111111vw);
    gap: min(16px, 1.1111111111vw);
  }
}
.l-doctor__career-row {
  display: flex;
  gap: 2.5641025641vw;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5641025641vw;
  font-weight: 400;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-doctor__career-row {
    gap: min(20px, 1.3888888889vw);
    font-size: min(18px, 1.25vw);
  }
}
.l-doctor__more {
  display: flex;
  justify-content: end;
}
@media (min-width: 768px) {
  .l-doctor__more {
    margin-top: min(28px, 1.9444444444vw);
  }
}
.l-doctor__more-btn {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-doctor__more-btn:hover {
    opacity: 0.5;
  }
}
.l-doctor__more-btn {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: 3.8461538462vw;
  font-weight: 500;
  line-height: 1;
  padding-right: 6.1538461538vw;
}
.l-doctor__more-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.1025641026vw;
  height: 1.5384615385vw;
  background: url("../img/layout/doctor/arrow_link-sp.svg") no-repeat center/contain;
}
@media (min-width: 768px) {
  .l-doctor__more-btn {
    font-size: min(22px, 1.5277777778vw);
    font-weight: 400;
    padding-right: min(50px, 3.4722222222vw);
  }
  .l-doctor__more-btn::after {
    width: min(30px, 2.0833333333vw);
    height: min(12px, 0.8333333333vw);
    background-image: url("../img/layout/doctor/arrow_link.svg");
  }
}

.l-example__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-example__inner {
    max-width: min(1180px, 81.9444444444vw);
    margin: 0 auto;
    overflow: visible;
  }
}
.l-example__title {
  color: #000000;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media (min-width: 768px) {
  .l-example__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
  }
}
.l-example__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .l-example__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}
.l-example__tab {
  display: block;
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .l-example__tab {
    margin-top: min(60px, 4.1666666667vw);
  }
}
.l-example__tab-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.0256410256vw;
  width: 100%;
}
@media (min-width: 768px) {
  .l-example__tab-list {
    gap: min(10px, 0.6944444444vw) min(12px, 0.8333333333vw);
  }
}
.l-example__tab-item {
  flex: 0 0 29.2307692308vw;
  min-height: 8.9743589744vw;
}
@media (min-width: 768px) {
  .l-example__tab-item {
    flex: 0 0 min(385px, 26.7361111111vw);
    min-height: min(70px, 4.8611111111vw);
  }
}
.l-example__tab-button {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-example__tab-button:hover {
    opacity: 0.5;
  }
}
.l-example__tab-button {
  width: 100%;
  min-height: inherit;
  background: #FFFFFF;
  color: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0.1282051282vw solid #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.1076923077vw;
  text-align: center;
  cursor: pointer;
}
.l-example__tab-button.is-active {
  background: #000000;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-example__tab-button {
    border: min(0.5px, 0.0347222222vw) solid #000000;
    font-size: min(32px, 2.2222222222vw);
  }
}
.l-example__viewport {
  background: #000000;
  margin-top: 1.5384615385vw;
  display: flex;
  flex-direction: column;
  padding: 5.1282051282vw 2.5641025641vw 10.2564102564vw;
  width: 100%;
}
@media (min-width: 768px) {
  .l-example__viewport {
    display: block;
    margin-top: min(16px, 1.1111111111vw);
    padding: min(60px, 4.1666666667vw) min(260px, 18.0555555556vw);
  }
}
.l-example__list {
  display: flex;
  flex-direction: column;
  gap: 10.2564102564vw;
  list-style: none;
  width: 100%;
}
.l-example__list.is-animating {
  animation: exampleListIn 0.4s ease forwards;
}
@media (min-width: 768px) {
  .l-example__list {
    gap: min(60px, 4.1666666667vw);
  }
}
.l-example__item {
  color: #FFFFFF;
  width: 100%;
  opacity: 1;
  transform: translateY(0);
}
.l-example__item.is-enter {
  opacity: 0;
  transform: translateY(3.0769230769vw);
}
@media (min-width: 768px) {
  .l-example__item.is-enter {
    transform: translateY(min(12px, 0.8333333333vw));
  }
}
.l-example__item.is-enter.is-enter-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.l-example__item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media (min-width: 768px) {
  .l-example__item-title {
    font-size: min(32px, 2.2222222222vw);
    line-height: 1;
  }
}
.l-example__img {
  display: flex;
  gap: 7.6923076923vw;
  position: relative;
  margin-top: 5.1282051282vw;
}
.l-example__img::after {
  content: "";
  position: absolute;
  top: calc(50% - 4.6153846154vw);
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-top: 1.5384615385vw solid transparent;
  border-bottom: 1.5384615385vw solid transparent;
  border-left: 2.0512820513vw solid #FFFFFF;
  z-index: 2;
  pointer-events: none;
}
@media (min-width: 768px) {
  .l-example__img {
    gap: min(60px, 4.1666666667vw);
    margin-top: min(54px, 3.75vw);
  }
  .l-example__img::after {
    top: calc(50% - min(30px, 2.0833333333vw));
    border-top-width: min(10px, 0.6944444444vw);
    border-bottom-width: min(10px, 0.6944444444vw);
    border-left-width: min(16px, 1.1111111111vw);
  }
}
.l-example__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.l-example__img-before, .l-example__img-after {
  width: 50%;
}
.l-example__img-media {
  aspect-ratio: 1/1;
  overflow: hidden;
}
.l-example__img-media img {
  width: 100%;
  height: 100%;
}
.l-example__img-label {
  display: block;
  margin-top: 3.0769230769vw;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5641025641vw;
  font-weight: 700;
  line-height: 1.6;
  color: #FFFFFF;
  text-align: center;
}
@media (min-width: 768px) {
  .l-example__img-label {
    margin-top: min(20px, 1.3888888889vw);
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-example__text {
  margin-top: 2.5641025641vw;
  padding-top: 2.5641025641vw;
  display: flex;
  flex-direction: column;
  gap: 2.0512820513vw;
  border-top: 0.1282051282vw solid #FFFFFF;
}
@media (min-width: 768px) {
  .l-example__text {
    margin-top: min(24px, 1.6666666667vw);
    padding-top: min(16px, 1.1111111111vw);
    gap: min(16px, 1.1111111111vw);
  }
}
.l-example__doctor {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5641025641vw;
  font-weight: 700;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-example__doctor {
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-example__doctor-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5641025641vw;
  font-weight: 400;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-example__doctor-text {
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-example__more {
  margin-top: 8.4615384615vw;
  display: flex;
  justify-content: center;
}
.l-example__more[hidden] {
  display: none;
}
@media (min-width: 768px) {
  .l-example__more {
    margin-top: min(40px, 2.7777777778vw);
  }
}
.l-example__more-btn {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-example__more-btn:hover {
    opacity: 0.5;
  }
}
.l-example__more-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 1.5384615385vw 6.4102564103vw 1.7948717949vw 2.5641025641vw;
  border: 0.1282051282vw solid #FFFFFF;
  background: transparent;
  color: #FFFFFF;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 3.8461538462vw;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
}
.l-example__more-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.5641025641vw;
  transform: translateY(-50%);
  width: 1.5384615385vw;
  height: 4.1025641026vw;
  background: url("../img/layout/example/arrow_more-sp.svg") no-repeat center/contain;
}
@media (min-width: 768px) {
  .l-example__more-btn {
    padding: min(10px, 0.6944444444vw) min(40px, 2.7777777778vw) min(10px, 0.6944444444vw) min(18px, 1.25vw);
    border: min(1px, 0.0694444444vw) solid #FFFFFF;
    font-size: min(22px, 1.5277777778vw);
  }
  .l-example__more-btn::after {
    right: min(14px, 0.9722222222vw);
    width: min(12px, 0.8333333333vw);
    height: min(24px, 1.6666666667vw);
    background-image: url("../img/layout/example/arrow_more.svg");
  }
}

@keyframes exampleListIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.l-calendar {
  width: 100%;
  margin-top: 5.1282051282vw;
}
@media (min-width: 768px) {
  .l-calendar {
    margin-top: min(30px, 2.0833333333vw);
  }
}
.l-calendar__inner {
  display: grid;
  gap: 3.0769230769vw;
}
@media (min-width: 768px) {
  .l-calendar__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: min(80px, 5.5555555556vw);
  }
}
.l-calendar__tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.0256410256vw;
}
@media (min-width: 768px) {
  .l-calendar__tabs {
    display: none;
  }
}
.l-calendar__tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 10.7692307692vw;
  padding: 1.0256410256vw 3.0769230769vw;
  background: #FFFFFF;
  border: 0.1282051282vw solid #989898;
  color: #989898;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.l-calendar__tab .l-calendar__heading {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 1.2820512821vw;
  margin-bottom: 0;
}
.l-calendar__tab .l-calendar__heading-num,
.l-calendar__tab .l-calendar__heading-label {
  color: inherit;
}
.l-calendar__tab.is-active {
  background: #000000;
  border: 0;
  color: #FFFFFF;
}
.l-calendar__tab.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.0512820513vw;
  width: 0;
  height: 0;
  border-left: 1.5384615385vw solid transparent;
  border-right: 1.5384615385vw solid transparent;
  border-top: 2.5641025641vw solid #000000;
  transform: translateX(-50%);
}
.l-calendar__heading {
  display: flex;
  align-items: flex-end;
  gap: 1.2820512821vw;
  margin-bottom: 0.5128205128vw;
}
@media (max-width: 767px) {
  .l-calendar__heading {
    display: none;
  }
}
@media (min-width: 768px) {
  .l-calendar__heading {
    gap: min(8px, 0.5555555556vw);
    margin-bottom: min(4px, 0.2777777778vw);
  }
}
.l-calendar__heading-num {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.2051282051vw;
  font-weight: 500;
  line-height: 1;
}
@media (min-width: 768px) {
  .l-calendar__heading-num {
    font-size: min(55px, 3.8194444444vw);
  }
}
.l-calendar__heading-label {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 0.5128205128vw;
}
@media (min-width: 768px) {
  .l-calendar__heading-label {
    font-size: min(21px, 1.4583333333vw);
    margin-bottom: min(6px, 0.4166666667vw);
  }
}
.l-calendar__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 0.5128205128vw solid #000000;
}
@media (min-width: 768px) {
  .l-calendar__table {
    border: min(2px, 0.1388888889vw) solid #000000;
  }
}
.l-calendar__head, .l-calendar__day {
  border: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-calendar__head, .l-calendar__day {
    border-width: min(1.5px, 0.1041666667vw);
  }
}
.l-calendar__head {
  height: 6.1538461538vw;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 3.0769230769vw;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .l-calendar__head {
    height: min(38px, 2.6388888889vw);
    font-size: min(19px, 1.3194444444vw);
  }
}
.l-calendar__day {
  height: 12.3076923077vw;
  vertical-align: top;
}
@media (min-width: 768px) {
  .l-calendar__day {
    height: min(75px, 5.2083333333vw);
  }
}
.l-calendar__cell {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.0256410256vw;
  padding-top: 2.0512820513vw;
}
@media (min-width: 768px) {
  .l-calendar__cell {
    gap: min(4px, 0.2777777778vw);
    padding-top: min(14px, 0.9722222222vw);
  }
}
.l-calendar__cell.is-empty {
  padding-top: 0;
}
.l-calendar__date {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 3.0769230769vw;
  font-weight: 300;
  line-height: 1.4;
  color: #000000;
}
.l-calendar__date.is-muted {
  color: #989898;
}
@media (min-width: 768px) {
  .l-calendar__date {
    font-size: min(18px, 1.25vw);
    font-weight: 400;
    line-height: 1.6;
  }
}
.l-calendar__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.l-calendar__status--open {
  width: 2.5641025641vw;
  height: 2.5641025641vw;
  border-radius: 50%;
  background: #000000;
}
@media (min-width: 768px) {
  .l-calendar__status--open {
    width: min(14px, 0.9722222222vw);
    height: min(14px, 0.9722222222vw);
  }
}
.l-calendar__status--close {
  position: relative;
  width: 2.5641025641vw;
  height: 2.5641025641vw;
}
.l-calendar__status--close::before, .l-calendar__status--close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.0769230769vw;
  height: 0.2564102564vw;
  background: #000000;
  transform-origin: center;
}
.l-calendar__status--close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.l-calendar__status--close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (min-width: 768px) {
  .l-calendar__status--close {
    width: min(14px, 0.9722222222vw);
    height: min(14px, 0.9722222222vw);
  }
  .l-calendar__status--close::before, .l-calendar__status--close::after {
    width: min(16px, 1.1111111111vw);
    height: min(1.5px, 0.1041666667vw);
  }
}

.l-access__inner {
  display: flex;
  flex-direction: column;
  margin-top: 8.2051282051vw;
}
@media (min-width: 768px) {
  .l-access__inner {
    margin-top: min(48px, 3.3333333333vw);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: min(80px, 5.5555555556vw);
  }
}
.l-access__map {
  position: relative;
  width: 100%;
  aspect-ratio: 330/245;
  overflow: hidden;
  filter: grayscale(1);
}
@media (min-width: 768px) {
  .l-access__map {
    grid-column: 2/3;
    grid-row: 1/3;
    align-self: start;
    aspect-ratio: 500/400;
  }
}
.l-access__map-frame {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.l-access__map-link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-access__map-link:hover {
    opacity: 0.5;
  }
}
.l-access__map-link {
  position: absolute;
  top: 2.0512820513vw;
  left: 2.0512820513vw;
  display: inline-flex;
  align-items: center;
  gap: 1.2820512821vw;
  min-height: 7.6923076923vw;
  padding: 0 2.5641025641vw;
  background: #FFFFFF;
  border: 0.2564102564vw solid rgba(0, 0, 0, 0.16);
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.0769230769vw;
  font-weight: 400;
  line-height: 1;
}
.l-access__map-link::after {
  content: "";
  width: 2.3076923077vw;
  height: 2.3076923077vw;
  border-top: 0.3846153846vw solid #000000;
  border-right: 0.3846153846vw solid #000000;
  transform: rotate(45deg);
}
@media (min-width: 768px) {
  .l-access__map-link {
    top: min(12px, 0.8333333333vw);
    left: min(12px, 0.8333333333vw);
    gap: min(6px, 0.4166666667vw);
    min-height: min(34px, 2.3611111111vw);
    padding: 0 min(12px, 0.8333333333vw);
    border-width: min(1px, 0.0694444444vw);
    font-size: min(14px, 0.9722222222vw);
  }
  .l-access__map-link::after {
    width: min(10px, 0.6944444444vw);
    height: min(10px, 0.6944444444vw);
    border-top-width: min(1.5px, 0.1041666667vw);
    border-right-width: min(1.5px, 0.1041666667vw);
  }
}
@media (min-width: 768px) {
  .l-access__panel {
    grid-column: 1/2;
    grid-row: 1/2;
    border-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
.l-access__group {
  padding: 4.1025641026vw 0;
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-access__group {
    padding: min(34px, 2.3611111111vw) 0;
    border-bottom: min(1px, 0.0694444444vw) solid #000000;
  }
  .l-access__group:first-child {
    padding-top: 0;
  }
}
.l-access__postal, .l-access__address, .l-access__building, .l-access__note, .l-access__meta-label, .l-access__meta-value {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
}
.l-access__postal, .l-access__address, .l-access__building {
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .l-access__postal, .l-access__address, .l-access__building {
    font-size: min(16px, 1.1111111111vw);
    line-height: 1.4;
  }
}
.l-access__note {
  margin-top: 2.0512820513vw;
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .l-access__note {
    margin-top: min(12px, 0.8333333333vw);
    font-size: min(16px, 1.1111111111vw);
    line-height: 1.4;
  }
}
.l-access__meta + .l-access__meta {
  margin-top: 4.6153846154vw;
}
@media (min-width: 768px) {
  .l-access__meta + .l-access__meta {
    margin-top: min(26px, 1.8055555556vw);
  }
}
.l-access__meta-label {
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .l-access__meta-label {
    font-size: min(16px, 1.1111111111vw);
    line-height: 1.4;
  }
}
.l-access__meta-value {
  margin-top: 0.5128205128vw;
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .l-access__meta-value {
    margin-top: min(6px, 0.4166666667vw);
    font-size: min(16px, 1.1111111111vw);
    line-height: 1.4;
  }
}
.l-access__sns {
  margin-top: 5.1282051282vw;
  display: flex;
  gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .l-access__sns {
    grid-column: 1/2;
    grid-row: 2/3;
    margin-top: min(30px, 2.0833333333vw);
    gap: min(30px, 2.0833333333vw);
  }
}
.l-access__sns-img {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-access__sns-img:hover {
    opacity: 0.5;
  }
}
.l-access__sns-img {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 9.2307692308vw;
  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .l-access__sns-img {
    width: min(60px, 4.1666666667vw);
  }
}
.l-access__sns-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.l-step {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .l-step {
    max-width: min(1080px, 75vw);
  }
}
.l-step__inner {
  width: 100%;
}
.l-step__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 5.641025641vw;
}
@media (min-width: 768px) {
  .l-step__list {
    gap: min(35px, 2.4305555556vw);
  }
}
.l-step__item {
  position: relative;
  border: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-step__item {
    display: grid;
    grid-template-columns: min(140px, 9.7222222222vw) minmax(0, 1fr);
    border: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-step__item:nth-child(even) .l-step__head {
  background: #FFFFFF;
  color: #000000;
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-step__item:nth-child(even) .l-step__head {
    border-bottom: none;
    border-right: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-step__item + .l-step__item::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1.2820512821vw;
  z-index: 1;
  width: 0;
  height: 0;
  border-left: 1.7948717949vw solid transparent;
  border-right: 1.7948717949vw solid transparent;
  border-top: 3.0769230769vw solid #000000;
  transform: translate(-50%, -100%);
}
@media (min-width: 768px) {
  .l-step__item + .l-step__item::before {
    top: max(-8px, -0.5555555556vw);
    border-left-width: min(16px, 1.1111111111vw);
    border-right-width: min(16px, 1.1111111111vw);
    border-top-width: min(20px, 1.3888888889vw);
  }
}
.l-step__head {
  background: #000000;
  color: #FFFFFF;
  padding: 2.3076923077vw 0;
  text-align: center;
}
@media (min-width: 768px) {
  .l-step__head {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: min(20px, 1.3888888889vw) 0;
  }
}
.l-step__num {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 4.1025641026vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.4102564103vw;
}
@media (min-width: 768px) {
  .l-step__num {
    font-size: min(20px, 1.3888888889vw);
    letter-spacing: min(2px, 0.1388888889vw);
  }
}
.l-step__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28.2051282051vw;
  min-height: 26.9230769231vw;
  background: #FFFFFF;
}
@media (min-width: 768px) {
  .l-step__body {
    grid-template-columns: minmax(0, 1fr) min(180px, 12.5vw);
    min-height: min(130px, 9.0277777778vw);
  }
}
.l-step__content {
  padding: 2.5641025641vw;
}
@media (min-width: 768px) {
  .l-step__content {
    padding: min(20px, 1.3888888889vw);
  }
}
.l-step__title {
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-step__title {
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-step__text {
  margin-top: 2.5641025641vw;
  font-size: 3.0769230769vw;
  font-weight: 400;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-step__text {
    margin-top: min(10px, 0.6944444444vw);
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-step__img {
  margin-top: auto;
  margin-bottom: auto;
  height: 26.9230769231vw;
}
@media (min-width: 768px) {
  .l-step__img {
    height: min(130px, 9.0277777778vw);
  }
}
.l-step__img picture,
.l-step__img img {
  display: block;
  width: 100%;
  height: 100%;
}
.l-step__img img {
  object-fit: cover;
}

.l-sns__inner {
  display: flex;
  gap: 4.1025641026vw;
}
@media (min-width: 768px) {
  .l-sns__inner {
    gap: min(20px, 1.3888888889vw);
  }
}
.l-sns__link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-sns__link:hover {
    opacity: 0.5;
  }
}
.l-sns__link {
  display: block;
  width: 9.2307692308vw;
}
@media (min-width: 768px) {
  .l-sns__link {
    width: min(60px, 4.1666666667vw);
  }
}
.l-sns__icon {
  display: block;
  width: 100%;
  height: auto;
}

.l-sns-float {
  position: fixed;
  right: 0;
  bottom: 5%;
  z-index: 30;
}
@media (min-width: 768px) {
  .l-sns-float {
    bottom: min(60px, 4.1666666667vw);
  }
}
.l-sns-float__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  width: 12.8205128205vw;
  border-radius: 2.0512820513vw 0 0 2.0512820513vw;
  border-top: 0.2564102564vw solid #FFFFFF;
  border-bottom: 0.2564102564vw solid #FFFFFF;
  border-left: 0.2564102564vw solid #FFFFFF;
  background: #000000;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-sns-float__inner {
    width: auto;
    min-width: min(60px, 4.1666666667vw);
    flex-direction: row-reverse;
    padding-top: min(10px, 0.6944444444vw);
    padding-bottom: min(10px, 0.6944444444vw);
    border-radius: min(10px, 0.6944444444vw) 0 0 min(10px, 0.6944444444vw);
    border-top: min(1px, 0.0694444444vw) solid #FFFFFF;
    border-bottom: min(1px, 0.0694444444vw) solid #FFFFFF;
    border-left: min(1px, 0.0694444444vw) solid #FFFFFF;
  }
}
.l-sns-float__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.0512820513vw;
  box-sizing: border-box;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
  transform: translateY(1.5384615385vw);
  transition: opacity 0.3s ease, visibility 0.3s ease, max-height 0.3s ease, transform 0.3s ease;
}
@media (min-width: 768px) {
  .l-sns-float__list {
    flex-direction: row;
    gap: min(16px, 1.1111111111vw);
    max-height: none;
    max-width: 0;
    transform: translateX(min(8px, 0.5555555556vw));
    transition: opacity 0.3s ease, visibility 0.3s ease, max-width 0.3s ease, transform 0.3s ease;
  }
}
.l-sns-float.is-open .l-sns-float__list {
  padding-top: 2.5641025641vw;
  opacity: 1;
  visibility: visible;
  max-height: 46.1538461538vw;
  transform: translateY(0);
}
@media (min-width: 768px) {
  .l-sns-float.is-open .l-sns-float__list {
    padding-top: 0;
    padding-left: min(4px, 0.2777777778vw);
    padding-right: min(10px, 0.6944444444vw);
    max-height: none;
    max-width: min(234px, 16.25vw);
    transform: translateX(0);
  }
}
.l-sns-float__item {
  width: 10.2564102564vw;
}
@media (min-width: 768px) {
  .l-sns-float__item {
    width: min(60px, 4.1666666667vw);
  }
}
.l-sns-float__sns-link {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .l-sns-float__sns-link:hover {
    opacity: 0.5;
  }
}
.l-sns-float__sns-link {
  display: block;
  width: 100%;
}
.l-sns-float__sns-icon {
  display: block;
  width: 100%;
  height: auto;
}
.l-sns-float__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 13.8461538462vw;
  background: transparent;
  cursor: pointer;
}
@media (min-width: 768px) {
  .l-sns-float__toggle {
    width: min(60px, 4.1666666667vw);
    height: min(62px, 4.3055555556vw);
    flex-shrink: 0;
  }
}
.l-sns-float__label {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #FFFFFF;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .l-sns-float__label {
    font-size: min(22px, 1.5277777778vw);
    font-weight: 700;
  }
}

.l-faq {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .l-faq {
    max-width: min(1080px, 75vw);
  }
}
@media (min-width: 768px) {
  .l-faq__inner {
    padding: min(20px, 1.3888888889vw);
  }
}
.l-faq__list {
  display: flex;
  flex-direction: column;
  gap: 2.5641025641vw;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .l-faq__list {
    gap: min(16px, 1.1111111111vw);
  }
}
.l-faq__item {
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-faq__item {
    border-bottom: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-faq__question {
  display: grid;
  grid-template-columns: 6.1538461538vw minmax(0, 1fr) 6.1538461538vw;
  align-items: center;
  gap: 3.0769230769vw;
  width: 100%;
  padding: 2.5641025641vw 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
@media (min-width: 768px) {
  .l-faq__question {
    grid-template-columns: min(28px, 1.9444444444vw) minmax(0, 1fr) min(28px, 1.9444444444vw);
    gap: min(16px, 1.1111111111vw);
    padding: min(20px, 1.3888888889vw) 0;
  }
}
.l-faq__question-mark, .l-faq__answer-mark {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 6.1538461538vw;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media (min-width: 768px) {
  .l-faq__question-mark, .l-faq__answer-mark {
    font-size: min(32px, 2.2222222222vw);
  }
}
.l-faq__question-text {
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-faq__question-text {
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-faq__question-icon {
  position: relative;
  width: 5.1282051282vw;
  height: 5.1282051282vw;
}
@media (min-width: 768px) {
  .l-faq__question-icon {
    width: min(20px, 1.3888888889vw);
    height: min(20px, 1.3888888889vw);
  }
}
.l-faq__question-icon::before, .l-faq__question-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0.5128205128vw;
  background: #000000;
  transform: translate(-50%, -50%) rotate(0deg);
  transform-origin: center;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
@media (min-width: 768px) {
  .l-faq__question-icon::before, .l-faq__question-icon::after {
    height: min(2px, 0.1388888889vw);
  }
}
.l-faq__question-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.l-faq__question[aria-expanded=true] .l-faq__question-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(180deg);
}
.l-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 0.3s ease, opacity 0.2s ease;
}
.l-faq__answer[aria-hidden=false] {
  grid-template-rows: 1fr;
  opacity: 1;
}
.l-faq__answer-body {
  display: grid;
  grid-template-columns: 6.1538461538vw minmax(0, 1fr);
  gap: 3.0769230769vw;
  padding: 0 2.5641025641vw;
  margin-bottom: 0;
  border: solid #000000;
  border-width: 0 0.2564102564vw;
  overflow: hidden;
  will-change: padding, margin-bottom, border-width;
  transition: padding 0.3s ease, margin-bottom 0.3s ease, border-width 0.3s ease;
}
@media (min-width: 768px) {
  .l-faq__answer-body {
    grid-template-columns: min(28px, 1.9444444444vw) minmax(0, 1fr);
    gap: min(16px, 1.1111111111vw);
    padding: 0 min(26px, 1.8055555556vw);
    border-width: 0 min(1px, 0.0694444444vw);
  }
}
.l-faq__answer[aria-hidden=false] .l-faq__answer-body {
  padding: 2.5641025641vw;
  margin-bottom: 2.5641025641vw;
  border-width: 0.2564102564vw;
}
@media (min-width: 768px) {
  .l-faq__answer[aria-hidden=false] .l-faq__answer-body {
    padding: min(20px, 1.3888888889vw) min(26px, 1.8055555556vw);
    margin-bottom: min(20px, 1.3888888889vw);
    border-width: min(1px, 0.0694444444vw);
  }
}
.l-faq__answer-text {
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .l-faq__answer-text {
    font-size: min(20px, 1.3888888889vw);
  }
}

.l-table__inner {
  width: 100%;
  background: #FFFFFF;
  border: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table__inner {
    max-width: min(1080px, 75vw);
    margin-left: auto;
    margin-right: auto;
    border: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table__table, .l-table__body {
  width: 100%;
}
.l-table__table {
  background: #FFFFFF;
}
.l-table__body {
  display: block;
}
.l-table__row {
  display: flex;
  flex-direction: column;
  gap: 2.5641025641vw;
  padding: 3.5897435897vw 2.5641025641vw 0;
}
@media (min-width: 768px) {
  .l-table__row {
    position: relative;
    display: grid;
    grid-template-columns: min(140px, 9.7222222222vw) minmax(0, 1fr);
    column-gap: min(60px, 4.1666666667vw);
    padding: min(10px, 0.6944444444vw) min(20px, 1.3888888889vw) min(18px, 1.25vw);
  }
}
.l-table__row:not(:last-child) .l-table__data {
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table__row:not(:last-child) .l-table__data {
    border-bottom: 0;
  }
}
@media (min-width: 768px) {
  .l-table__row:not(:last-child)::after {
    content: "";
    position: absolute;
    right: min(20px, 1.3888888889vw);
    bottom: 0;
    left: min(20px, 1.3888888889vw);
    height: min(1px, 0.0694444444vw);
    background: #000000;
  }
}
.l-table__head, .l-table__data {
  display: block;
  width: 100%;
  padding: 0;
  text-align: left;
  vertical-align: top;
}
@media (min-width: 768px) {
  .l-table__head, .l-table__data {
    display: block;
  }
}
.l-table__head {
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
  color: #000000;
  overflow-wrap: anywhere;
}
@media (min-width: 768px) {
  .l-table__head {
    font-size: min(20px, 1.3888888889vw);
  }
}
.l-table__data {
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 1.6;
  color: #333333;
  overflow-wrap: anywhere;
  padding-bottom: 3.5897435897vw;
}
@media (min-width: 768px) {
  .l-table__data {
    font-size: min(20px, 1.3888888889vw);
    padding-bottom: 0;
  }
}

.l-table-list__inner {
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .l-table-list__inner {
    gap: min(40px, 2.7777777778vw);
  }
}
.l-table-list__table {
  width: 100%;
}
@media (min-width: 768px) {
  .l-table-list__table {
    display: flex;
    flex-direction: column;
    width: min(790px, 54.8611111111vw);
    margin-left: auto;
    margin-right: auto;
    align-items: stretch;
  }
}
.l-table-list__head {
  box-sizing: border-box;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}
.l-table-list__head-item, .l-table-list__head-title {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9.7435897436vw;
  padding: 2.0512820513vw 5.1282051282vw;
  background: #f6f6f6;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
  color: #000000;
  text-align: center;
}
@media (min-width: 768px) {
  .l-table-list__head-item, .l-table-list__head-title {
    min-height: min(57px, 3.9583333333vw);
    padding: min(15px, 1.0416666667vw) min(20px, 1.3888888889vw);
    font-size: min(18px, 1.25vw);
    line-height: 1.5;
  }
}
.l-table-list__head-title {
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__head-title {
    border-bottom: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__head-item {
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__head-item {
    border-bottom: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__rows {
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-table-list__row {
  display: grid;
  grid-template-columns: 23.0769230769vw minmax(0, 1fr);
}
@media (min-width: 768px) {
  .l-table-list__row {
    grid-template-columns: min(190px, 13.1944444444vw) min(600px, 41.6666666667vw);
  }
}
.l-table-list__row:not(:last-child) .l-table-list__label {
  border-bottom: 0.1282051282vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__row:not(:last-child) .l-table-list__label {
    border-bottom: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__label {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 2.0512820513vw 5.1282051282vw;
  background: #000000;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
  color: #FFFFFF;
  text-align: right;
}
@media (min-width: 768px) {
  .l-table-list__label {
    padding: min(8px, 0.5555555556vw) min(20px, 1.3888888889vw);
    font-size: min(18px, 1.25vw);
    line-height: 1.5;
    border-bottom: 0;
  }
}
.l-table-list__row:nth-child(even) .l-table-list__label {
  background: #333333;
}
.l-table-list__value {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  background: #FFFFFF;
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__value {
    width: 100%;
    border-bottom: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__value-text {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  padding: 2.0512820513vw 5.1282051282vw;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
  color: #000000;
  text-align: right;
  overflow-wrap: anywhere;
}
@media (min-width: 768px) {
  .l-table-list__value-text {
    padding: min(8px, 0.5555555556vw) min(20px, 1.3888888889vw);
    font-size: min(18px, 1.25vw);
    line-height: 1.5;
  }
}
.l-table-list__note {
  margin-top: 2.5641025641vw;
  font-size: 2.5641025641vw;
  font-weight: 400;
  line-height: 1.6;
  color: #000000;
  text-align: right;
}
@media (min-width: 768px) {
  .l-table-list__note {
    margin-top: min(10px, 0.6944444444vw);
    font-size: min(12px, 0.8333333333vw);
  }
}
.l-table-list__table--compare {
  --compare-label-width-sp: 23.0769230769vw;
  --compare-label-width-pc: min(190px, 13.1944444444vw);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.l-table-list__table--compare .l-table-list__compare-table {
  width: 100%;
  min-width: 89.7435897436vw;
  border-collapse: collapse;
  table-layout: fixed;
  background: #FFFFFF;
}
@media (min-width: 768px) {
  .l-table-list__table--compare .l-table-list__compare-table {
    min-width: 0;
  }
}
.l-table-list__table--compare .l-table-list__compare-col-label {
  width: var(--compare-label-width-sp);
}
@media (min-width: 768px) {
  .l-table-list__table--compare .l-table-list__compare-col-label {
    width: var(--compare-label-width-pc);
  }
}
.l-table-list__table--compare .l-table-list__compare-col-value {
  width: calc((100% - var(--compare-label-width-sp)) / var(--compare-columns, 2));
}
@media (min-width: 768px) {
  .l-table-list__table--compare .l-table-list__compare-col-value {
    width: calc((100% - var(--compare-label-width-pc)) / var(--compare-columns, 2));
  }
}
.l-table-list__table--compare .l-table-list__compare-corner,
.l-table-list__table--compare .l-table-list__compare-head,
.l-table-list__table--compare .l-table-list__compare-label,
.l-table-list__table--compare .l-table-list__compare-value {
  box-sizing: border-box;
  padding: 2.0512820513vw 5.1282051282vw;
  font-size: 3.5897435897vw;
  line-height: 1.6;
  vertical-align: middle;
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__table--compare .l-table-list__compare-corner,
  .l-table-list__table--compare .l-table-list__compare-head,
  .l-table-list__table--compare .l-table-list__compare-label,
  .l-table-list__table--compare .l-table-list__compare-value {
    padding: min(8px, 0.5555555556vw) min(20px, 1.3888888889vw);
    font-size: min(18px, 1.25vw);
    line-height: 1.5;
    border-bottom: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__table--compare .l-table-list__compare-corner,
.l-table-list__table--compare .l-table-list__compare-head {
  background: #f6f6f6;
  font-weight: 700;
  color: #000000;
  text-align: center;
  overflow-wrap: anywhere;
}
.l-table-list__table--compare .l-table-list__compare-corner {
  padding: 0;
  background: transparent;
}
.l-table-list__table--compare .l-table-list__compare-head + .l-table-list__compare-head,
.l-table-list__table--compare .l-table-list__compare-value + .l-table-list__compare-value {
  border-left: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__table--compare .l-table-list__compare-head + .l-table-list__compare-head,
  .l-table-list__table--compare .l-table-list__compare-value + .l-table-list__compare-value {
    border-left: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__table--compare .l-table-list__compare-label + .l-table-list__compare-value {
  border-left: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__table--compare .l-table-list__compare-label + .l-table-list__compare-value {
    border-left: 0;
  }
}
.l-table-list__table--compare .l-table-list__compare-label {
  background: #000000;
  font-weight: 700;
  color: #FFFFFF;
  text-align: right;
  overflow-wrap: anywhere;
}
.l-table-list__table--compare .l-table-list__compare-row:nth-child(even) .l-table-list__compare-label {
  background: #333333;
}
.l-table-list__table--compare .l-table-list__compare-value {
  font-weight: 700;
  color: #000000;
  text-align: center;
  background: #FFFFFF;
  overflow-wrap: anywhere;
}
.l-table-list__table--single {
  --single-value-width-sp: 66.6666666667vw;
  --single-value-width-pc: min(600px, 41.6666666667vw);
}
.l-table-list__table--single .l-table-list__head-title {
  width: var(--single-value-width-sp);
  overflow-wrap: anywhere;
}
@media (min-width: 768px) {
  .l-table-list__table--single .l-table-list__head-title {
    width: var(--single-value-width-pc);
  }
}
.l-table-list__table--single .l-table-list__value-text {
  justify-content: center;
  text-align: center;
}
.l-table-list__table--option .l-table-list__row {
  grid-template-columns: 56.4102564103vw minmax(0, 1fr);
}
@media (min-width: 768px) {
  .l-table-list__table--option .l-table-list__row {
    grid-template-columns: min(390px, 27.0833333333vw) min(400px, 27.7777777778vw);
  }
}
.l-table-list__table--option .l-table-list__row:first-child .l-table-list__value {
  border-top: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__table--option .l-table-list__row:first-child .l-table-list__value {
    border-top: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__table--option .l-table-list__value {
  border-bottom: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__table--option .l-table-list__value {
    background: transparent;
    border-bottom: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__table--option .l-table-list__value-text {
  justify-content: center;
  text-align: center;
  background: #FFFFFF;
}
@media (min-width: 768px) {
  .l-table-list__table--option .l-table-list__value-text {
    padding: min(8px, 0.5555555556vw) min(20px, 1.3888888889vw);
  }
}
.l-table-list__table--comparison {
  --comparison-sticky-top: 0px;
  --comparison-sticky-head-height: 0px;
  --comparison-sticky-clip-left: 0px;
  --comparison-sticky-clip-right: 0px;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison {
    width: min(1080px, 75vw);
  }
}
.l-table-list__table--comparison .l-table-list__comparison {
  --comparison-columns: 6;
  --comparison-label-width-sp: 36.9230769231vw;
  --comparison-label-width-pc: min(186px, 12.9166666667vw);
  --comparison-cell-width-sp: 30.7692307692vw;
  --comparison-cell-width-pc: min(130px, 9.0277777778vw);
  display: flex;
  align-items: flex-start;
}
.l-table-list__table--comparison .l-table-list__comparison-labels {
  width: var(--comparison-label-width-sp);
  flex: 0 0 var(--comparison-label-width-sp);
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__comparison-labels {
    width: var(--comparison-label-width-pc);
    flex: 0 0 var(--comparison-label-width-pc);
  }
}
.l-table-list__table--comparison .l-table-list__comparison-labels .l-table-list__rows,
.l-table-list__table--comparison .l-table-list__comparison-labels .l-table-list__row {
  width: 100%;
}
.l-table-list__table--comparison .l-table-list__comparison-labels .l-table-list__label {
  width: var(--comparison-label-width-sp);
  min-width: var(--comparison-label-width-sp);
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__comparison-labels .l-table-list__label {
    width: var(--comparison-label-width-pc);
    min-width: var(--comparison-label-width-pc);
  }
}
.l-table-list__table--comparison .l-table-list__comparison-spacer {
  width: 100%;
  height: 14.358974359vw;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__comparison-spacer {
    height: min(67px, 4.6527777778vw);
  }
}
.l-table-list__table--comparison.is-sticky-active .l-table-list__comparison-spacer {
  position: fixed;
  top: var(--comparison-sticky-top);
  left: var(--comparison-sticky-spacer-left);
  width: var(--comparison-sticky-spacer-width);
  z-index: 2;
  background: #FFFFFF;
}
.l-table-list__table--comparison .l-table-list__comparison-scroll {
  width: calc(100% - var(--comparison-label-width-sp));
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.l-table-list__table--comparison .l-table-list__comparison-scroll::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__comparison-scroll {
    width: calc(100% - var(--comparison-label-width-pc));
    overflow: visible;
    scroll-snap-type: none;
  }
}
.l-table-list__table--comparison .l-table-list__comparison-scroll .l-table-list__rows,
.l-table-list__table--comparison .l-table-list__comparison-scroll .l-table-list__row {
  width: 100%;
}
.l-table-list__table--comparison .l-table-list__comparison-scroll .l-table-list__row {
  display: block;
}
.l-table-list__table--comparison.is-sticky-active .l-table-list__comparison-scroll .l-table-list__rows {
  margin-top: var(--comparison-sticky-head-height);
}
.l-table-list__table--comparison.is-sticky-active .l-table-list__comparison-labels .l-table-list__rows {
  margin-top: var(--comparison-sticky-head-height);
}
.l-table-list__table--comparison .l-table-list__indicator {
  position: relative;
  width: 100%;
  height: 1.0256410256vw;
  margin-top: 2.0512820513vw;
  background: rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__indicator {
    display: none;
  }
}
.l-table-list__table--comparison .l-table-list__indicator-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #000000;
  transition: left 0.2s ease-out, width 0.2s ease-out;
}
.l-table-list__table--comparison .l-table-list__head {
  display: grid;
  grid-template-columns: repeat(var(--comparison-columns), minmax(var(--comparison-cell-width-sp), 1fr));
  width: calc(var(--comparison-columns) * var(--comparison-cell-width-sp));
  min-width: calc(var(--comparison-columns) * var(--comparison-cell-width-sp));
  margin-left: 0;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__head {
    grid-template-columns: repeat(var(--comparison-columns), minmax(0, 1fr));
    width: 100%;
    min-width: 100%;
  }
}
.l-table-list__table--comparison.is-sticky-active .l-table-list__head {
  position: fixed;
  top: var(--comparison-sticky-top);
  left: var(--comparison-sticky-head-left);
  z-index: 3;
  background: #FFFFFF;
  clip-path: inset(0 var(--comparison-sticky-clip-right) 0 var(--comparison-sticky-clip-left));
}
.l-table-list__table--comparison .l-table-list__head-item {
  box-sizing: border-box;
  width: 100%;
  min-width: var(--comparison-cell-width-sp);
  min-height: 14.8717948718vw;
  padding: 2.0512820513vw;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__head-item {
    min-width: var(--comparison-cell-width-pc);
    min-height: min(67px, 4.6527777778vw);
    padding: min(8px, 0.5555555556vw) min(4px, 0.2777777778vw);
  }
}
.l-table-list__table--comparison .l-table-list__head-item + .l-table-list__head-item {
  border-left: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__head-item + .l-table-list__head-item {
    border-left: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__table--comparison .l-table-list__rows {
  width: 100%;
  min-width: 0;
}
.l-table-list__table--comparison .l-table-list__row {
  min-height: 14.358974359vw;
  height: auto;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__row {
    min-height: min(56px, 3.8888888889vw);
  }
}
.l-table-list__table--comparison .l-table-list__row--badge {
  min-height: 19.4871794872vw;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__row--badge {
    min-height: min(56px, 3.8888888889vw);
  }
}
.l-table-list__table--comparison .l-table-list__label {
  gap: 1.2820512821vw;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: 2.0512820513vw 4.1025641026vw;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__label {
    gap: min(10px, 0.6944444444vw);
    height: 100%;
    padding: min(8px, 0.5555555556vw) min(20px, 1.3888888889vw);
  }
}
.l-table-list__table--comparison .l-table-list__value {
  grid-template-columns: repeat(var(--comparison-columns), minmax(var(--comparison-cell-width-sp), 1fr));
  width: calc(var(--comparison-columns) * var(--comparison-cell-width-sp));
  min-width: calc(var(--comparison-columns) * var(--comparison-cell-width-sp));
  min-height: 14.358974359vw;
  height: 100%;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__value {
    grid-template-columns: repeat(var(--comparison-columns), minmax(0, 1fr));
    width: 100%;
    min-width: 100%;
    min-height: min(56px, 3.8888888889vw);
  }
}
.l-table-list__table--comparison .l-table-list__row--badge .l-table-list__value {
  min-height: 19.4871794872vw;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__row--badge .l-table-list__value {
    min-height: min(56px, 3.8888888889vw);
  }
}
.l-table-list__table--comparison .l-table-list__value-text {
  justify-content: center;
  height: 100%;
  padding: 2.0512820513vw 1.0256410256vw;
  text-align: center;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__value-text {
    padding: min(8px, 0.5555555556vw) min(4px, 0.2777777778vw);
  }
}
.l-table-list__table--comparison .l-table-list__value-text + .l-table-list__value-text {
  border-left: 0.2564102564vw solid #000000;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__value-text + .l-table-list__value-text {
    border-left: min(1px, 0.0694444444vw) solid #000000;
  }
}
.l-table-list__table--comparison .l-table-list__badge {
  display: block;
  width: 10.2564102564vw;
  flex: 0 0 10.2564102564vw;
  flex-shrink: 0;
}
.l-table-list__table--comparison .l-table-list__badge img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__badge {
    width: min(55px, 3.8194444444vw);
    flex: 0 0 min(55px, 3.8194444444vw);
  }
}
.l-table-list__table--comparison .l-table-list__label-text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex: 1 1 auto;
  min-width: 0;
}
.l-table-list__table--comparison .l-table-list__label-main {
  display: block;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.6;
  color: #FFFFFF;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-align: right;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__label-main {
    font-size: min(18px, 1.25vw);
    line-height: 1.5;
  }
}
.l-table-list__table--comparison .l-table-list__label-sub {
  display: block;
  font-size: 2.5641025641vw;
  font-weight: 400;
  line-height: 1.6;
  color: #FFFFFF;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-align: right;
}
@media (min-width: 768px) {
  .l-table-list__table--comparison .l-table-list__label-sub {
    font-size: min(14px, 0.9722222222vw);
    line-height: 1.5;
  }
}

/*--------------------------------------*
 * project
 *--------------------------------------*/
.p-top-kv__wrap {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media (min-width: 768px) {
  .p-top-kv__wrap {
    max-width: min(1440px, 100vw);
  }
}
.p-top-kv__img {
  margin-left: auto;
  width: 100%;
  max-width: 91.0256410256vw;
}
@media (min-width: 768px) {
  .p-top-kv__img {
    max-width: min(1008px, 70vw);
  }
}
.p-top-kv__link {
  position: absolute;
  bottom: 5.1282051282vw;
  left: 5.1282051282vw;
  display: flex;
  flex-direction: row;
  gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .p-top-kv__link {
    bottom: min(208px, 14.4444444444vw);
    left: min(82px, 5.6944444444vw);
    flex-direction: column;
    gap: min(10px, 0.6944444444vw);
  }
}
.p-top-kv__btn {
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .p-top-kv__btn:hover {
    opacity: 0.5;
  }
}
.p-top-kv__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #000000;
  color: #FFFFFF;
  width: 43.5897435897vw;
  min-height: 10.7692307692vw;
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-top-kv__btn {
    width: min(500px, 34.7222222222vw);
    min-height: min(83px, 5.7638888889vw);
    font-size: min(22px, 1.5277777778vw);
  }
}
.p-top-kv__btn::after {
  content: "";
  display: none;
}
@media (min-width: 768px) {
  .p-top-kv__btn::after {
    display: block;
    position: absolute;
    top: 50%;
    right: min(20px, 1.3888888889vw);
    transform: translateY(-50%);
    width: min(40px, 2.7777777778vw);
    height: min(12px, 0.8333333333vw);
    background: url("../img//project/top/arrow_white.svg") no-repeat center/contain;
  }
}
.p-top-kv__btn.is-line {
  color: #06C755;
  gap: 1.7948717949vw;
}
@media (min-width: 768px) {
  .p-top-kv__btn.is-line {
    gap: min(14px, 0.9722222222vw);
  }
}
@media (min-width: 768px) {
  .p-top-kv__btn.is-line::after {
    background-image: url("../img//project/top/arrow_green.svg");
  }
}
.p-top-kv__btn.is-line img {
  width: 7.4358974359vw;
  flex: 0 0 auto;
}
@media (min-width: 768px) {
  .p-top-kv__btn.is-line img {
    width: min(54px, 3.75vw);
  }
}

.p-bonbon {
  padding-bottom: 25.641025641vw;
}
.p-bonbon__wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
@media (min-width: 768px) {
  .p-bonbon__wrap {
    width: min(1080px, 75vw);
  }
}
@media (max-width: 767.98px) {
  .p-bonbon__scroll {
    overflow: auto;
    max-height: 70vh;
    -webkit-overflow-scrolling: touch;
  }
}
.p-bonbon__list {
  width: 100%;
  vertical-align: middle;
  position: relative;
  border-collapse: separate;
  border-spacing: 0;
}
@media (max-width: 767.98px) {
  .p-bonbon__list {
    width: max-content;
  }
}
.p-bonbon__list tr.p-bonbon__item.is-title th {
  background-color: #90A4AF;
}
@media (max-width: 767.98px) {
  .p-bonbon__list tr.p-bonbon__item.is-title th {
    position: sticky;
    top: 0;
    z-index: 2;
  }
}
@media (max-width: 767.98px) {
  .p-bonbon__list tr.p-bonbon__item.is-title th:first-child {
    left: 0;
    z-index: 3;
  }
}
.p-bonbon__item {
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}
@media (max-width: 767.98px) {
  .p-bonbon__item {
    height: 15.3846153846vw;
  }
}
.p-bonbon__subtitle {
  text-align: right;
  color: #fff;
  vertical-align: middle;
}
@media (max-width: 767.98px) {
  .p-bonbon__subtitle {
    position: sticky;
    left: 0;
    z-index: 1;
    width: 47.1794871795vw;
    font-size: 3.5897435897vw;
  }
}
@media (min-width: 768px) {
  .p-bonbon__subtitle {
    padding: min(8px, 0.5555555556vw) min(10px, 0.6944444444vw);
  }
}
table tr:nth-child(even) .p-bonbon__subtitle {
  background-color: #000;
}
table tr:nth-child(odd) .p-bonbon__subtitle {
  background-color: #333;
}
.p-bonbon__subtitle span {
  display: block;
}
@media (min-width: 768px) {
  .p-bonbon__subtitle span {
    font-size: min(12px, 0.8333333333vw);
  }
}
.p-bonbon__title {
  background-color: #90A4AF;
}
@media (min-width: 768px) {
  .p-bonbon__title {
    width: min(150px, 10.4166666667vw);
    padding: min(8px, 0.5555555556vw) min(10px, 0.6944444444vw);
  }
}
.p-bonbon__text {
  vertical-align: middle;
}
@media (min-width: 768px) {
  .p-bonbon__text {
    width: min(150px, 10.4166666667vw);
    padding: min(8px, 0.5555555556vw) min(10px, 0.6944444444vw);
  }
}
table tr:nth-child(even) .p-bonbon__text {
  background-color: #F6F6F6;
}
table tr:nth-child(odd) .p-bonbon__text {
  background-color: #fff;
}

.p-bonbon-slider {
  margin-top: 25.641025641vw;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
@media (min-width: 768px) {
  .p-bonbon-slider {
    margin-top: min(100px, 6.9444444444vw);
    width: min(800px, 55.5555555556vw);
  }
}
.p-bonbon-slider__slide img {
  width: 100%;
}
.p-bonbon-slider__pagination {
  width: 100%;
  overflow-x: scroll;
}
.p-bonbon-slider .splide__pagination {
  margin-top: 5.1282051282vw;
  width: max-content;
  position: relative;
  inset: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .p-bonbon-slider .splide__pagination {
    margin-top: min(30px, 2.0833333333vw);
    gap: min(10px, 0.6944444444vw);
  }
}
.p-bonbon-slider .splide__pagination li {
  width: 25.641025641vw;
}
@media (min-width: 768px) {
  .p-bonbon-slider .splide__pagination li {
    width: 190px;
  }
}
.p-bonbon-slider .splide__pagination__page {
  width: 100%;
  height: max-content;
  display: block;
  opacity: 1;
  scale: 1;
  position: relative;
  border-radius: 0;
}
.p-bonbon-slider .splide__pagination__page.is-active {
  transform: scale(1);
}
.p-bonbon-slider .splide__pagination__page.is-active::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  display: block;
  border: 2px solid #000;
}
.p-bonbon-slider__menu {
  margin-top: 5.1282051282vw;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .p-bonbon-slider__menu {
    margin-top: min(30px, 2.0833333333vw);
    gap: min(30px, 2.0833333333vw);
  }
}
.p-bonbon-slider__arrows {
  margin-left: auto;
  position: relative;
  display: flex;
  align-items: center;
}
.p-bonbon-slider .splide__arrows {
  position: relative;
  display: flex;
  gap: min(20px, 1.3888888889vw);
}
.p-bonbon-slider .splide__arrows button {
  width: 6.6666666667vw;
  height: 2.2205128205vw;
  position: relative;
  display: block;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../img/bonbon/icon-arrow.svg);
  background-color: transparent;
}
@media (min-width: 768px) {
  .p-bonbon-slider .splide__arrows button {
    width: min(26px, 1.8055555556vw);
    height: min(8.66px, 0.6013888889vw);
  }
}
.p-bonbon-slider .splide__arrows button.splide__arrow--prev {
  scale: -1 1;
}
.p-bonbon-slider .splide__arrows button svg {
  opacity: 0;
}
.p-bonbon-slider__bar {
  width: 50%;
  height: 2px;
  background-color: rgba(0, 0, 0, 0.2);
}
.p-bonbon-slider__bar span {
  height: 2px;
  display: block;
  background-color: #000;
  transition: width 0.3s linear;
}

.p-bonbon-more {
  margin-top: 25.641025641vw;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
@media (min-width: 768px) {
  .p-bonbon-more {
    margin-top: min(100px, 6.9444444444vw);
    width: min(800px, 55.5555555556vw);
  }
}
.p-bonbon-more img {
  width: 100%;
}
.p-bonbon-more__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .p-bonbon-more__list {
    gap: min(30px, 2.0833333333vw);
  }
}
.p-bonbon-more__item:nth-child(n+5) {
  display: none;
}
.p-bonbon-more__button {
  margin-top: 7.6923076923vw;
  margin-left: auto;
  margin-right: auto;
  width: max-content;
  text-align: center;
  display: block;
}
@media (min-width: 768px) {
  .p-bonbon-more__button {
    margin-top: min(30px, 2.0833333333vw);
    width: min(300px, 20.8333333333vw);
  }
}
.p-bonbon-more.is-open .p-bonbon-more__item:nth-child(n+5) {
  display: block;
  animation: bonbonMoreFadeUp 0.45s ease forwards;
}

@keyframes bonbonMoreFadeUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.p-clinic-kv {
  background: url("../img/project/clinic/kv_img-sp.webp") no-repeat center/cover;
  width: 100%;
  min-height: 128.4615384615vw;
}
@media (min-width: 768px) {
  .p-clinic-kv {
    background-image: url("../img/project/clinic/kv_img.webp");
    min-height: min(1200px, 83.3333333333vw);
  }
}
.p-clinic-kv__inner {
  padding-top: 21.0256410256vw;
}
@media (min-width: 768px) {
  .p-clinic-kv__inner {
    padding-top: min(272px, 18.8888888889vw);
  }
}
.p-clinic-kv__title {
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
  padding-bottom: 25.641025641vw;
}
@media (min-width: 768px) {
  .p-clinic-kv__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
    padding-bottom: min(220px, 15.2777777778vw);
  }
}
.p-clinic-kv__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .p-clinic-kv__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}

.p-clinic-access__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-clinic-access__inner {
    max-width: min(1180px, 81.9444444444vw);
    margin: 0 auto;
    overflow: visible;
  }
}
.p-clinic-access__title {
  color: #000000;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.358974359vw;
}
@media (min-width: 768px) {
  .p-clinic-access__title {
    gap: min(9px, 0.625vw);
    font-size: min(23.5px, 1.6319444444vw);
    line-height: 1;
    letter-spacing: min(2.366px, 0.1643055556vw);
  }
}
.p-clinic-access__title-en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 8.9743589744vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.8974358974vw;
}
@media (min-width: 768px) {
  .p-clinic-access__title-en {
    font-size: min(64px, 4.4444444444vw);
    line-height: 1;
    letter-spacing: min(6.37px, 0.4423611111vw);
  }
}
.p-clinic-access__content {
  margin-top: 10.2564102564vw;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-clinic-access__content {
    margin-top: min(40px, 2.7777777778vw);
  }
}
.p-clinic-access__content-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 600;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-clinic-access__content-title {
    font-size: min(26px, 1.8055555556vw);
  }
}
.p-clinic-access__hours {
  margin-top: 3.0769230769vw;
  display: flex;
  flex-direction: column;
  gap: 1.2820512821vw;
}
@media (min-width: 768px) {
  .p-clinic-access__hours {
    margin-top: min(20px, 1.3888888889vw);
    gap: min(8px, 0.5555555556vw);
  }
}
.p-clinic-access__hours-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.0769230769vw;
  font-weight: 600;
  line-height: 1;
}
@media (min-width: 768px) {
  .p-clinic-access__hours-label {
    font-size: min(20px, 1.3888888889vw);
  }
}
.p-clinic-access__hours-text {
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.0256410256vw;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.0769230769vw;
  font-weight: 400;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-clinic-access__hours-text {
    gap: min(12px, 0.8333333333vw);
    font-size: min(20px, 1.3888888889vw);
  }
}
.p-clinic-access__hours-dot {
  width: 3.5897435897vw;
  height: 3.5897435897vw;
  border-radius: 50%;
  background: #000000;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .p-clinic-access__hours-dot {
    width: min(20px, 1.3888888889vw);
    height: min(20px, 1.3888888889vw);
  }
}

/*--------------------------------------*
 * helper
 *--------------------------------------*/
.has-black-background-color {
  background-color: #000;
}

.has-black-color {
  color: #000;
}

.has-red-background-color {
  background-color: #FF0404;
}

.has-red-color {
  color: #FF0404;
}

.has-green-background-color {
  background-color: #287547;
}

.has-green-color {
  color: #287547;
}

.has-light-green-background-color {
  background-color: #35A662;
}

.has-light-green-color {
  color: #35A662;
}

.has-white-background-color {
  background-color: #FFF;
}

.has-white-color {
  color: #FFF;
}

.grid {
  display: grid;
  gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .grid {
    gap: 30px;
  }
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .pc-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .pc-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .sp-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .sp-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.gap-0 {
  gap: 0vw;
}
@media (min-width: 768px) {
  .gap-0 {
    gap: 0px;
  }
}

@media (min-width: 768px) {
  .pc-gap-0 {
    gap: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-0 {
    gap: 0vw !important;
  }
}

.gap-x-0x {
  column-gap: 0vw;
}
@media (min-width: 768px) {
  .gap-x-0x {
    column-gap: 0px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-0 {
    column-gap: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-0 {
    column-gap: 0vw !important;
  }
}

.gap-10 {
  gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .gap-10 {
    gap: 10px;
  }
}

@media (min-width: 768px) {
  .pc-gap-10 {
    gap: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-10 {
    gap: 2.5641025641vw !important;
  }
}

.gap-x-10x {
  column-gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .gap-x-10x {
    column-gap: 10px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-10 {
    column-gap: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-10 {
    column-gap: 2.5641025641vw !important;
  }
}

.gap-20 {
  gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .gap-20 {
    gap: 20px;
  }
}

@media (min-width: 768px) {
  .pc-gap-20 {
    gap: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-20 {
    gap: 5.1282051282vw !important;
  }
}

.gap-x-20x {
  column-gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .gap-x-20x {
    column-gap: 20px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-20 {
    column-gap: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-20 {
    column-gap: 5.1282051282vw !important;
  }
}

.gap-30 {
  gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .gap-30 {
    gap: 30px;
  }
}

@media (min-width: 768px) {
  .pc-gap-30 {
    gap: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-30 {
    gap: 7.6923076923vw !important;
  }
}

.gap-x-30x {
  column-gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .gap-x-30x {
    column-gap: 30px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-30 {
    column-gap: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-30 {
    column-gap: 7.6923076923vw !important;
  }
}

.gap-40 {
  gap: 10.2564102564vw;
}
@media (min-width: 768px) {
  .gap-40 {
    gap: 40px;
  }
}

@media (min-width: 768px) {
  .pc-gap-40 {
    gap: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-40 {
    gap: 10.2564102564vw !important;
  }
}

.gap-x-40x {
  column-gap: 10.2564102564vw;
}
@media (min-width: 768px) {
  .gap-x-40x {
    column-gap: 40px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-40 {
    column-gap: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-40 {
    column-gap: 10.2564102564vw !important;
  }
}

.gap-50 {
  gap: 12.8205128205vw;
}
@media (min-width: 768px) {
  .gap-50 {
    gap: 50px;
  }
}

@media (min-width: 768px) {
  .pc-gap-50 {
    gap: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-50 {
    gap: 12.8205128205vw !important;
  }
}

.gap-x-50x {
  column-gap: 12.8205128205vw;
}
@media (min-width: 768px) {
  .gap-x-50x {
    column-gap: 50px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-50 {
    column-gap: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-50 {
    column-gap: 12.8205128205vw !important;
  }
}

.gap-60 {
  gap: 15.3846153846vw;
}
@media (min-width: 768px) {
  .gap-60 {
    gap: 60px;
  }
}

@media (min-width: 768px) {
  .pc-gap-60 {
    gap: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-60 {
    gap: 15.3846153846vw !important;
  }
}

.gap-x-60x {
  column-gap: 15.3846153846vw;
}
@media (min-width: 768px) {
  .gap-x-60x {
    column-gap: 60px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-60 {
    column-gap: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-60 {
    column-gap: 15.3846153846vw !important;
  }
}

/* display
========================================================================== */
.none {
  display: none !important;
}

.block {
  display: block !important;
}

@media (min-width: 768px) {
  .pc-block {
    display: block !important;
  }
}

@media (max-width: 767.98px) {
  .sp-block {
    display: block !important;
  }
}

.inline {
  display: inline !important;
}

.inline-block {
  display: inline-block !important;
}

@media (min-width: 768px) {
  .pc-table-cell {
    display: table-cell !important;
  }
}

.flex {
  display: flex !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

/* width
========================================================================== */
.w-0p {
  width: 0% !important;
}

.w-5p {
  width: 5% !important;
}

.w-10p {
  width: 10% !important;
}

.w-15p {
  width: 15% !important;
}

.w-20p {
  width: 20% !important;
}

.w-25p {
  width: 25% !important;
}

.w-30p {
  width: 30% !important;
}

.w-35p {
  width: 35% !important;
}

.w-40p {
  width: 40% !important;
}

.w-45p {
  width: 45% !important;
}

.w-50p {
  width: 50% !important;
}

.w-55p {
  width: 55% !important;
}

.w-60p {
  width: 60% !important;
}

.w-65p {
  width: 65% !important;
}

.w-70p {
  width: 70% !important;
}

.w-75p {
  width: 75% !important;
}

.w-80p {
  width: 80% !important;
}

.w-85p {
  width: 85% !important;
}

.w-90p {
  width: 90% !important;
}

.w-95p {
  width: 95% !important;
}

.w-100p {
  width: 100% !important;
}

.w-max {
  width: 100%;
}

.w-full {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
}

.max-w-886 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

/* centering
========================================================================== */
.centering {
  margin-right: auto;
  margin-left: auto;
}

/* text
========================================================================== */
.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-justify {
  text-align: justify !important;
}

.uppearcase {
  text-transform: uppercase;
}

.nowrap {
  white-space: nowrap;
}

.text-indent {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

/* bg
========================================================================== */
.border-none {
  border: none !important;
}

.border-bottom-none {
  border-bottom: none !important;
}

/* PC
========================================================================== */
@media (max-width: 767.98px) {
  .pc-only {
    display: none !important;
  }
}

/* SP
========================================================================== */
@media (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

/* padding margin
========================================================================== */
.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.m-0 {
  margin: 0vw !important;
}
@media (min-width: 768px) {
  .m-0 {
    margin: 0px !important;
  }
}

.mt-0 {
  margin-top: 0vw !important;
}
@media (min-width: 768px) {
  .mt-0 {
    margin-top: 0px !important;
  }
}

.mb-0 {
  margin-bottom: 0vw !important;
}
@media (min-width: 768px) {
  .mb-0 {
    margin-bottom: 0px !important;
  }
}

.ml-0 {
  margin-left: 0vw !important;
}
@media (min-width: 768px) {
  .ml-0 {
    margin-left: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-0 {
    margin-top: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-0 {
    margin-bottom: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-0 {
    margin-top: 0vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-0 {
    margin-bottom: 0vw !important;
  }
}

.p-0 {
  padding: 0vw !important;
}
@media (min-width: 768px) {
  .p-0 {
    padding: 0px !important;
  }
}

.pt-0 {
  padding-top: 0vw !important;
}
@media (min-width: 768px) {
  .pt-0 {
    padding-top: 0px !important;
  }
}

.pb-0 {
  padding-bottom: 0vw !important;
}
@media (min-width: 768px) {
  .pb-0 {
    padding-bottom: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-0 {
    padding-top: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-0 {
    padding-bottom: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-0 {
    padding-top: 0vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-0 {
    padding-bottom: 0vw !important;
  }
}

.m-10 {
  margin: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .m-10 {
    margin: 10px !important;
  }
}

.mt-10 {
  margin-top: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .mt-10 {
    margin-top: 10px !important;
  }
}

.mb-10 {
  margin-bottom: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .mb-10 {
    margin-bottom: 10px !important;
  }
}

.ml-10 {
  margin-left: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .ml-10 {
    margin-left: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-10 {
    margin-top: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-10 {
    margin-bottom: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-10 {
    margin-top: 2.5641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-10 {
    margin-bottom: 2.5641025641vw !important;
  }
}

.p-10 {
  padding: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .p-10 {
    padding: 10px !important;
  }
}

.pt-10 {
  padding-top: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .pt-10 {
    padding-top: 10px !important;
  }
}

.pb-10 {
  padding-bottom: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .pb-10 {
    padding-bottom: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-10 {
    padding-top: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-10 {
    padding-bottom: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-10 {
    padding-top: 2.5641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-10 {
    padding-bottom: 2.5641025641vw !important;
  }
}

.m-20 {
  margin: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .m-20 {
    margin: 20px !important;
  }
}

.mt-20 {
  margin-top: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .mt-20 {
    margin-top: 20px !important;
  }
}

.mb-20 {
  margin-bottom: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .mb-20 {
    margin-bottom: 20px !important;
  }
}

.ml-20 {
  margin-left: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .ml-20 {
    margin-left: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-20 {
    margin-top: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-20 {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-20 {
    margin-top: 5.1282051282vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-20 {
    margin-bottom: 5.1282051282vw !important;
  }
}

.p-20 {
  padding: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .p-20 {
    padding: 20px !important;
  }
}

.pt-20 {
  padding-top: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .pt-20 {
    padding-top: 20px !important;
  }
}

.pb-20 {
  padding-bottom: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .pb-20 {
    padding-bottom: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-20 {
    padding-top: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-20 {
    padding-bottom: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-20 {
    padding-top: 5.1282051282vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-20 {
    padding-bottom: 5.1282051282vw !important;
  }
}

.m-30 {
  margin: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .m-30 {
    margin: 30px !important;
  }
}

.mt-30 {
  margin-top: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .mt-30 {
    margin-top: 30px !important;
  }
}

.mb-30 {
  margin-bottom: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .mb-30 {
    margin-bottom: 30px !important;
  }
}

.ml-30 {
  margin-left: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .ml-30 {
    margin-left: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-30 {
    margin-top: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-30 {
    margin-bottom: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-30 {
    margin-top: 7.6923076923vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-30 {
    margin-bottom: 7.6923076923vw !important;
  }
}

.p-30 {
  padding: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .p-30 {
    padding: 30px !important;
  }
}

.pt-30 {
  padding-top: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .pt-30 {
    padding-top: 30px !important;
  }
}

.pb-30 {
  padding-bottom: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .pb-30 {
    padding-bottom: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-30 {
    padding-top: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-30 {
    padding-bottom: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-30 {
    padding-top: 7.6923076923vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-30 {
    padding-bottom: 7.6923076923vw !important;
  }
}

.m-40 {
  margin: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .m-40 {
    margin: 40px !important;
  }
}

.mt-40 {
  margin-top: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .mt-40 {
    margin-top: 40px !important;
  }
}

.mb-40 {
  margin-bottom: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .mb-40 {
    margin-bottom: 40px !important;
  }
}

.ml-40 {
  margin-left: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .ml-40 {
    margin-left: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-40 {
    margin-top: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-40 {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-40 {
    margin-top: 10.2564102564vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-40 {
    margin-bottom: 10.2564102564vw !important;
  }
}

.p-40 {
  padding: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .p-40 {
    padding: 40px !important;
  }
}

.pt-40 {
  padding-top: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .pt-40 {
    padding-top: 40px !important;
  }
}

.pb-40 {
  padding-bottom: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .pb-40 {
    padding-bottom: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-40 {
    padding-top: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-40 {
    padding-bottom: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-40 {
    padding-top: 10.2564102564vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-40 {
    padding-bottom: 10.2564102564vw !important;
  }
}

.m-50 {
  margin: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .m-50 {
    margin: 50px !important;
  }
}

.mt-50 {
  margin-top: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .mt-50 {
    margin-top: 50px !important;
  }
}

.mb-50 {
  margin-bottom: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .mb-50 {
    margin-bottom: 50px !important;
  }
}

.ml-50 {
  margin-left: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .ml-50 {
    margin-left: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-50 {
    margin-top: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-50 {
    margin-bottom: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-50 {
    margin-top: 12.8205128205vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-50 {
    margin-bottom: 12.8205128205vw !important;
  }
}

.p-50 {
  padding: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .p-50 {
    padding: 50px !important;
  }
}

.pt-50 {
  padding-top: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .pt-50 {
    padding-top: 50px !important;
  }
}

.pb-50 {
  padding-bottom: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .pb-50 {
    padding-bottom: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-50 {
    padding-top: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-50 {
    padding-bottom: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-50 {
    padding-top: 12.8205128205vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-50 {
    padding-bottom: 12.8205128205vw !important;
  }
}

.m-60 {
  margin: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .m-60 {
    margin: 60px !important;
  }
}

.mt-60 {
  margin-top: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .mt-60 {
    margin-top: 60px !important;
  }
}

.mb-60 {
  margin-bottom: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .mb-60 {
    margin-bottom: 60px !important;
  }
}

.ml-60 {
  margin-left: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .ml-60 {
    margin-left: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-60 {
    margin-top: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-60 {
    margin-bottom: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-60 {
    margin-top: 15.3846153846vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-60 {
    margin-bottom: 15.3846153846vw !important;
  }
}

.p-60 {
  padding: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .p-60 {
    padding: 60px !important;
  }
}

.pt-60 {
  padding-top: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .pt-60 {
    padding-top: 60px !important;
  }
}

.pb-60 {
  padding-bottom: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .pb-60 {
    padding-bottom: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-60 {
    padding-top: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-60 {
    padding-bottom: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-60 {
    padding-top: 15.3846153846vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-60 {
    padding-bottom: 15.3846153846vw !important;
  }
}

.m-70 {
  margin: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .m-70 {
    margin: 70px !important;
  }
}

.mt-70 {
  margin-top: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .mt-70 {
    margin-top: 70px !important;
  }
}

.mb-70 {
  margin-bottom: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .mb-70 {
    margin-bottom: 70px !important;
  }
}

.ml-70 {
  margin-left: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .ml-70 {
    margin-left: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-70 {
    margin-top: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-70 {
    margin-bottom: 70px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-70 {
    margin-top: 17.9487179487vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-70 {
    margin-bottom: 17.9487179487vw !important;
  }
}

.p-70 {
  padding: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .p-70 {
    padding: 70px !important;
  }
}

.pt-70 {
  padding-top: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .pt-70 {
    padding-top: 70px !important;
  }
}

.pb-70 {
  padding-bottom: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .pb-70 {
    padding-bottom: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-70 {
    padding-top: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-70 {
    padding-bottom: 70px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-70 {
    padding-top: 17.9487179487vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-70 {
    padding-bottom: 17.9487179487vw !important;
  }
}

.m-80 {
  margin: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .m-80 {
    margin: 80px !important;
  }
}

.mt-80 {
  margin-top: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .mt-80 {
    margin-top: 80px !important;
  }
}

.mb-80 {
  margin-bottom: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .mb-80 {
    margin-bottom: 80px !important;
  }
}

.ml-80 {
  margin-left: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .ml-80 {
    margin-left: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-80 {
    margin-top: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-80 {
    margin-bottom: 80px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-80 {
    margin-top: 20.5128205128vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-80 {
    margin-bottom: 20.5128205128vw !important;
  }
}

.p-80 {
  padding: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .p-80 {
    padding: 80px !important;
  }
}

.pt-80 {
  padding-top: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .pt-80 {
    padding-top: 80px !important;
  }
}

.pb-80 {
  padding-bottom: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .pb-80 {
    padding-bottom: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-80 {
    padding-top: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-80 {
    padding-bottom: 80px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-80 {
    padding-top: 20.5128205128vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-80 {
    padding-bottom: 20.5128205128vw !important;
  }
}

.m-90 {
  margin: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .m-90 {
    margin: 90px !important;
  }
}

.mt-90 {
  margin-top: 46.1538461538vw !important;
}
@media (min-width: 768px) {
  .mt-90 {
    margin-top: 90px !important;
  }
}

.mb-90 {
  margin-bottom: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .mb-90 {
    margin-bottom: 90px !important;
  }
}

.ml-90 {
  margin-left: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .ml-90 {
    margin-left: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-90 {
    margin-top: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-90 {
    margin-bottom: 90px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-90 {
    margin-top: 23.0769230769vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-90 {
    margin-bottom: 23.0769230769vw !important;
  }
}

.p-90 {
  padding: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .p-90 {
    padding: 90px !important;
  }
}

.pt-90 {
  padding-top: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .pt-90 {
    padding-top: 90px !important;
  }
}

.pb-90 {
  padding-bottom: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .pb-90 {
    padding-bottom: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-90 {
    padding-top: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-90 {
    padding-bottom: 90px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-90 {
    padding-top: 23.0769230769vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-90 {
    padding-bottom: 23.0769230769vw !important;
  }
}

.m-100 {
  margin: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .m-100 {
    margin: 100px !important;
  }
}

.mt-100 {
  margin-top: 51.2820512821vw !important;
}
@media (min-width: 768px) {
  .mt-100 {
    margin-top: 100px !important;
  }
}

.mb-100 {
  margin-bottom: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .mb-100 {
    margin-bottom: 100px !important;
  }
}

.ml-100 {
  margin-left: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .ml-100 {
    margin-left: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-100 {
    margin-top: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-100 {
    margin-bottom: 100px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-100 {
    margin-top: 25.641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-100 {
    margin-bottom: 25.641025641vw !important;
  }
}

.p-100 {
  padding: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .p-100 {
    padding: 100px !important;
  }
}

.pt-100 {
  padding-top: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .pt-100 {
    padding-top: 100px !important;
  }
}

.pb-100 {
  padding-bottom: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .pb-100 {
    padding-bottom: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-100 {
    padding-top: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-100 {
    padding-bottom: 100px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-100 {
    padding-top: 25.641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-100 {
    padding-bottom: 25.641025641vw !important;
  }
}

.m-110 {
  margin: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .m-110 {
    margin: 110px !important;
  }
}

.mt-110 {
  margin-top: 56.4102564103vw !important;
}
@media (min-width: 768px) {
  .mt-110 {
    margin-top: 110px !important;
  }
}

.mb-110 {
  margin-bottom: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .mb-110 {
    margin-bottom: 110px !important;
  }
}

.ml-110 {
  margin-left: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .ml-110 {
    margin-left: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-110 {
    margin-top: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-110 {
    margin-bottom: 110px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-110 {
    margin-top: 28.2051282051vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-110 {
    margin-bottom: 28.2051282051vw !important;
  }
}

.p-110 {
  padding: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .p-110 {
    padding: 110px !important;
  }
}

.pt-110 {
  padding-top: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .pt-110 {
    padding-top: 110px !important;
  }
}

.pb-110 {
  padding-bottom: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .pb-110 {
    padding-bottom: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-110 {
    padding-top: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-110 {
    padding-bottom: 110px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-110 {
    padding-top: 28.2051282051vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-110 {
    padding-bottom: 28.2051282051vw !important;
  }
}

.m-120 {
  margin: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .m-120 {
    margin: 120px !important;
  }
}

.mt-120 {
  margin-top: 61.5384615385vw !important;
}
@media (min-width: 768px) {
  .mt-120 {
    margin-top: 120px !important;
  }
}

.mb-120 {
  margin-bottom: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .mb-120 {
    margin-bottom: 120px !important;
  }
}

.ml-120 {
  margin-left: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .ml-120 {
    margin-left: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-120 {
    margin-top: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-120 {
    margin-bottom: 120px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-120 {
    margin-top: 30.7692307692vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-120 {
    margin-bottom: 30.7692307692vw !important;
  }
}

.p-120 {
  padding: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .p-120 {
    padding: 120px !important;
  }
}

.pt-120 {
  padding-top: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .pt-120 {
    padding-top: 120px !important;
  }
}

.pb-120 {
  padding-bottom: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .pb-120 {
    padding-bottom: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-120 {
    padding-top: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-120 {
    padding-bottom: 120px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-120 {
    padding-top: 30.7692307692vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-120 {
    padding-bottom: 30.7692307692vw !important;
  }
}

.m-130 {
  margin: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .m-130 {
    margin: 130px !important;
  }
}

.mt-130 {
  margin-top: 66.6666666667vw !important;
}
@media (min-width: 768px) {
  .mt-130 {
    margin-top: 130px !important;
  }
}

.mb-130 {
  margin-bottom: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .mb-130 {
    margin-bottom: 130px !important;
  }
}

.ml-130 {
  margin-left: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .ml-130 {
    margin-left: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-130 {
    margin-top: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-130 {
    margin-bottom: 130px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-130 {
    margin-top: 33.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-130 {
    margin-bottom: 33.3333333333vw !important;
  }
}

.p-130 {
  padding: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .p-130 {
    padding: 130px !important;
  }
}

.pt-130 {
  padding-top: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .pt-130 {
    padding-top: 130px !important;
  }
}

.pb-130 {
  padding-bottom: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .pb-130 {
    padding-bottom: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-130 {
    padding-top: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-130 {
    padding-bottom: 130px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-130 {
    padding-top: 33.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-130 {
    padding-bottom: 33.3333333333vw !important;
  }
}

.m-140 {
  margin: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .m-140 {
    margin: 140px !important;
  }
}

.mt-140 {
  margin-top: 71.7948717949vw !important;
}
@media (min-width: 768px) {
  .mt-140 {
    margin-top: 140px !important;
  }
}

.mb-140 {
  margin-bottom: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .mb-140 {
    margin-bottom: 140px !important;
  }
}

.ml-140 {
  margin-left: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .ml-140 {
    margin-left: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-140 {
    margin-top: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-140 {
    margin-bottom: 140px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-140 {
    margin-top: 35.8974358974vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-140 {
    margin-bottom: 35.8974358974vw !important;
  }
}

.p-140 {
  padding: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .p-140 {
    padding: 140px !important;
  }
}

.pt-140 {
  padding-top: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .pt-140 {
    padding-top: 140px !important;
  }
}

.pb-140 {
  padding-bottom: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .pb-140 {
    padding-bottom: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-140 {
    padding-top: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-140 {
    padding-bottom: 140px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-140 {
    padding-top: 35.8974358974vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-140 {
    padding-bottom: 35.8974358974vw !important;
  }
}

.m-150 {
  margin: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .m-150 {
    margin: 150px !important;
  }
}

.mt-150 {
  margin-top: 76.9230769231vw !important;
}
@media (min-width: 768px) {
  .mt-150 {
    margin-top: 150px !important;
  }
}

.mb-150 {
  margin-bottom: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .mb-150 {
    margin-bottom: 150px !important;
  }
}

.ml-150 {
  margin-left: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .ml-150 {
    margin-left: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-150 {
    margin-top: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-150 {
    margin-bottom: 150px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-150 {
    margin-top: 38.4615384615vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-150 {
    margin-bottom: 38.4615384615vw !important;
  }
}

.p-150 {
  padding: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .p-150 {
    padding: 150px !important;
  }
}

.pt-150 {
  padding-top: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .pt-150 {
    padding-top: 150px !important;
  }
}

.pb-150 {
  padding-bottom: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .pb-150 {
    padding-bottom: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-150 {
    padding-top: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-150 {
    padding-bottom: 150px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-150 {
    padding-top: 38.4615384615vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-150 {
    padding-bottom: 38.4615384615vw !important;
  }
}

.m-160 {
  margin: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .m-160 {
    margin: 160px !important;
  }
}

.mt-160 {
  margin-top: 82.0512820513vw !important;
}
@media (min-width: 768px) {
  .mt-160 {
    margin-top: 160px !important;
  }
}

.mb-160 {
  margin-bottom: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .mb-160 {
    margin-bottom: 160px !important;
  }
}

.ml-160 {
  margin-left: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .ml-160 {
    margin-left: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-160 {
    margin-top: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-160 {
    margin-bottom: 160px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-160 {
    margin-top: 41.0256410256vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-160 {
    margin-bottom: 41.0256410256vw !important;
  }
}

.p-160 {
  padding: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .p-160 {
    padding: 160px !important;
  }
}

.pt-160 {
  padding-top: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .pt-160 {
    padding-top: 160px !important;
  }
}

.pb-160 {
  padding-bottom: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .pb-160 {
    padding-bottom: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-160 {
    padding-top: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-160 {
    padding-bottom: 160px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-160 {
    padding-top: 41.0256410256vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-160 {
    padding-bottom: 41.0256410256vw !important;
  }
}

.mt-1em {
  margin-top: 1em !important;
}

.mb-1em {
  margin-bottom: 1em !important;
}

@media (min-width: 768px) {
  .pc-mt-1em {
    margin-top: 1em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-1em {
    margin-bottom: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-1em {
    margin-top: 0.2564102564vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-1em {
    margin-bottom: 0.2564102564vw !important;
  }
}

.pt-1em {
  padding-top: 1em !important;
}

.pb-1em {
  padding-bottom: 1em !important;
}

@media (min-width: 768px) {
  .pc-pt-1em {
    padding-top: 1em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-1em {
    padding-bottom: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-1em {
    padding-top: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-1em {
    padding-bottom: 1em !important;
  }
}

.mt-2em {
  margin-top: 2em !important;
}

.mb-2em {
  margin-bottom: 2em !important;
}

@media (min-width: 768px) {
  .pc-mt-2em {
    margin-top: 2em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-2em {
    margin-bottom: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-2em {
    margin-top: 0.5128205128vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-2em {
    margin-bottom: 0.5128205128vw !important;
  }
}

.pt-2em {
  padding-top: 2em !important;
}

.pb-2em {
  padding-bottom: 2em !important;
}

@media (min-width: 768px) {
  .pc-pt-2em {
    padding-top: 2em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-2em {
    padding-bottom: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-2em {
    padding-top: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-2em {
    padding-bottom: 2em !important;
  }
}

.mt-3em {
  margin-top: 3em !important;
}

.mb-3em {
  margin-bottom: 3em !important;
}

@media (min-width: 768px) {
  .pc-mt-3em {
    margin-top: 3em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-3em {
    margin-bottom: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-3em {
    margin-top: 0.7692307692vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-3em {
    margin-bottom: 0.7692307692vw !important;
  }
}

.pt-3em {
  padding-top: 3em !important;
}

.pb-3em {
  padding-bottom: 3em !important;
}

@media (min-width: 768px) {
  .pc-pt-3em {
    padding-top: 3em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-3em {
    padding-bottom: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-3em {
    padding-top: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-3em {
    padding-bottom: 3em !important;
  }
}

.mt-4em {
  margin-top: 4em !important;
}

.mb-4em {
  margin-bottom: 4em !important;
}

@media (min-width: 768px) {
  .pc-mt-4em {
    margin-top: 4em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-4em {
    margin-bottom: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-4em {
    margin-top: 1.0256410256vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-4em {
    margin-bottom: 1.0256410256vw !important;
  }
}

.pt-4em {
  padding-top: 4em !important;
}

.pb-4em {
  padding-bottom: 4em !important;
}

@media (min-width: 768px) {
  .pc-pt-4em {
    padding-top: 4em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-4em {
    padding-bottom: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-4em {
    padding-top: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-4em {
    padding-bottom: 4em !important;
  }
}

.mt-5em {
  margin-top: 5em !important;
}

.mb-5em {
  margin-bottom: 5em !important;
}

@media (min-width: 768px) {
  .pc-mt-5em {
    margin-top: 5em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-5em {
    margin-bottom: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-5em {
    margin-top: 1.2820512821vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-5em {
    margin-bottom: 1.2820512821vw !important;
  }
}

.pt-5em {
  padding-top: 5em !important;
}

.pb-5em {
  padding-bottom: 5em !important;
}

@media (min-width: 768px) {
  .pc-pt-5em {
    padding-top: 5em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-5em {
    padding-bottom: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-5em {
    padding-top: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-5em {
    padding-bottom: 5em !important;
  }
}

.mt-6em {
  margin-top: 6em !important;
}

.mb-6em {
  margin-bottom: 6em !important;
}

@media (min-width: 768px) {
  .pc-mt-6em {
    margin-top: 6em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-6em {
    margin-bottom: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-6em {
    margin-top: 1.5384615385vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-6em {
    margin-bottom: 1.5384615385vw !important;
  }
}

.pt-6em {
  padding-top: 6em !important;
}

.pb-6em {
  padding-bottom: 6em !important;
}

@media (min-width: 768px) {
  .pc-pt-6em {
    padding-top: 6em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-6em {
    padding-bottom: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-6em {
    padding-top: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-6em {
    padding-bottom: 6em !important;
  }
}

.mt-7em {
  margin-top: 7em !important;
}

.mb-7em {
  margin-bottom: 7em !important;
}

@media (min-width: 768px) {
  .pc-mt-7em {
    margin-top: 7em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-7em {
    margin-bottom: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-7em {
    margin-top: 1.7948717949vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-7em {
    margin-bottom: 1.7948717949vw !important;
  }
}

.pt-7em {
  padding-top: 7em !important;
}

.pb-7em {
  padding-bottom: 7em !important;
}

@media (min-width: 768px) {
  .pc-pt-7em {
    padding-top: 7em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-7em {
    padding-bottom: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-7em {
    padding-top: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-7em {
    padding-bottom: 7em !important;
  }
}

.mt-8em {
  margin-top: 8em !important;
}

.mb-8em {
  margin-bottom: 8em !important;
}

@media (min-width: 768px) {
  .pc-mt-8em {
    margin-top: 8em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-8em {
    margin-bottom: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-8em {
    margin-top: 2.0512820513vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-8em {
    margin-bottom: 2.0512820513vw !important;
  }
}

.pt-8em {
  padding-top: 8em !important;
}

.pb-8em {
  padding-bottom: 8em !important;
}

@media (min-width: 768px) {
  .pc-pt-8em {
    padding-top: 8em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-8em {
    padding-bottom: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-8em {
    padding-top: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-8em {
    padding-bottom: 8em !important;
  }
}

.mt-9em {
  margin-top: 9em !important;
}

.mb-9em {
  margin-bottom: 9em !important;
}

@media (min-width: 768px) {
  .pc-mt-9em {
    margin-top: 9em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-9em {
    margin-bottom: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-9em {
    margin-top: 2.3076923077vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-9em {
    margin-bottom: 2.3076923077vw !important;
  }
}

.pt-9em {
  padding-top: 9em !important;
}

.pb-9em {
  padding-bottom: 9em !important;
}

@media (min-width: 768px) {
  .pc-pt-9em {
    padding-top: 9em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-9em {
    padding-bottom: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-9em {
    padding-top: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-9em {
    padding-bottom: 9em !important;
  }
}

.mt-10em {
  margin-top: 10em !important;
}

.mb-10em {
  margin-bottom: 10em !important;
}

@media (min-width: 768px) {
  .pc-mt-10em {
    margin-top: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-10em {
    margin-bottom: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-10em {
    margin-top: 2.5641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-10em {
    margin-bottom: 2.5641025641vw !important;
  }
}

.pt-10em {
  padding-top: 10em !important;
}

.pb-10em {
  padding-bottom: 10em !important;
}

@media (min-width: 768px) {
  .pc-pt-10em {
    padding-top: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-10em {
    padding-bottom: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-10em {
    padding-top: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-10em {
    padding-bottom: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-pl-2em {
    padding-left: 2em !important;
  }
}

.pr-0 {
  padding-right: 0 !important;
}

.spacer-s {
  margin-top: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .spacer-s {
    margin-top: 30px !important;
  }
}

.spacer {
  margin-top: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .spacer {
    margin-top: 60px !important;
  }
}

.spacer-l {
  padding-top: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .spacer-l {
    padding-top: 100px !important;
  }
}

/* Aspect
========================================================================== */
.aspect-auto {
  aspect-ratio: auto;
}

.aspect-video {
  aspect-ratio: 16/9;
}

.visually-hidden {
  position: fixed !important;
  /* keep it on viewport */
  top: 0px !important;
  left: 0px !important;
  /* give it non-zero size, VoiceOver on Safari requires at least 2 pixels
     before allowing buttons to be activated. */
  width: 4px !important;
  height: 4px !important;
  /* visually hide it with overflow and opacity */
  opacity: 0 !important;
  overflow: hidden !important;
  /* remove any margin or padding */
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* ensure no other style sets display to none */
  display: block !important;
  visibility: visible !important;
}

/* ClearFix
========================================================================== */
.clearfix::after {
  clear: both;
  content: "";
  display: block;
}

/* layout
========================================================================== */
.extend-x {
  margin: 0 -6%;
}

.u-fontweight_bold {
  font-weight: bold;
}

.u-ta_l {
  text-align: left;
}

@media (min-width: 768px) {
  .u-ta_l-pc {
    text-align: left;
  }
}

.u-fz_110p {
  font-size: 110%;
}

.u-fz_125p {
  font-size: 125%;
}

@keyframes purun {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    transform: scale(0.8, 1.1) translate(0%, -10%);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@keyframes slideDown {
  0% {
    display: block;
    height: 0;
    opacity: 0;
  }
  1% {
    display: block;
    height: 0;
    opacity: 0;
  }
  100% {
    display: block;
    height: 100vh;
    opacity: 1;
  }
}
@keyframes slideUp {
  0% {
    display: block;
    height: 100vh;
    opacity: 1;
  }
  99% {
    display: block;
    height: 0;
    opacity: 0;
  }
  100% {
    display: none;
    height: 0;
    opacity: 0;
  }
}
@keyframes headerShow {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes headerHide {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}