@charset "UTF-8";
/* =========================================================
foundation
========================================================= */
/* reset
--------------------------------------------------------- */
/*! http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a, a img, a:active img {
  outline: none;
}

/* base */
html {
  overflow-x: hidden;
  overflow-y: scroll;
}

html, body {
  margin: 0 auto;
}

body {
  line-height: 1.5;
  font-size: 14px;
  font-family: "メイリオ", sans-serif;
  word-break: break-word;
}

a {
  display: block;
  color: var(--text);
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

a:hover {
  color: #F07700;
  text-decoration: none;
}

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

ul {
  list-style: none;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 767.9px) {
  html, body {
    width: 100%;
    min-width: 320px;
  }
  body:has(.p-top-title) {
    position: relative;
  }
  img {
    width: 100%;
  }
}
:root {
  --sp-width: 375;
  --sp-ratio: calc(1 / var(--sp-width) * 100vw);
  --lts-base: 0.06em;
  --bg: #1a1a1a;
  --text: #fff;
  --accent: #f07700;
}

:root:has(.gray-theme) {
  --bg: #e9e9e9;
  --text: #1a1a1a;
}

html {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
      text-size-adjust: 100%;
  font-size: 62.5%;
  scroll-padding-top: var(--header-h);
  background: #1a1a1a;
  color: #fff;
}

body {
  overflow-x: clip;
  -ms-flex-line-pack: justify;
      align-content: space-between;
  width: 100%;
  font-family: "Libre Baskerville", "Noto Serif JP", "メイリオ", sans-serif, serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.06em;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  overflow-wrap: break-word;
  isolation: isolate;
}

.gray-theme {
  background: #e9e9e9;
  color: #1a1a1a;
}

@media screen and (min-width: 768px) {
  .c-mainvisual {
    height: 100vh;
    display: grid;
    place-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    padding-inline: 0;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767.9px) {
  .c-mainvisual {
    margin-top: calc(10 * var(--sp-ratio));
    padding-inline: calc(4 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-mv-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 100vh;
    margin-bottom: 16rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-mv-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-top: calc(64 * var(--sp-ratio));
  }
}

.c-left-content {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  z-index: 999;
}
@media screen and (max-width: 767.9px) {
  .c-left-content {
    margin-top: calc(8 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-right-content {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 70vw;
  }
}
@media screen and (max-width: 767.9px) {
  .c-right-content.--artmake img {
    width: calc(531 * var(--sp-ratio));
    top: calc(19 * var(--sp-ratio));
    left: calc(6 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-image-container {
    position: absolute;
    top: 8rem;
    left: 13rem;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-size: cover;
    background-position: center;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    z-index: -1;
  }
}
@media screen and (max-width: 767.9px) {
  .c-image-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.c-image-container::before {
  content: "";
  position: absolute;
  opacity: 0.25;
  margin: 0 calc(50% - 50vw);
  z-index: -9;
  background: url("../img/top/top_title_bg_back.png") no-repeat top left/contain;
  mix-blend-mode: color-dodge;
}
@media screen and (min-width: 768px) {
  .c-image-container::before {
    top: -6rem;
    left: -61rem;
    width: 122rem;
    height: 113.5rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-image-container::before {
    width: calc(317 * var(--sp-ratio));
    height: calc(228 * var(--sp-ratio));
    top: calc(340 * var(--sp-ratio));
    background: url("../img/top/top_title_bg_circle_back.png") no-repeat top left/contain;
    z-index: 9;
  }
}

@media screen and (min-width: 768px) {
  .c-image-container::after {
    content: "";
    background: url(../img/top/top_title_bg_circle.png) no-repeat center center/cover;
    position: absolute;
    top: 40%;
    left: -60rem;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 70rem;
    height: auto;
    aspect-ratio: 1/1;
    mix-blend-mode: soft-light;
    opacity: 0.25;
  }
}
@media screen and (max-width: 767.9px) {
  .c-image-container::after {
    content: "";
    background: url(../img/top/top_title_bg_circle.png) no-repeat center center/cover;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: auto;
    aspect-ratio: 1/1;
    mix-blend-mode: soft-light;
    width: 100%;
    bottom: calc(-360 * var(--sp-ratio));
    opacity: 0.25;
    z-index: 99;
  }
}

.c-image-container .label img,
.c-image-container .label source {
  position: relative;
  max-width: none;
}

@media screen and (max-width: 767.9px) {
  .c-image-container .label img.artmake {
    top: calc(14 * var(--sp-ratio));
    left: calc(7 * var(--sp-ratio));
    width: calc(540 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .--artmake .label img {
    right: calc(24rem - 12.6vw);
  }
}

@media screen and (min-width: 768px) {
  .c-image-container .label .oxygen img {
    top: 2rem;
    left: clamp(32%, 40vw, 58%);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (max-width: 767.9px) {
  .c-image-container .label .oxygen img {
    top: calc(14 * var(--sp-ratio));
    width: 100vw;
    display: block;
    margin-bottom: -2px;
  }
}

.c-mainvisual .c-mainvisual__title {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-mainvisual .c-mainvisual__title {
    margin-top: -4rem;
  }
}

.c-accent-bg {
  content: "";
  position: absolute;
  height: auto;
  aspect-ratio: 994/713;
  margin: 0 calc(50% - 50vw);
  z-index: -9;
  background: url("../img/common/common_accent_bg.png") no-repeat top left/contain;
  mix-blend-mode: color-dodge;
  opacity: 0.25;
  bottom: 20rem;
}
@media screen and (min-width: 768px) {
  .c-accent-bg {
    width: 99.4rem;
  }
}

.c-accent-bg.--right {
  content: "";
  position: absolute;
  z-index: -9;
  background: url("../img/common/common_accent_bg.png") no-repeat top right/contain;
  mix-blend-mode: color-dodge;
  width: 140rem;
  height: 100.5rem;
  top: -26.4rem;
  right: 18rem;
}

.c-accent-bg.--right.--strength {
  background: url("../img/common/common_accent_bg.png") no-repeat top right -20rem/contain;
}

.c-underbar-link {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .c-underbar-link {
    gap: 2.4rem;
    font-size: 1.8rem;
    padding-left: 0.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-underbar-link {
    font-size: calc(16 * var(--sp-ratio));
    gap: calc(16 * var(--sp-ratio));
    padding-left: calc(2 * var(--sp-ratio));
  }
}

.c-light-section .c-underbar-link {
  color: #1a1a1a;
}

.c-light-section .c-underbar-link:hover {
  color: var(--accent);
}

.c-underbar-link::before {
  position: absolute;
  content: "";
  bottom: -0.6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 0.1rem;
  background: currentColor;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c-underbar-link::after {
  content: "";
  display: inline-block;
  height: auto;
  aspect-ratio: 18/21;
  background: currentColor;
  -webkit-mask: url("../img/common/common_arrow.svg") no-repeat center/contain;
          mask: url("../img/common/common_arrow.svg") no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .c-underbar-link::after {
    width: 1.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-underbar-link::after {
    width: calc(11 * var(--sp-ratio));
  }
}

.c-underbar-link:hover::before {
  background: var(--accent);
}

.c-underbar-link:hover:after {
  background: var(--accent);
  -webkit-transform: translateX(0.3rem);
          transform: translateX(0.3rem);
}

.c-underbar-link.--news::after {
  background: var(--accent);
}

.c-underbar-link--reverse::before {
  position: static;
  content: "";
  display: inline-block;
  height: auto;
  aspect-ratio: 18/21;
  background: var(--accent);
  -webkit-mask: url("../img/common/common_arrow.svg") no-repeat center/contain;
          mask: url("../img/common/common_arrow.svg") no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
  .c-underbar-link--reverse::before {
    width: 1.4rem;
    margin-right: 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-underbar-link--reverse::before {
    margin-right: calc(19 * var(--sp-ratio));
    width: calc(11 * var(--sp-ratio));
  }
}

.c-underbar-link--reverse {
  font-family: "Noto Serif JP";
  color: #1a1a1a;
  position: relative;
}

.c-underbar-link--reverse:hover {
  color: var(--accent);
}

.c-underbar-link--reverse:hover::after {
  background: var(--accent);
}

.c-underbar-link--reverse:hover:before {
  background: var(--accent);
  -webkit-transform: translateX(-0.3rem) rotate(180deg);
          transform: translateX(-0.3rem) rotate(180deg);
}

.c-underbar-link--reverse::after {
  position: absolute;
  content: "";
  bottom: -0.6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 0.1rem;
  background: #1a1a1a;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c-floating-btn {
  position: fixed;
  z-index: 999;
  border-radius: 50%;
  visibility: visible;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .c-floating-btn {
    right: 6.4rem;
    bottom: 6.4rem;
    -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
            box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  }
}
@media screen and (max-width: 767.9px) {
  .c-floating-btn {
    width: calc(69 * var(--sp-ratio));
    right: calc(24 * var(--sp-ratio));
    bottom: calc(24 * var(--sp-ratio));
    -webkit-box-shadow: 0 0 calc(20 * var(--sp-ratio)) rgba(0, 0, 0, 0.16);
            box-shadow: 0 0 calc(20 * var(--sp-ratio)) rgba(0, 0, 0, 0.16);
  }
}

.c-floating-btn.hidden {
  visibility: hidden;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  -webkit-animation-name: fade-out;
          animation-name: fade-out;
}

@-webkit-keyframes fade-out {
  100% {
    visibility: hidden;
    opacity: 0;
  }
  50% {
    visibility: visible;
    opacity: 0.5;
  }
  0% {
    visibility: visible;
    opacity: 1;
  }
}

@keyframes fade-out {
  100% {
    visibility: hidden;
    opacity: 0;
  }
  50% {
    visibility: visible;
    opacity: 0.5;
  }
  0% {
    visibility: visible;
    opacity: 1;
  }
}
.c-breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .c-breadcrumbs {
    gap: 3.2rem;
    row-gap: 0.8rem;
    margin-bottom: 1.4rem;
    font-size: 1.4rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 767.9px) {
  .c-breadcrumbs {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: calc(8 * var(--sp-ratio));
    -webkit-column-gap: calc(24 * var(--sp-ratio));
       -moz-column-gap: calc(24 * var(--sp-ratio));
            column-gap: calc(24 * var(--sp-ratio));
    margin-bottom: calc(9 * var(--sp-ratio));
    font-size: calc(12 * var(--sp-ratio));
  }
}

.c-breadcrumbs__item {
  position: relative;
  font-weight: 400;
  font-family: "Noto Serif JP";
}

.c-subpage .c-breadcrumbs__item {
  color: #1a1a1a;
}
@media screen and (max-width: 767.9px) {
  .c-subpage .c-breadcrumbs__item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.c-breadcrumbs__item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.6rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.1rem;
  height: 0.8em;
  background: var(--text);
}
@media screen and (max-width: 767.9px) {
  .c-breadcrumbs__item::after {
    right: calc(-12 * var(--sp-ratio));
  }
}

.c-breadcrumbs__item:last-of-type::after {
  content: none;
}

.c-dli-plus {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: var(--accent);
  display: inline-block;
  line-height: 1;
  background: currentColor;
}
@media screen and (min-width: 768px) {
  .c-dli-plus {
    width: 0.5rem;
    height: 2.5rem;
    margin-inline: auto;
    margin-bottom: 5.7rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-dli-plus {
    width: calc(3.6 * var(--sp-ratio));
    height: calc(18 * var(--sp-ratio));
    margin-top: calc(21 * var(--sp-ratio));
    margin-bottom: calc(12 * var(--sp-ratio));
  }
}

.c-dli-plus::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.c-dli-plus.--price {
  color: #1a1a1a;
}
@media screen and (min-width: 768px) {
  .c-dli-plus.--price {
    margin-block: 1.2rem;
    margin-inline: 0;
  }
}

.c-section {
  padding-block: 12rem;
  padding-inline: 2rem;
}
@media screen and (max-width: 767.9px) {
  .c-section {
    padding-block: calc(68 * var(--sp-ratio));
    padding-inline: calc(24 * var(--sp-ratio));
  }
}
@media screen and (max-width: 767.9px) {
  .c-section.--pt2x {
    padding-top: calc(136 * var(--sp-ratio));
  }
}
@media screen and (max-width: 767.9px) {
  .c-section.--pb2x {
    padding-bottom: calc(136 * var(--sp-ratio));
  }
}

@media screen and (min-width: 1024px) {
  .c-section.l-top {
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.c-lead-concept) {
    padding: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .c-section:has(.c-lead-concept) {
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.p-oxygen_capsule-feature-list) {
    padding-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.p-oxygen_capsule-voice-list) {
    padding-bottom: 24rem;
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.p-oxygen_capsule-forfirst-lead) {
    padding-top: 24rem;
  }
}

.gs-bg-gray {
  color: #1a1a1a;
  background-color: #e9e9e9;
}

.gs-bg-dark {
  color: var(--text);
  background-color: var(--bg);
}

.c-section-inner {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-section-inner {
    max-width: 128rem;
    margin-inline: auto;
  }
}

.c-section-inner:has(.c-mv-container) {
  max-width: 132rem;
  padding-inline: 2rem;
}

.c-section:has(.c-price-wrapper) {
  border-block: 0.1rem solid #1a1a1a;
}
@media screen and (min-width: 768px) {
  .c-section:has(.c-price-wrapper) {
    margin-top: 12rem;
    margin-bottom: 12rem;
    padding-top: 12.2rem;
    padding-bottom: 11.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-section:has(.c-price-wrapper) {
    width: 100%;
    padding-top: calc(64 * var(--sp-ratio));
    padding-bottom: calc(60 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.c-accordion-list) {
    padding-bottom: 13rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-section:has(.c-accordion-list) {
    padding-top: calc(136 * var(--sp-ratio));
    padding-bottom: calc(42 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.c-feature-list) {
    padding-top: 10.6rem;
    padding-bottom: 24.5rem;
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.c-profile) {
    padding-bottom: 24rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-section:has(.c-profile) {
    padding-bottom: calc(140 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.c-step-list) {
    padding-top: 24rem;
    padding-bottom: 5.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-section:has(.c-step-list) {
    padding-top: calc(140 * var(--sp-ratio));
    padding-bottom: calc(134 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.c-reserve-codes) {
    overflow: hidden;
    height: 100rem;
    padding-top: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .c-section:has(.c-reserve-codes) {
    padding-top: calc(136 * var(--sp-ratio));
    padding-bottom: calc(136 * var(--sp-ratio));
  }
}

.c-heading-1 {
  display: inline-block;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .c-heading-1 {
    font-size: 6.4rem;
    margin-bottom: 0.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-heading-1 {
    font-size: calc(40 * var(--sp-ratio));
    margin-bottom: calc(4 * var(--sp-ratio));
  }
}
@media screen and (max-width: 767.9px) {
  .c-heading-1.--small {
    font-size: calc(38 * var(--sp-ratio));
    letter-spacing: -0.01em;
  }
}

.c-heading-2 {
  letter-spacing: 0.06em;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .c-heading-2 {
    font-size: 5.2rem;
    margin-top: -0.8rem;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767.9px) {
  .c-heading-2 {
    font-size: calc(32 * var(--sp-ratio));
    margin-top: calc(-0.8 * var(--sp-ratio));
  }
}

.c-heading-small {
  color: var(--accent);
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-heading-small {
    font-size: 2.4rem;
    margin-top: -0.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-heading-small {
    font-size: calc(16 * var(--sp-ratio));
  }
}

.c-heading-group {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
}
@media screen and (min-width: 768px) {
  .c-heading-group {
    gap: 0.3rem;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-heading-group {
    margin-bottom: calc(31 * var(--sp-ratio));
    gap: calc(2 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .c-heading-group:has(.c-heading-1) {
    margin-bottom: calc(64 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-heading-group:has(.c-heading-reserve) {
    margin-top: -7.8rem;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .c-heading-group:has(.c-heading-reserve) {
    grid-template-rows: auto auto calc(78 * var(--sp-ratio));
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    font-size: calc(14 * var(--sp-ratio));
    margin-bottom: calc(40 * var(--sp-ratio));
  }
}

.c-heading-reserve {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-heading-reserve {
    margin-top: 4.2rem;
  }
}
@media screen and (min-width: 768px) {
  .c-heading-group:has(.c-heading-2) .c-heading-small {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-heading-group:has(.c-heading-2) .c-heading-small {
    font-size: calc(16 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-heading-group.c-heading-group--subpage {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-heading-group.c-heading-group--subpage {
    margin-bottom: calc(64 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-section:has(.c-step-list) .c-heading-group {
    margin-bottom: 6.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-section:has(.c-step-list) .c-heading-group {
    margin-bottom: calc(44 * var(--sp-ratio));
  }
}

.c-heading-lead {
  margin-bottom: 9.6rem;
}
@media screen and (min-width: 768px) {
  .c-lead-concept {
    min-height: 84vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 58rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-lead-concept {
    margin-bottom: calc(66 * var(--sp-ratio));
  }
}

.c-lead-concept__text {
  display: grid;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-lead-concept__text {
    font-size: 1.8rem;
    gap: 2.8em;
    line-height: 2.7777777778;
  }
}
@media screen and (max-width: 767.9px) {
  .c-lead-concept__text {
    margin-top: calc(203 * var(--sp-ratio));
    font-size: calc(15 * var(--sp-ratio));
    gap: calc(37 * var(--sp-ratio));
    line-height: 2.5;
    margin-inline: calc(5 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-profile {
    display: grid;
  }
}

@media screen and (min-width: 768px) {
  .c-profile-wrapper:not(:has(.c-profile__image)) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.c-profile-wrapper:not(:has(.c-profile__image)) .c-profile__summary {
  max-width: 68rem;
}
@media screen and (min-width: 768px) {
  .c-profile__image {
    min-width: 4.8rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .c-profile__image {
    width: calc(211 * var(--sp-ratio));
    margin-inline: auto;
    margin-bottom: calc(40 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-profile__name {
    font-size: 3.2rem;
    margin-bottom: 3.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-profile__name {
    font-size: calc(24 * var(--sp-ratio));
    margin-bottom: calc(32 * var(--sp-ratio));
  }
}

.c-profile__text {
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .c-profile__text {
    margin-bottom: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-profile__text {
    margin-bottom: calc(18 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-profile__text:last-of-type {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-profile__text:last-of-type {
    margin-bottom: calc(36 * var(--sp-ratio));
  }
}

.c-feature-list {
  display: grid;
  counter-reset: strength;
  gap: 0;
}
@media screen and (min-width: 768px) {
  .c-feature-list {
    border-block: 0.2rem solid #fff;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767.9px) {
  .c-feature-list {
    border-block: calc(1 * var(--sp-ratio)) solid #fff;
  }
}

.c-feature-list__item {
  position: relative;
  display: grid;
  text-align: center;
  place-content: center;
}
@media screen and (min-width: 768px) {
  .c-feature-list__item {
    font-size: clamp(1.2rem, 1.40625vw, 2.2rem);
    padding-top: 1.4rem;
    padding-inline: 1rem;
    margin-block: 0.8rem;
    min-height: 30rem;
    border-right: 0.1rem solid #fff;
    border-block: 0.1rem solid #fff;
  }
}
@media screen and (max-width: 767.9px) {
  .c-feature-list__item {
    padding-top: calc(29 * var(--sp-ratio));
    padding-bottom: calc(29 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
    min-height: calc(16 * var(--sp-ratio));
    border-top: 0.1rem solid #fff;
    border-bottom: none;
    border-inline: none;
  }
}

@media screen and (min-width: 768px) {
  .c-feature-list__item:nth-of-type(1) {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-feature-list__item:nth-of-type(1) {
    border-top: calc(2 * var(--sp-ratio)) solid #fff;
    margin-top: calc(6 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-feature-list__item:nth-of-type(1) span {
    margin-top: -0.8rem;
  }
}

@media screen and (min-width: 768px) {
  .c-feature-list__item:nth-of-type(2) {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-feature-list__item:nth-of-type(2) {
    padding-top: calc(35 * var(--sp-ratio));
    padding-bottom: calc(25 * var(--sp-ratio));
    gap: calc(5 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-feature-list__item:nth-of-type(3) {
    padding-top: 3.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-feature-list__item:nth-of-type(3) {
    margin-bottom: calc(6 * var(--sp-ratio));
    border-bottom: calc(2 * var(--sp-ratio)) solid #fff;
    padding-top: calc(36 * var(--sp-ratio));
    padding-bottom: calc(26 * var(--sp-ratio));
    gap: calc(9 * var(--sp-ratio));
  }
}

.c-feature-list__item:before {
  position: absolute;
  display: inline-block;
  counter-increment: strength;
  content: counter(strength, decimal-leading-zero);
  font-weight: 700;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .c-feature-list__item:before {
    top: 1.7rem;
    left: 1.9rem;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-feature-list__item:before {
    top: calc(10 * var(--sp-ratio));
    left: 0;
    font-size: calc(20 * var(--sp-ratio));
  }
}

.c-feature-list__big {
  font-size: 1.5454545455em;
}
@media screen and (max-width: 767.9px) {
  .c-feature-list__big {
    font-size: calc(28 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .c-feature-list__big.--last {
    font-size: calc(22 * var(--sp-ratio));
  }
}

.c-feature-list__big.--number {
  font-family: "Noto Serif JP";
  font-size: 1.9090909091em;
}
@media screen and (max-width: 767.9px) {
  .c-feature-list__big.--number {
    font-size: calc(36 * var(--sp-ratio));
  }
}

.c-feature-list__item:last-of-type {
  border-right: none;
}

.c-feature-list__text {
  display: grid;
  line-height: 1.8;
}

.c-step-list {
  display: grid;
  counter-reset: step;
}
@media screen and (min-width: 768px) {
  .c-step-list {
    -webkit-column-gap: 5%;
       -moz-column-gap: 5%;
            column-gap: 5%;
    grid-template-columns: repeat(6, 1fr);
    padding-bottom: 6.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-step-list {
    gap: calc(56 * var(--sp-ratio));
  }
}

.c-step-list__card {
  position: relative;
  background: #f1f1f1;
  color: #1a1a1a;
}
@media screen and (min-width: 768px) {
  .c-step-list__card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    grid-column: span 3;
    margin-bottom: 8.5rem;
    max-width: 384px;
    padding: 4rem 2.4rem 3.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-step-list__card {
    padding: calc(22 * var(--sp-ratio)) calc(16 * var(--sp-ratio)) calc(21 * var(--sp-ratio));
  }
}

.c-step-list__card:before {
  position: absolute;
  display: inline-block;
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  font-weight: 700;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .c-step-list__card:before {
    top: -0.8em;
    left: 0;
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-step-list__card:before {
    top: calc(-16 * var(--sp-ratio));
    left: 0;
    font-size: calc(20 * var(--sp-ratio));
  }
}

.c-step-list__card:not(:first-child):after {
  position: absolute;
  background: url("../img/common/common_arrow.svg") no-repeat center center/cover;
  content: "";
}
@media screen and (min-width: 768px) {
  .c-step-list__card:not(:first-child):after {
    top: 46%;
    left: calc(-5% - 2.2rem);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: inline-block;
    width: 1.8rem;
    height: auto;
    aspect-ratio: 18/21;
  }
}
@media screen and (max-width: 767.9px) {
  .c-step-list__card:not(:first-child):after {
    position: absolute;
    top: calc(-38 * var(--sp-ratio));
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(90deg);
            transform: translateX(-50%) rotate(90deg);
    width: calc(16 * var(--sp-ratio));
    height: auto;
    aspect-ratio: 18/21;
  }
}

@media screen and (min-width: 768px) {
  .c-step-list__card:nth-child(-n+3) {
    grid-column: span 2;
  }
}

.c-step-list__card:nth-child(4) {
  justify-self: self-end;
}

.c-step-list__card:nth-child(n+4) {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .c-step-list__card:nth-child(n+4):after {
    left: calc(-5.5% - 2rem);
  }
}

.c-step-list__head {
  width: 100%;
}
@media screen and (max-width: 767.9px) {
  .c-step-list__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: calc(19 * var(--sp-ratio));
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: calc(16 * var(--sp-ratio));
  }
}

.c-step-list__title {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-step-list__title {
    font-size: 2.2rem;
    margin-bottom: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-step-list__title {
    margin-top: calc(7 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-step-list__thumbnail {
    width: 100%;
    margin-bottom: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-step-list__thumbnail {
    width: calc(212 * var(--sp-ratio));
  }
}

.c-step-list__text {
  line-height: 1.75;
}

.c-oxygen-recommend {
  position: relative;
  border-block: 0.2rem solid #1a1a1a;
  background-color: #f1f1f1;
  color: #1a1a1a;
}
@media screen and (min-width: 768px) {
  .c-oxygen-recommend {
    padding: 4.5rem 7.2rem 5.3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-oxygen-recommend {
    padding: calc(40 * var(--sp-ratio)) calc(16 * var(--sp-ratio)) calc(44 * var(--sp-ratio));
  }
}

.c-oxygen-recommend::before {
  top: -0.8rem;
}

.c-oxygen-recommend::after {
  bottom: -0.8rem;
}

@media screen and (981px <= width) {
  .c-oxygen-recommend__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 5rem;
  }
}
@media screen and (width <= 980px) {
  .c-oxygen-recommend__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 3.6rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 767.9px) {
  .c-oxygen-recommend__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.c-oxygen-recommend__left {
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media screen and (min-width: 768px) {
  .c-oxygen-recommend__left {
    gap: 4.8rem;
    margin-bottom: -0.8rem;
    max-width: 56rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-oxygen-recommend__left {
    gap: calc(36 * var(--sp-ratio));
    margin-bottom: calc(42 * var(--sp-ratio));
  }
}

.c-oxygen-recommend__summary {
  display: grid;
  -ms-flex-line-pack: justify;
      align-content: space-between;
}
@media screen and (min-width: 768px) {
  .c-oxygen-recommend__summary {
    gap: 1.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-oxygen-recommend__summary {
    gap: calc(13 * var(--sp-ratio));
  }
}

.c-oxygen-recommend__head {
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .c-oxygen-recommend__head {
    word-break: auto-phrase;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-oxygen-recommend__head {
    font-size: calc(17 * var(--sp-ratio));
  }
}

.c-oxygen-recommend__accent {
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .c-oxygen-recommend__accent {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-oxygen-recommend__accent {
    word-break: auto-phrase;
    font-size: calc(24 * var(--sp-ratio));
  }
}

.c-oxygen-recommend__text {
  letter-spacing: 0.06em;
  line-height: 1.75;
  z-index: 9;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-oxygen-recommend__text {
    width: 92%;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-oxygen-recommend__text {
    font-size: calc(14 * var(--sp-ratio));
  }
}

.c-oxygen-recommend__image {
  position: relative;
  max-width: 53.2rem;
}
@media screen and (min-width: 768px) {
  .c-oxygen-recommend__image {
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.c-oxygen-recommend__image::before {
  position: absolute;
  content: "";
  aspect-ratio: 144/129;
  background: url("../img/common/common_reccomend_oxygen_capsule_label.png") no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .c-oxygen-recommend__image::before {
    width: 14.4rem;
    height: auto;
    bottom: -0.8rem;
    left: -7.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-oxygen-recommend__image::before {
    width: calc(102 * var(--sp-ratio));
    height: auto;
    bottom: -0.8rem;
    right: 0;
  }
}

.c-oxygen-recommend__link {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #1a1a1a;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 2.4rem;
}

.c-oxygen-recommend__link::before {
  position: absolute;
  content: "";
  bottom: -0.8rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 0.1rem;
  background: #1a1a1a;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c-oxygen-recommend__link::after {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: auto;
  aspect-ratio: 18/21;
  background: #1a1a1a;
  -webkit-mask: url("../img/common/common_arrow.svg") no-repeat center/contain;
          mask: url("../img/common/common_arrow.svg") no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c-oxygen-recommend__link:hover::before {
  background: var(--accent);
}

.c-oxygen-recommend__link:hover:after {
  background: var(--accent);
  -webkit-transform: translateX(0.3rem);
          transform: translateX(0.3rem);
}

.c-price-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-block: 0.2rem;
}

@media screen and (min-width: 768px) {
  .c-price-wrapper-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 4rem;
    border-radius: 2rem;
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price-wrapper-inner {
    width: 100%;
  }
}

.c-price-list-wrapper {
  display: grid;
}
@media screen and (min-width: 768px) {
  .c-price-list-wrapper {
    margin-top: -0.6rem;
    margin-left: auto;
    width: 86rem;
  }
}

.c-price-list {
  display: grid;
}

.c-price-list__notion {
  text-align: right;
}
@media screen and (min-width: 768px) {
  .c-price-list__notion {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price-list__notion {
    font-size: calc(14 * var(--sp-ratio));
    margin-top: calc(2 * var(--sp-ratio));
    margin-right: calc(12 * var(--sp-ratio));
  }
}

.c-price-list__item {
  font-family: "Noto Serif JP";
  letter-spacing: 0.06em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-price-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #1a1a1a;
    padding: 1.6rem 4.8rem 1.3rem;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price-list__item {
    display: grid;
    padding: calc(23 * var(--sp-ratio)) calc(16 * var(--sp-ratio)) calc(32 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  .c-price-list__item.--price {
    display: none;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price-list__item.--price {
    padding: 0.6rem 0 0 0;
    text-align: right;
    font-size: calc(14 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-price-list__item:has(.c-price-head--small) {
    padding: 3rem 4.8rem 2.4rem;
  }
}

.c-price-list__item:nth-of-type(odd) {
  background: #f5f5f5;
}

.c-price-list__item:nth-of-type(even) {
  background: #e9e9e9;
}

.c-price-list__item.--plus {
  background: transparent;
}
@media screen and (min-width: 768px) {
  .c-price-list__item.--plus {
    font-size: 1.8rem;
    border: 0.1rem solid #1a1a1a;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 0.2rem 4.8rem 1.3rem;
    gap: 0.5rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price-list__item.--plus {
    grid-template-columns: repeat(2, auto);
    gap: 0.3em;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-block: calc(8 * var(--sp-ratio)) calc(10 * var(--sp-ratio));
    border: 1px solid #000;
  }
}

@media screen and (min-width: 768px) {
  .c-price-list__item.--plus .c-price__amount {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price-list__item.--plus .c-price__amount {
    margin-top: 0;
    font-size: calc(28 * var(--sp-ratio));
  }
}
.c-price-list__item.--plus .c-price__amount .c-price__mark {
  font-family: "Noto Serif JP";
}
@media screen and (max-width: 767.9px) {
  .c-price-list__item.--plus .c-price__amount .c-price__mark {
    margin-right: calc(2 * var(--sp-ratio));
    font-size: calc(20 * var(--sp-ratio));
  }
}

.c-price-head--small {
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-price-head--small {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price-head--small {
    display: inline-block;
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.8;
  }
}

.c-news-list__time {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noto Serif JP";
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
  color: #1a1a1a;
}
@media screen and (min-width: 768px) {
  .c-news-list__time {
    top: -0.4rem;
    left: 0.8rem;
    font-size: 3.2rem;
    gap: 0.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-news-list__time {
    top: calc(5 * var(--sp-ratio));
    left: calc(3 * var(--sp-ratio));
    gap: calc(4 * var(--sp-ratio));
    font-size: calc(28 * var(--sp-ratio));
  }
}

.c-news-list__year {
  color: #888;
}
@media screen and (min-width: 768px) {
  .c-news-list__year {
    margin-top: 0.6rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-news-list__year {
    margin-top: calc(4 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
  }
}

.c-news-pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  font-family: "Noto Serif JP";
}
@media screen and (max-width: 767.9px) {
  .c-news-pagination .nav-links {
    width: 100%;
  }
}

.c-news-pagination .page-numbers {
  color: #1a1a1a;
  font-size: 1.4rem;
  text-align: center;
  text-decoration: none;
  line-height: 1.2rem;
  position: relative;
  display: inline-block;
  border: 0.1rem solid #cbcbcb;
  padding: 1rem;
}

.c-news-pagination .page-numbers.current {
  color: #fff;
  background-color: #1a1a1a;
}

.c-news-pagination .dots {
  border: none;
  margin: 0 3px;
}

.c-news-pagination .page-numbers.prev,
.c-news-pagination .page-numbers.next {
  position: relative;
  border: none;
}

.c-news-pagination .next,
.c-news-pagination .prev {
  position: relative;
}

.c-news-pagination .page-numbers.prev::after,
.c-news-pagination .page-numbers.next::after {
  content: "";
  display: inline-block;
  width: 1.4rem;
  height: auto;
  aspect-ratio: 18/21;
  background: url(../img/common/common_arrow.svg) no-repeat center center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c-news-pagination .prev::after {
  -webkit-transform: translateX(0) rotate(180deg);
          transform: translateX(0) rotate(180deg);
}

.c-news-pagination .page-numbers:hover {
  color: #fff;
  background-color: #333;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c-news-pagination .prev:hover,
.c-news-pagination .next:hover {
  background-color: transparent;
}

.c-news-pagination .page-numbers.prev:hover::after {
  -webkit-transform: translateX(-0.3rem) rotate(180deg);
          transform: translateX(-0.3rem) rotate(180deg);
}

.c-news-pagination .page-numbers.next:hover::after {
  -webkit-transform: translateX(0.3rem);
          transform: translateX(0.3rem);
}

.c-price__amount {
  display: grid;
  font-family: "Noto Serif JP";
  font-weight: 600;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .c-price__amount {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    justify-items: end;
    font-size: 4rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price__amount {
    letter-spacing: 0;
    gap: calc(14 * var(--sp-ratio));
    margin-top: calc(11 * var(--sp-ratio));
    text-align: right;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    font-size: calc(32 * var(--sp-ratio));
    line-height: 1;
  }
}

.c-price__amount--small {
  width: 100%;
  font-size: 1.6rem;
}

.c-price__mark {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .c-price__mark {
    font-size: 0.8em;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price__mark {
    font-size: 1em;
    margin-right: calc(6 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-price__mark--number {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-price__mark--number {
    font-size: calc(14 * var(--sp-ratio));
  }
}

.c-price__before {
  font-size: 2.4rem;
}

.c-price__card {
  display: grid;
  place-items: center;
  background: #ececec;
  color: #1a1a1a;
  padding: 4rem;
}

@media screen and (min-width: 768px) {
  .c-accordion-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.c-accordion-list {
  counter-reset: accordion;
  width: -webkit-fill-available;
}
@media screen and (min-width: 768px) {
  .c-accordion-list {
    width: 86rem;
    margin-left: auto;
  }
}

.c-accordion-details {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .c-accordion-details {
    margin: 0 auto 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .c-accordion-details {
    margin-bottom: calc(5 * var(--sp-ratio));
  }
}

.c-accordion-details:last-of-type {
  margin-bottom: 0;
}

.c-accordion-details:hover .c-accordion-details__summary {
  color: var(--accent);
}

.c-accordion-details__summary {
  font-family: "Noto Serif JP";
  position: relative;
  cursor: pointer;
  border-bottom: 0.1rem solid #828282;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .c-accordion-details__summary {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5rem;
    letter-spacing: 0.06em;
    font-size: 2.2rem;
    width: 100%;
    margin: 0;
    padding: 0rem 2rem 2rem 0.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-accordion-details__summary {
    display: grid;
    font-size: calc(17 * var(--sp-ratio));
    gap: calc(8 * var(--sp-ratio));
    padding-top: calc(1 * var(--sp-ratio));
    padding-left: calc(4 * var(--sp-ratio));
    padding-right: calc(50 * var(--sp-ratio));
    padding-bottom: calc(16 * var(--sp-ratio));
    line-height: 1.6470588235;
  }
}
.c-accordion-details__summary::-webkit-details-marker {
  display: none;
}
.c-accordion-details__summary::before {
  counter-increment: accordion;
  content: "(" counter(accordion, decimal-leading-zero) ")";
  color: var(--accent);
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .c-accordion-details__summary::before {
    font-size: 1.6rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .c-accordion-details__summary::before {
    font-size: calc(13 * var(--sp-ratio));
  }
}
.c-accordion-details__summary::after {
  display: block;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  background: url("../img/common/common_arrow.svg") no-repeat center center/cover;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  .c-accordion-details__summary::after {
    top: 0.2rem;
    right: 1.2rem;
    width: 1.4rem;
    height: auto;
    aspect-ratio: 18/21;
    -webkit-transform-origin: 0.9rem 1rem;
            transform-origin: 0.9rem 1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-accordion-details__summary::after {
    top: 29%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: calc(6 * var(--sp-ratio));
    width: calc(11 * var(--sp-ratio));
    height: auto;
    aspect-ratio: 18/21;
  }
}
.is-open .c-accordion-details__summary::after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.c-accordion-details__content {
  overflow: hidden;
  margin: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 1.75;
}

.c-accordion-details__text {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-accordion-details__text {
    padding: 2.1rem 1.2rem 2.7rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-accordion-details__text {
    font-size: calc(14 * var(--sp-ratio));
    padding: calc(19 * var(--sp-ratio)) calc(4 * var(--sp-ratio)) calc(20 * var(--sp-ratio));
  }
}

.c-accordion-details:last-of-type .c-accordion-details__content {
  padding-bottom: 0;
}

.is-open .c-accordion-details__content {
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .c-news-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.c-news-wrapper.--news {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.9px) {
  .c-news-wrapper.--news {
    margin-bottom: calc(40 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-news-list-right {
    max-width: 86rem;
    width: 67.1875%;
  }
}

.c-news-list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .c-news-list {
    gap: 3.4rem;
    margin-top: -0.6rem;
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-news-list {
    gap: calc(16 * var(--sp-ratio));
    padding-bottom: 0.6rem;
  }
}

@media screen and (min-width: 768px) {
  .c-news-list.--news {
    max-width: 86rem;
    width: 100%;
    margin-bottom: 4.8rem;
  }
}

.c-news-list__item {
  position: relative;
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .c-news-list__item {
    gap: 1rem;
    padding-right: 2.4rem;
    padding-bottom: 2.4rem;
    border-bottom: 0.1rem solid #cbcbcb;
  }
}
@media screen and (max-width: 767.9px) {
  .c-news-list__item {
    gap: calc(18 * var(--sp-ratio));
    padding-bottom: calc(16 * var(--sp-ratio));
    border-bottom: calc(1 * var(--sp-ratio)) solid #cbcbcb;
  }
}

@media screen and (max-width: 767.9px) {
  .c-news-list li:last-of-type:not(:nth-of-type(1)) {
    margin-top: 1.4rem;
  }
}

.c-news-list__item::after {
  position: absolute;
  display: inline-block;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: auto;
  aspect-ratio: 18/21;
  background: url("../img/common/common_arrow.svg") no-repeat center center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .c-news-list__item::after {
    top: 2.8rem;
    right: 1rem;
    width: 1.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-news-list__item::after {
    position: absolute;
    top: calc(64 * var(--sp-ratio));
    right: calc(4 * var(--sp-ratio));
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: calc(11 * var(--sp-ratio));
  }
}

.c-news-list__item.--nolink::after {
  content: none;
}

.c-news-list__time {
  -webkit-transition: none;
  transition: none;
}

.c-news-list__item:hover {
  color: var(--accent);
}

@media screen and (min-width: 768px) {
  .c-news-list__item:hover::after {
    right: 0.5rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-news-list__item:hover::after {
    right: calc(0 * var(--sp-ratio));
  }
}

.c-news-list__item.--nolink:hover {
  color: currentColor;
}

.c-news-list__item {
  color: #1a1a1a;
}

.c-news-list__text {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-news-list__text {
    padding-inline: 1rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-news-list__text {
    padding-left: calc(5 * var(--sp-ratio));
    padding-right: calc(44 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.7;
  }
}

.c-news-link {
  display: inline-block;
  margin-left: auto;
}

.c-reserve-section-wrapper {
  background-color: #e9e9e9;
  color: #1a1a1a;
}

#reserveSection {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-color: #e9e9e9;
  color: #1a1a1a;
  opacity: 0;
}
@media screen and (max-width: 767.9px) {
  #reserveSection {
    padding-top: calc(136 * var(--sp-ratio));
    padding-bottom: calc(132 * var(--sp-ratio));
  }
}

#reserveSection .c-section-inner {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-reserve-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (1161px <= width) {
  .c-reserve-wrapper {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100vh;
  }
}
@media screen and (768px <= width <= 1160px) {
  .c-reserve-wrapper {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100vh;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 8rem;
  }
  .c-reserve-wrapper .c-reserve-right {
    margin-inline: auto;
  }
}

.c-reserve-wrapper::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("../img/common/common_reservation_bg.png") no-repeat center center/cover;
  mix-blend-mode: color-dodge;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .c-reserve-wrapper::before {
    width: 120.3rem;
    height: 86.3rem;
    top: 51.9%;
    right: -15rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-wrapper::before {
    position: absolute;
    top: calc(-24 * var(--sp-ratio));
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: calc(353 * var(--sp-ratio));
    height: calc(300 * var(--sp-ratio));
  }
}

#reserveSection.active {
  opacity: 1;
  background-color: #1a1a1a;
  color: #fff;
}

.c-reserve-right {
  position: relative;
  z-index: 9;
}
@media screen and (min-width: 768px) {
  .c-reserve-right {
    min-width: 37.1rem;
    max-width: 37.1rem;
    margin-bottom: 9rem;
  }
}

.c-reserve-right::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: url("../img/common/common_reservation_bg_circle.png") no-repeat center center/cover;
  mix-blend-mode: soft-light;
  height: auto;
  aspect-ratio: 1/1;
  z-index: -1;
  opacity: 0.25;
}
@media screen and (min-width: 768px) {
  .c-reserve-right::after {
    width: 100rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-right::after {
    position: absolute;
    top: calc(-224 * var(--sp-ratio));
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: calc(353 * var(--sp-ratio));
    height: calc(300 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-reserve-codes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .c-reserve-codes:has(.--line) {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .c-reserve-right.--oxygen .c-reserve-codes {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.c-reserve-codes__item {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 12.2rem;
  height: auto;
}

.c-reserve-codes__item.--instagram {
  width: auto;
  height: 12.2rem;
}

.c-reserve-codes__item img {
  width: auto;
  height: 12.2rem;
}

@media screen and (min-width: 768px) {
  .c-reserve-codes__item-wrapper {
    display: grid;
    justify-items: center;
    gap: 0.8rem;
  }
}

@media screen and (max-width: 767.9px) {
  .c-reserve-buttons {
    display: grid;
    gap: calc(24 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-reserve-button__logo {
    display: grid;
    place-content: center;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-button__logo {
    width: calc(20 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-reserve-buttons.--news {
    display: grid;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.8rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-buttons.--news {
    gap: calc(8 * var(--sp-ratio));
    margin-top: calc(40 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-reserve-buttons.--news:has(.--instagram) {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.c-reserve-buttons__instagram-text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .c-reserve-buttons__instagram-text {
    gap: 0.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-buttons__instagram-text {
    gap: calc(4 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
  }
}

.c-reserve-buttons__instagram-text::before,
.c-reserve-buttons__instagram-text::after {
  position: relative;
  content: "";
  background: url("../img/common/common_instagram_deco.svg") no-repeat center center/cover;
  aspect-ratio: 13.65/20.27;
  height: auto;
}
@media screen and (min-width: 768px) {
  .c-reserve-buttons__instagram-text::before,
  .c-reserve-buttons__instagram-text::after {
    width: 1.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-buttons__instagram-text::before,
  .c-reserve-buttons__instagram-text::after {
    width: calc(13.65 * var(--sp-ratio));
  }
}

.c-reserve-buttons__instagram-text::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.c-reserve-button {
  position: relative;
  background: #fff;
  color: #1a1a1a;
  font-family: "Noto Serif JP";
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-reserve-button {
    padding: 1.9rem 8.3rem 2rem 2.6rem;
    max-width: 37.1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-button {
    width: 100%;
    font-size: calc(14 * var(--sp-ratio));
    padding-block: calc(16 * var(--sp-ratio));
  }
}

.c-reserve-button.--instagram {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .c-reserve-button.--instagram {
    gap: 0.8rem;
    padding: 1.9rem 8rem 1.9rem 8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-button.--instagram {
    gap: calc(8 * var(--sp-ratio));
  }
}

.c-reserve-button.--header {
  position: relative;
  z-index: 9999;
  background: var(--text);
  color: var(--bg);
  font-family: "Noto Serif JP";
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-reserve-button.--header {
    margin-left: 4rem;
    padding: 1.2rem 2.4rem;
    width: 20rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-button.--header {
    width: calc(104 * var(--sp-ratio));
    font-size: calc(11 * var(--sp-ratio));
    padding-block: calc(5 * var(--sp-ratio));
    margin-left: calc(46 * var(--sp-ratio));
  }
}
body:has(.l-header__nav.is-open) .c-reserve-button.--header {
  --bg: #1a1a1a;
  --text: #fff;
}

@media screen and (min-width: 768px) {
  .c-reserve-button.--header::after {
    right: 1.6rem;
    width: 1.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-button.--header::after {
    width: calc(7 * var(--sp-ratio));
    right: calc(8 * var(--sp-ratio));
  }
}

.c-reserve-button::after {
  position: absolute;
  top: 50%;
  right: 2.4rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: auto;
  aspect-ratio: 18/21;
  background: var(--accent);
  -webkit-mask: url("../img/common/common_arrow.svg") no-repeat center/contain;
          mask: url("../img/common/common_arrow.svg") no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  pointer-events: none;
}
@media screen and (max-width: 767.9px) {
  .c-reserve-button::after {
    right: 1.4rem;
    width: 1.2rem;
  }
}

.c-reserve-button:hover::after {
  -webkit-transform: translateY(-50%) translateX(0.4em);
          transform: translateY(-50%) translateX(0.4em);
}

.c-reserve-button.--line::after {
  background: #10c755;
}

.c-reserve-button.--instagram::after {
  background: -webkit-gradient(linear, left top, left bottom, from(#9821da), color-stop(12.55%, #9d22d7), color-stop(57.75%, #df2fb4), to(#f5c746));
  background: linear-gradient(#9821da 0%, #9d22d7 12.55%, #df2fb4 57.75%, #f5c746 100%);
}

@media screen and (min-width: 768px) {
  .c-reserve-button.--hotpepper img {
    width: 26.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-reserve-button.--hotpepper img {
    width: calc(133 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-section.c-subpage {
    padding-top: 22rem;
    padding-bottom: 24rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-section.c-subpage {
    padding-top: calc(172 * var(--sp-ratio));
    padding-bottom: calc(132 * var(--sp-ratio));
  }
}

.c-notfound-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .c-notfound-wrapper {
    padding-top: 19.6rem;
    padding-bottom: 13.2rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-notfound-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.c-notfound-text {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-notfound-text {
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .c-notfound-text {
    line-height: 1.75;
    font-size: calc(14 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .c-notfound-text p {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-notfound-text p {
    margin-bottom: calc(8 * var(--sp-ratio));
  }
}

.c-notfound-text a {
  color: #1a1a1a;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .c-notfound-text a {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .c-notfound-text a {
    font-size: calc(16 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .u-sp-only {
    display: none;
  }
}
@media screen and (max-width: 767.9px) {
  .u-sp-only {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-pc-only {
    display: block;
  }
}
@media screen and (max-width: 767.9px) {
  .u-pc-only {
    display: none;
  }
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media screen and (min-width: 768px) {
  .u-pc-nowrap {
    white-space: nowrap;
  }
}

@media screen and (max-width: 767.9px) {
  .u-sp-nowrap {
    white-space: nowrap;
  }
}

.u-visibility-hidden {
  visibility: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-txt-limit {
  white-space: nowrap; /* テキストを1行に制限 */
  overflow: hidden; /* はみ出した部分を非表示 */
  text-overflow: ellipsis; /* 省略記号「…」を表示 */
}
@media screen and (max-width: 767.9px) {
  .u-txt-limit {
    width: 100%;
  }
}

/* =========================================================
header
========================================================= */
.l-header {
  position: fixed;
  top: 0;
  z-index: 100;
  margin-top: var(--wp-admin--admin-bar--height, 0);
  background-color: #1a1a1a;
  color: #fff;
  z-index: 9999;
  width: 100vw;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .l-header {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.l-header.light {
  background: #E9E9E9;
  color: #1a1a1a;
}

.l-header.light a {
  color: #1a1a1a;
}

.c-dark-section {
  background-color: #1a1a1a;
  color: #fff;
}

.c-light-section {
  background-color: #e9e9e9;
  color: #1a1a1a;
}

.l-header-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 192rem;
}
@media screen and (min-width: 768px) {
  .l-header-wrapper {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    margin-inline: auto;
    row-gap: 1.2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    --k: 6;
    padding-inline: clamp(3rem, 3rem + var(--k) * (1vw - 7.68px), 8rem);
  }
}
@media screen and (max-width: 767.9px) {
  .l-header-wrapper {
    padding: calc(12 * var(--sp-ratio)) calc(24 * var(--sp-ratio));
  }
}

.l-header__logo {
  z-index: 9999;
}

@media screen and (min-width: 768px) {
  .l-header__logo img {
    width: 16.4rem;
    display: block;
  }
}
@media screen and (max-width: 767.9px) {
  .l-header__logo img {
    width: calc(116 * var(--sp-ratio));
  }
}

/* PCナビ（横並び） */
@media screen and (min-width: 768px) {
  .l-header__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .l-header__nav-list {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.2rem 3.4rem;
    margin: 0;
    padding: 0;
    margin-left: auto;
  }
}

.l-header__nav-list li a {
  text-decoration: none;
  font-weight: 500;
}
.l-header__nav-list li a[href*="/artmake/"] {
  --en-txt: "Art Make";
}
.l-header__nav-list li a[href*="/oxygen_capsule/"] {
  --en-txt: "Oxygen capsule";
}
.l-header__nav-list li a[href*="/staff/"] {
  --en-txt: "Staff";
}
.l-header__nav-list li a[href*="/access/"] {
  --en-txt: "Access";
}
.l-header__nav-list li a[href*="/contact/"] {
  --en-txt: "Contact";
}

.l-header__nav li a:focus {
  text-decoration: underline;
}

/* ハンバーガーボタン（初期は非表示、SPで表示） */
.l-header__toggle {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  display: none; /* SPで切替 */
  width: calc(36 * var(--sp-ratio));
  height: calc(36 * var(--sp-ratio));
  z-index: 9999;
}

.l-header__toggle:focus-visible {
  outline: calc(1 * var(--sp-ratio)) solid #fff;
  outline-offset: calc(1 * var(--sp-ratio));
}

.l-header__toggle-bar {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  height: calc(1 * var(--sp-ratio));
  margin-top: calc(-5 * var(--sp-ratio));
  background: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-header.light .l-header__toggle-bar {
  background: #1a1a1a;
}

.l-header__toggle-bar:nth-child(2) {
  width: 62.5%;
  margin-top: calc(5 * var(--sp-ratio));
}

/* 開いた状態（×表示）— ボタンに .is-open を付ける */
.l-header__toggle[aria-expanded=true] {
  --bg: #1a1a1a;
  --text: #fff;
}

.l-header__toggle[aria-expanded=true] .l-header__toggle-bar {
  right: 0;
  margin: 0 auto;
  width: 75%;
}

.l-header.light .l-header__toggle[aria-expanded=true] .l-header__toggle-bar {
  background: #fff;
}

.l-header__toggle[aria-expanded=true] .l-header__toggle-bar:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.l-header__toggle[aria-expanded=true] .l-header__toggle-bar:nth-child(2) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.l-header__toggle-label {
  position: absolute;
  left: -9999px;
}

/* ========= SP ========= */
@media (max-width: 767px) {
  /* ボタン表示、ナビはデフォルト非表示 */
  .l-header__toggle {
    display: block;
  }
  /* ナビをドロワーにする */
  .l-header__nav {
    overflow: auto;
    position: fixed;
    top: 0;
    right: -100vw; /* 初期は隠す */
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: calc(138 * var(--sp-ratio)) calc(24 * var(--sp-ratio)) calc(88 * var(--sp-ratio));
    background: #1a1a1a;
    -webkit-transition: right 0.28s ease;
    transition: right 0.28s ease;
    z-index: 999;
  }
  .l-header__nav::before,
  .l-header__nav::after {
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    content: "";
  }
  .l-header__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    list-style-type: none;
    gap: calc(18 * var(--sp-ratio));
    padding-block: calc(30 * var(--sp-ratio));
  }
  .l-header__nav-list li {
    width: 100%;
  }
  .l-header__nav-list li a {
    position: relative;
    display: grid;
    grid-template-areas: "en-txt arr" "txt arr";
    grid-template-columns: 1fr auto;
    padding: calc(12 * var(--sp-ratio)) calc(16 * var(--sp-ratio));
    row-gap: calc(1 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
  }
  .l-header__nav-list li a::before {
    display: inline-block;
    grid-area: en-txt;
    content: var(--en-txt);
    line-height: 1;
    font-family: "Noto Serif JP";
    font-weight: 400;
    color: var(--accent);
    font-size: calc(12 * var(--sp-ratio));
  }
  .l-header__nav-list li a::after {
    display: block;
    grid-area: arr;
    align-self: center;
    content: "";
    background: #fff;
    -webkit-mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
            mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
    width: calc(10.39 * var(--sp-ratio));
    height: auto;
    aspect-ratio: 18/21;
  }
  /* 開いた状態 */
  .l-header__nav.is-open {
    right: 0;
  }
  /* PC時の横並びは打ち消し */
  .l-header__nav-list li a span {
    grid-area: txt;
    font-size: calc(16 * var(--sp-ratio));
    color: #fff;
  }
}
html:has(> .u-scroll-lock) {
  overflow-y: clip;
}

/* スクロールロック用（bodyへ付与） */
.u-scroll-lock {
  overflow: hidden;
}

/* トップページのみタブレットサイズまでSP幅に */
body:has(.p-top-title) {
  /* PCナビ（横並び） */
  /* ハンバーガーボタン（初期は非表示、SPで表示） */
  /* 開いた状態（×表示）— ボタンに .is-open を付ける */
  /* ========= SP ========= */
}
body:has(.p-top-title) .l-header {
  background-color: transparent;
}
body:has(.p-top-title) .l-header-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 192rem;
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-header-wrapper {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    margin-inline: auto;
    row-gap: 1.2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    --k: 6;
    padding-inline: clamp(3rem, 3rem + var(--k) * (1vw - 7.68px), 8rem);
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-header-wrapper {
    padding: calc(12 * var(--sp-ratio)) calc(24 * var(--sp-ratio));
  }
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-header__logo img {
    width: 16.4rem;
    display: block;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-header__logo img {
    width: calc(116 * var(--sp-ratio));
  }
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-header__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-header__nav-list {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.2rem 3.4rem;
    margin: 0;
    padding: 0;
    margin-left: auto;
  }
}
body:has(.p-top-title) .l-header__nav-list li a {
  text-decoration: none;
  font-weight: 500;
}
body:has(.p-top-title) .l-header__nav-list li a[href*="/artmake/"] {
  --en-txt: "Art Make";
}
body:has(.p-top-title) .l-header__nav-list li a[href*="/oxygen_capsule/"] {
  --en-txt: "Oxygen capsule";
}
body:has(.p-top-title) .l-header__nav-list li a[href*="/staff/"] {
  --en-txt: "Staff";
}
body:has(.p-top-title) .l-header__nav-list li a[href*="/access/"] {
  --en-txt: "Access";
}
body:has(.p-top-title) .l-header__nav-list li a[href*="/contact/"] {
  --en-txt: "Contact";
}
body:has(.p-top-title) .l-header__nav li a:focus {
  text-decoration: underline;
}
body:has(.p-top-title) .l-header__toggle {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  display: none; /* SPで切替 */
  width: calc(36 * var(--sp-ratio));
  height: calc(36 * var(--sp-ratio));
  z-index: 9999;
}
body:has(.p-top-title) .l-header__toggle:focus-visible {
  outline: calc(1 * var(--sp-ratio)) solid #fff;
  outline-offset: calc(1 * var(--sp-ratio));
}
body:has(.p-top-title) .l-header__toggle-bar {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  height: calc(1 * var(--sp-ratio));
  margin-top: calc(-5 * var(--sp-ratio));
  background: var(--text);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
body:has(.p-top-title) .l-header__toggle-bar:nth-child(2) {
  width: 62.5%;
  margin-top: calc(5 * var(--sp-ratio));
}
body:has(.p-top-title) .l-header__toggle[aria-expanded=true] {
  --bg: #1a1a1a;
  --text: #fff;
}
body:has(.p-top-title) .l-header__toggle[aria-expanded=true] .l-header__toggle-bar {
  right: 0;
  margin: 0 auto;
  width: 75%;
}
body:has(.p-top-title) .l-header__toggle[aria-expanded=true] .l-header__toggle-bar:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
body:has(.p-top-title) .l-header__toggle[aria-expanded=true] .l-header__toggle-bar:nth-child(2) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
body:has(.p-top-title) .l-header__toggle-label {
  position: absolute;
  left: -9999px;
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) {
    /* ボタン表示、ナビはデフォルト非表示 */
    /* ナビをドロワーにする */
    /* 開いた状態 */
    /* PC時の横並びは打ち消し */
  }
  body:has(.p-top-title) .l-header__toggle {
    display: block;
  }
  body:has(.p-top-title) .l-header__nav {
    overflow: auto;
    position: fixed;
    top: 0;
    right: -100vw; /* 初期は隠す */
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: calc(138 * var(--sp-ratio)) calc(24 * var(--sp-ratio)) calc(88 * var(--sp-ratio));
    background: #1a1a1a;
    -webkit-transition: right 0.28s ease;
    transition: right 0.28s ease;
    z-index: 999;
  }
  body:has(.p-top-title) .l-header__nav::before,
  body:has(.p-top-title) .l-header__nav::after {
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    content: "";
  }
  body:has(.p-top-title) .l-header__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    list-style-type: none;
    gap: calc(18 * var(--sp-ratio));
    padding-block: calc(30 * var(--sp-ratio));
  }
  body:has(.p-top-title) .l-header__nav-list li {
    width: 100%;
  }
  body:has(.p-top-title) .l-header__nav-list li a {
    position: relative;
    display: grid;
    grid-template-areas: "en-txt arr" "txt arr";
    grid-template-columns: 1fr auto;
    padding: calc(12 * var(--sp-ratio)) calc(16 * var(--sp-ratio));
    row-gap: calc(1 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
  }
  body:has(.p-top-title) .l-header__nav-list li a::before {
    display: inline-block;
    grid-area: en-txt;
    content: var(--en-txt);
    line-height: 1;
    font-family: "Noto Serif JP";
    font-weight: 400;
    color: var(--accent);
    font-size: calc(12 * var(--sp-ratio));
  }
  body:has(.p-top-title) .l-header__nav-list li a::after {
    display: block;
    grid-area: arr;
    align-self: center;
    content: "";
    background: #fff;
    -webkit-mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
            mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
    width: calc(10.39 * var(--sp-ratio));
    height: auto;
    aspect-ratio: 18/21;
  }
  body:has(.p-top-title) .l-header__nav.is-open {
    right: 0;
  }
  body:has(.p-top-title) .l-header__nav-list li a span {
    grid-area: txt;
    font-size: calc(16 * var(--sp-ratio));
    color: #fff;
  }
}

/* グレー背景のページの場合 */
body:has(.gray-theme) .l-header {
  background: #E9E9E9;
  color: #1a1a1a;
}
body:has(.gray-theme) .l-header__toggle-bar {
  background: #1a1a1a;
}
body:has(.gray-theme) .l-header__toggle[aria-expanded=true] .l-header__toggle-bar {
  background: #fff;
}

.l-footer {
  background-color: transparent;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%;
}

.l-footer.l-footer--page {
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-footer.l-footer--page {
    font-size: 1.3rem;
    margin-inline: auto;
    border-top: 0.1rem solid #e9e9e9;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer.l-footer--page {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: calc(28 * var(--sp-ratio));
    padding-left: calc(24 * var(--sp-ratio));
  }
}

.l-footer.l-footer--page::before {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  width: 100vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 0.1rem;
  background: #fff;
}

.l-footer__wrapper {
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .l-footer__wrapper {
    margin-inline: auto;
    width: 100%;
    max-width: 128rem;
    padding-block: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer__wrapper {
    display: grid;
    width: 100%;
    gap: calc(25 * var(--sp-ratio));
    padding-block: calc(32 * var(--sp-ratio));
  }
}

.l-footer.l-footer--page .l-footer__nav {
  width: auto;
}
@media screen and (min-width: 768px) {
  .l-footer.l-footer--page .l-footer__nav {
    row-gap: 2rem;
    gap: 2.0833333333vw;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer.l-footer--page .l-footer__nav {
    width: calc(270 * var(--sp-ratio));
    row-gap: calc(21 * var(--sp-ratio));
    -webkit-column-gap: calc(48 * var(--sp-ratio));
       -moz-column-gap: calc(48 * var(--sp-ratio));
            column-gap: calc(48 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .l-footer.l-footer--page .l-footer__nav.--right {
    font-size: 1.4rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer.l-footer--page .l-footer__nav.--right {
    width: 100%;
    font-size: calc(12 * var(--sp-ratio));
    -webkit-column-gap: calc(24 * var(--sp-ratio));
       -moz-column-gap: calc(24 * var(--sp-ratio));
            column-gap: calc(24 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .l-footer.l-footer--page .l-footer__nav.--right .p-footer-copyright {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 767.9px) {
  .l-footer.l-footer--page .l-footer__nav.--right li:nth-child(2) {
    font-size: calc(10 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .l-footer.l-footer--page .l-footer__nav a {
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.8rem;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: calc(20 * var(--sp-ratio));
    -webkit-column-gap: calc(48 * var(--sp-ratio));
       -moz-column-gap: calc(48 * var(--sp-ratio));
            column-gap: calc(48 * var(--sp-ratio));
  }
}

.l-footer__nav li {
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .l-footer__nav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: calc(13 * var(--sp-ratio));
    font-weight: 400;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.l-footer__nav li:hover a {
  color: var(--accent);
}

@media screen and (max-width: 767.9px) {
  .l-footer__nav li small {
    font-size: calc(11 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .l-footer.l-footer--page .l-footer__nav li::after {
    content: "";
    display: inline-block;
    width: calc(7 * var(--sp-ratio));
    height: auto;
    aspect-ratio: 18/21;
    background: #fff;
    -webkit-mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
    mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}

@media screen and (max-width: 767.9px) {
  .l-footer.l-footer--page .l-footer__nav.--right li::after {
    content: none;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__nav.--right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer__nav.--right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

@media screen and (max-width: 767.9px) {
  .l-footer__nav.--right li {
    font-size: calc(11 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .l-footer__nav.--right li::after {
    content: none;
  }
}

.l-footer__nav li.--small {
  width: 100%;
}

.l-footer a {
  color: #fff;
}

.p-footer-info {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-footer-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 128rem;
    margin-inline: auto;
    padding-block: 2.7rem;
    gap: 1.2rem;
    border-bottom: 0.1rem solid #e9e9e9;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 767.9px) {
  .p-footer-info {
    padding-top: calc(32 * var(--sp-ratio));
    padding-bottom: 0;
  }
}

.p-footer-info::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  background: #e9e9e9;
}
@media screen and (min-width: 768px) {
  .p-footer-info::before {
    height: 0.1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-footer-info::before {
    content: none;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-info__address {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-info__logo {
    width: 23.2rem;
    margin-top: 2.2rem;
    margin-bottom: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-footer-info__logo {
    width: calc(152 * var(--sp-ratio));
    margin-bottom: calc(14 * var(--sp-ratio));
  }
}

.p-footer-info__logo img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-footer-info__summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-footer-info__summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: calc(16 * var(--sp-ratio));
  }
}

.p-footer-info__address-text {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-footer-info__address-text {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-footer-info__address-text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

.p-footer-info__address-tel {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-footer-info__address-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-info__address-tel-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-footer-info__address-tel-text {
    font-size: calc(16 * var(--sp-ratio));
  }
}

.p-footer-info__address-tel-num {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-footer-info__address-tel-num {
    letter-spacing: 0.06em;
    pointer-events: none;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-footer-info__address-tel-num {
    letter-spacing: 0;
    font-size: calc(24 * var(--sp-ratio));
    border-bottom: calc(1 * var(--sp-ratio)) solid #fff;
  }
}

.l-footer-info__table {
  letter-spacing: 0.06em;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .l-footer-info__table {
    position: relative;
    font-size: 1.6rem;
    margin-top: 5.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer-info__table {
    position: relative;
    width: 100%;
    font-size: calc(13 * var(--sp-ratio));
    margin-top: calc(58 * var(--sp-ratio));
    padding: calc(8 * var(--sp-ratio));
  }
}

.l-footer-info__day {
  background: #2e2e2e;
}

@media screen and (max-width: 767.9px) {
  .l-footer-info__day .u-sp-only {
    display: inline-block;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-info__day :is(th, td),
  .l-footer-info__time :is(th, td) {
    padding: 2.9rem 1.55rem;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer-info__day :is(th, td),
  .l-footer-info__time :is(th, td) {
    text-align: center;
    padding: calc(16 * var(--sp-ratio)) calc(5.5 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .l-footer-info__time :is(th, td) {
    text-align: center;
    padding: calc(20 * var(--sp-ratio)) calc(5.5 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .l-footer-info__day th:last-child,
  .l-footer-info__time td:last-child {
    padding-right: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-info__time {
    border-bottom: 0.1rem solid #fff;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer-info__time {
    border-bottom: calc(1 * var(--sp-ratio)) solid #fff;
  }
}

.l-footer-info__day > :first-child,
.l-footer-info__time > :first-child {
  padding-left: 0;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .l-footer-info__day > :first-child,
  .l-footer-info__time > :first-child {
    padding-left: 2.8rem;
    padding-right: 5.4rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-info__day > :first-child {
    position: absolute;
    top: -6.2rem;
    margin-left: -2.9rem;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer-info__day > :first-child {
    position: absolute;
    top: calc(-43 * var(--sp-ratio));
    margin-left: calc(-5 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .l-footer-info__time > :first-child {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767.9px) {
  .l-footer-info__time > :first-child {
    padding: calc(0 * var(--sp-ratio)) calc(0 * var(--sp-ratio)) calc(4 * var(--sp-ratio)) calc(12 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .l-footer-info__day > :last-child,
  .l-footer-info__time > :last-child {
    padding-right: calc(8 * var(--sp-ratio));
  }
}

.p-footer-copyright-menu {
  pointer-events: none;
  font-family: "Noto Serif JP";
  display: inline-block;
}

.p-footer-copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-footer-copyright {
    font-size: 1.1rem;
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-footer-copyright {
    display: none;
    font-size: calc(11 * var(--sp-ratio));
    margin-top: calc(18 * var(--sp-ratio));
  }
}

body:has(.p-top-title) .l-footer {
  position: absolute;
  bottom: 2.9rem;
  z-index: 9;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: transparent;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer {
    position: absolute;
    padding-inline: calc(24 * var(--sp-ratio));
    padding-bottom: calc(24 * var(--sp-ratio));
    bottom: 0;
  }
}
body:has(.p-top-title) .l-footer.l-footer--page {
  position: relative;
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer.l-footer--page {
    font-size: 1.3rem;
    margin-inline: auto;
    border-top: 0.1rem solid #e9e9e9;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer.l-footer--page {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: calc(28 * var(--sp-ratio));
    padding-left: calc(24 * var(--sp-ratio));
  }
}
body:has(.p-top-title) .l-footer.l-footer--page::before {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  width: 100vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 0.1rem;
  background: #fff;
}
body:has(.p-top-title) .l-footer__wrapper {
  letter-spacing: 0;
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer__wrapper {
    margin-inline: auto;
    width: 100%;
    max-width: 128rem;
    padding-block: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer__wrapper {
    display: grid;
    width: 100%;
    gap: calc(25 * var(--sp-ratio));
    padding-block: calc(32 * var(--sp-ratio));
  }
}
body:has(.p-top-title) .l-footer.l-footer--page .l-footer__nav {
  width: auto;
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer.l-footer--page .l-footer__nav {
    row-gap: 2rem;
    gap: 2.0833333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer.l-footer--page .l-footer__nav {
    width: calc(270 * var(--sp-ratio));
    row-gap: calc(21 * var(--sp-ratio));
    -webkit-column-gap: calc(48 * var(--sp-ratio));
       -moz-column-gap: calc(48 * var(--sp-ratio));
            column-gap: calc(48 * var(--sp-ratio));
  }
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer.l-footer--page .l-footer__nav.--right {
    font-size: 1.4rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer.l-footer--page .l-footer__nav.--right {
    width: 100%;
    font-size: calc(12 * var(--sp-ratio));
    -webkit-column-gap: calc(24 * var(--sp-ratio));
       -moz-column-gap: calc(24 * var(--sp-ratio));
            column-gap: calc(24 * var(--sp-ratio));
  }
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer.l-footer--page .l-footer__nav.--right .p-footer-copyright {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer.l-footer--page .l-footer__nav.--right li:nth-child(2) {
    font-size: calc(10 * var(--sp-ratio));
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer.l-footer--page .l-footer__nav a {
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.8rem;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: calc(20 * var(--sp-ratio));
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    width: 100%;
  }
}
body:has(.p-top-title) .l-footer__nav li {
  position: relative;
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer__nav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: calc(13 * var(--sp-ratio));
    font-weight: 400;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
body:has(.p-top-title) .l-footer .l-footer__nav li {
  font-family: "Noto Serif JP";
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer .l-footer__nav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer .l-footer__nav li:last-of-type {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer .l-footer__nav li:has(small) {
    font-size: 1.1rem;
  }
}
body:has(.p-top-title) .l-footer__nav li:hover a {
  color: var(--accent);
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer__nav li small {
    font-size: calc(11 * var(--sp-ratio));
  }
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer__nav.--right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 4rem;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer__nav.--right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer__nav.--right li {
    font-size: calc(11 * var(--sp-ratio));
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) .l-footer__nav.--right li::after {
    content: none;
  }
}
body:has(.p-top-title) .l-footer__nav li.--small {
  width: 100%;
}
body:has(.p-top-title) .l-footer a {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  body:has(.p-top-title) .l-footer .l-footer__nav li:has(small) {
    font-size: 1.1rem;
  }
}

/* =========================================================
top
========================================================= */
@media screen and (min-width: 768px) {
  body {
    font-size: 16px;
  }
}
@media screen and (max-width: 767.9px) {
  body {
    font-size: 14px;
  }
}
html:has(.p-top-title),
body:has(.p-top-title) {
  position: relative;
}
@media screen and (min-width: 1024px) {
  html:has(.p-top-title),
  body:has(.p-top-title) {
    height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  }
}

.l-top {
  background: url(../img/top/top_background.png) no-repeat top left/cover;
}
@media screen and (min-width: 1024px) {
  .l-top {
    min-height: 100vh;
    max-height: 108rem;
    overflow: hidden;
  }
}
@media screen and (max-width: 1023.9px) {
  .l-top {
    height: calc(859 * var(--sp-ratio));
    padding-bottom: calc(82 * var(--sp-ratio));
    padding-inline: calc(24 * var(--sp-ratio));
  }
}

.p-top-wrapper {
  position: relative;
  display: grid;
}
@media screen and (min-width: 1024px) {
  .p-top-wrapper {
    max-width: 100vw;
    height: 100vh;
    margin-inline: auto;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-top-wrapper {
    height: 100%;
  }
}

.p-top-title {
  display: grid;
  place-content: center;
  z-index: 10;
}
@media screen and (min-width: 1024px) {
  .p-top-title {
    position: relative;
    width: clamp(16rem, 51.1vh, 51.1rem);
    aspect-ratio: 1/1;
    top: clamp(5%, 16vh, 16%);
    left: clamp(13.2rem, 11.9791666667vw, 23rem);
  }
}
@media screen and (max-width: 1023.9px) {
  .p-top-title {
    position: relative;
    width: calc(190 * var(--sp-ratio));
    height: auto;
    margin-inline: auto;
    top: calc(43 * var(--sp-ratio));
  }
}

.p-top-title__bg-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 76rem;
  height: 76rem;
  z-index: -1;
  opacity: 0.25;
}
@media screen and (max-width: 1023.9px) {
  .p-top-title__bg-circle {
    width: calc(250 * var(--sp-ratio));
    height: calc(250 * var(--sp-ratio));
    opacity: 0.3;
  }
}

@media screen and (max-width: 1023.9px) {
  .p-top-title__bg-circle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    width: calc(317 * var(--sp-ratio));
    height: calc(300 * var(--sp-ratio));
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background: url("../img/top/top_title_bg_circle_back.png") no-repeat center center/cover;
    z-index: -99;
    mix-blend-mode: color-dodge;
    opacity: 0.5;
  }
}

.p-top-link {
  display: grid;
}
@media screen and (min-width: 1024px) {
  .p-top-link {
    gap: 2.4rem;
    max-width: 58.4rem;
  }
}
.p-top-link__item a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  cursor: pointer;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  letter-spacing: 0.1em;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-top-link__item a {
    font-size: clamp(1.4rem, 3.2vh, 2.4rem);
    border-bottom: 0.1rem solid #fff;
    padding: 0 1rem 2.1rem 1.2rem;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-top-link__item a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: calc(16 * var(--sp-ratio));
    border-bottom: calc(1 * var(--sp-ratio)) solid #fff;
    padding: calc(10 * var(--sp-ratio)) calc(4 * var(--sp-ratio)) calc(18 * var(--sp-ratio));
  }
}

.p-top-link__item a span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1024px) {
  .p-top-link__item a span {
    gap: 1.8rem;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-top-link__item a span {
    gap: calc(8 * var(--sp-ratio));
  }
}

.p-top-link__item:hover a {
  color: #f07700;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.p-top-link__item a::after {
  content: "";
  display: inline-block;
  height: auto;
  aspect-ratio: 18/21;
  background: var(--text);
  -webkit-mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
          mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 1024px) {
  .p-top-link__item a::after {
    position: absolute;
    top: 34%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.4rem;
    right: 0.9rem;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-top-link__item a::after {
    width: calc(11 * var(--sp-ratio));
    padding-right: calc(4 * var(--sp-ratio));
  }
}

.p-top-link__item:hover a::after {
  background-color: var(--accent);
  -webkit-mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
          mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
  -webkit-transform: translateX(1rem) translateY(-50%);
          transform: translateX(1rem) translateY(-50%);
}
@media screen and (max-width: 1023.9px) {
  .p-top-link__item:hover a::after {
    -webkit-transform: translateX(1rem);
            transform: translateX(1rem);
  }
}

@media screen and (min-width: 1024px) {
  .p-top-link__item a > span > span {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-top-link__item a > span > span {
    font-size: calc(13 * var(--sp-ratio));
  }
}

.container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  position: relative;
}

.p-top-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 10;
}
@media screen and (min-width: 1024px) {
  .p-top-menu {
    position: absolute;
    left: clamp(9.2rem, 10.2083333333vw, 19.6rem);
    bottom: 13vh;
    width: 58.4rem;
    gap: 1.6rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.5);
  }
}
@media screen and (max-width: 1023.9px) {
  .p-top-menu {
    position: absolute;
    width: 100%;
    gap: calc(2 * var(--sp-ratio));
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    top: calc(513 * var(--sp-ratio));
  }
}

.menu-item {
  position: relative;
  cursor: pointer;
  padding: 20px 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-top-image-container {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-size: cover;
  background-position: center;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  z-index: 9;
}
@media screen and (min-width: 1024px) {
  .p-top-image-container {
    width: 100vw;
    height: 100%;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-top-image-container {
    width: 100%;
    height: 100%;
  }
}

.image {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  -webkit-filter: blur(20px);
          filter: blur(20px);
  -webkit-transition: opacity 0.8s ease, -webkit-filter 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 0.8s ease;
  transition: opacity 0.8s ease, filter 0.8s ease;
  transition: opacity 0.8s ease, filter 0.8s ease, -webkit-filter 0.8s ease;
}
@media screen and (min-width: 1024px) {
  .image {
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 100%;
    height: 100%;
    -o-object-position: right;
       object-position: right;
  }
}

.image img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .image img {
    width: 100%;
    height: 100%;
  }
}

.image.active {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

@media screen and (max-width: 1023.9px) {
  .image.--top {
    top: calc(-68 * var(--sp-ratio));
    left: calc(16 * var(--sp-ratio));
    width: calc(325 * var(--sp-ratio));
  }
}

@media screen and (min-width: 1024px) {
  .image.--top img {
    -o-object-position: 79% center;
       object-position: 79% center;
  }
}

@media screen and (max-width: 1023.9px) {
  .image.--artmake {
    top: calc(34 * var(--sp-ratio));
    left: calc(9 * var(--sp-ratio));
    width: calc(359 * var(--sp-ratio));
  }
}

@media screen and (min-width: 1024px) {
  .image.--artmake img {
    -o-object-position: 55% center;
       object-position: 55% center;
  }
}
@media screen and (max-width: 1023.9px) {
  .image.--artmake img {
    top: calc(34 * var(--sp-ratio));
    left: calc(9 * var(--sp-ratio));
    width: calc(359 * var(--sp-ratio));
  }
}

@media screen and (max-width: 1023.9px) {
  .image.--chiropractic {
    top: calc(9 * var(--sp-ratio));
    left: calc(-103 * var(--sp-ratio));
    width: calc(555 * var(--sp-ratio));
  }
}

@media screen and (max-width: 1023.9px) {
  .image.--oxygen_capsule {
    top: calc(9 * var(--sp-ratio));
    left: calc(-54 * var(--sp-ratio));
    width: calc(463 * var(--sp-ratio));
  }
}

@media screen and (min-width: 1024px) {
  .image.--oxygen_capsule img {
    -o-object-position: 88% center;
       object-position: 88% center;
  }
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(10, 10, 10, 0.8)), color-stop(50%, rgba(10, 10, 10, 0)));
  background: linear-gradient(90deg, rgba(10, 10, 10, 0.8) 0%, rgba(10, 10, 10, 0) 50%);
  pointer-events: none;
  z-index: 5;
}

@media (max-width: 768px) {
  .menu {
    width: 100%;
    padding: 40px 20px;
  }
  .menu-item a {
    font-size: 24px;
  }
  .image-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
  .menu {
    background: rgba(20, 20, 20, 0.95);
  }
}
@media screen and (max-width: 1023.9px) {
  body:has(.p-top-title) img {
    width: 100%;
  }
}

/* =========================================================
artmake
========================================================= */
@media screen and (min-width: 768px) {
  .c-section.p-artmake-section {
    padding-bottom: 13.4rem;
  }
}

.p-artmake-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (1141px <= width) {
  .p-artmake-wrapper {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 7.7rem;
  }
}
@media screen and (768px <= width <= 1140px) {
  .p-artmake-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-bottom: 7.7rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-bottom: calc(64 * var(--sp-width));
  }
}

.p-artmake-wrapper__summary {
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media screen and (min-width: 768px) {
  .p-artmake-wrapper__summary {
    min-width: 50.6rem;
    width: 39.53125%;
    min-height: 54.8rem;
  }
}
@media screen and (1141px <= width) {
  .p-artmake-wrapper__summary {
    min-width: 50.6rem;
    width: 39.53125%;
    min-height: 54.8rem;
  }
}
@media screen and (768px <= width <= 1140px) {
  .p-artmake-wrapper__summary {
    width: 39.53125%;
    min-height: 54.8rem;
  }
}

.p-artmake-wrapper__image {
  position: relative;
}
@media screen and (1141px <= width) {
  .p-artmake-wrapper__image {
    position: absolute;
    top: -1.6rem;
    right: calc(-50vw + 50%);
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: right;
       object-position: right;
  }
}
@media screen and (768px <= width <= 1140px) {
  .p-artmake-wrapper__image {
    position: relative;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-wrapper__image {
    margin-bottom: calc(64 * var(--sp-ratio));
  }
}

.p-artmake-wrapper__image img {
  width: 100%;
  min-height: 30rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767.9px) {
  .p-artmake-wrapper__image img {
    min-height: auto;
  }
}
@media screen and (1141px <= width) {
  .p-artmake-wrapper__image img {
    height: 55rem;
    width: 50.7291666667vw;
  }
}
@media screen and (768px <= width <= 1140px) {
  .p-artmake-wrapper__image img {
    height: 30rem;
    width: 100%;
  }
}

@media screen and (max-width: 767.9px) {
  .p-artmake-wrapper__image.--eyebrow {
    margin-top: calc(-10 * var(--sp-ratio));
  }
}

.p-artmake-wrapper__image.--eyebrow img {
  width: auto;
}
@media screen and (1141px <= width) {
  .p-artmake-wrapper__image.--eyebrow img {
    -o-object-position: clamp(82%, 80vw, 100%) center;
       object-position: clamp(82%, 80vw, 100%) center;
    width: 50.7291666667vw;
  }
}
@media screen and (768px <= width <= 1140px) {
  .p-artmake-wrapper__image.--eyebrow img {
    width: 100%;
  }
}

@media screen and (1141px <= width) {
  .p-artmake-section:nth-of-type(even) .p-artmake-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (768px <= width <= 1140px) {
  .p-artmake-section:nth-of-type(even) .p-artmake-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media screen and (1141px <= width) {
  .p-artmake-section:nth-of-type(even) .p-artmake-wrapper__image {
    left: calc(-50vw + 50%);
    -o-object-position: left;
       object-position: left;
  }
}
@media screen and (768px <= width <= 1140px) {
  .p-artmake-section:nth-of-type(even) .p-artmake-wrapper__image {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-artmake-content-wrapper {
    display: grid;
    grid-template-columns: 1fr 3.15fr;
    margin-bottom: 9rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-content-wrapper {
    margin-bottom: calc(60 * var(--sp-ratio));
  }
}

.p-artmake-content-wrapper.--example {
  grid-template-columns: 1fr;
}

.p-artmake-content-wrapper:last-of-type {
  margin-bottom: 0;
}

.p-artmake-merits-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-artmake-merits-head {
    font-size: 4rem;
    margin-bottom: 2.1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-merits-head {
    font-size: calc(24 * var(--sp-ratio));
    margin-bottom: calc(24 * var(--sp-ratio));
  }
}

.p-artmake-merits-head::before {
  display: block;
  border-radius: 50%;
  content: "";
  background: var(--text);
}
@media screen and (min-width: 768px) {
  .p-artmake-merits-head::before {
    width: 0.6rem;
    height: 0.6rem;
    margin-right: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-merits-head::before {
    width: calc(4 * var(--sp-ratio));
    height: calc(4 * var(--sp-ratio));
    margin-right: calc(12 * var(--sp-ratio));
  }
}

.p-artmake-lead {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-artmake-lead {
    line-height: 1.75;
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-lead {
    line-height: 1.75;
    margin-bottom: calc(58 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
  }
}

.p-artmake-list {
  counter-reset: item;
  list-style-type: none;
}
@media screen and (min-width: 768px) {
  .p-artmake-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.4rem;
    padding-left: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(19 * var(--sp-ratio));
  }
}

.p-artmake-list--child {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-artmake-list--child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.6rem;
    gap: 2.4rem;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-list--child {
    font-size: calc(14 * var(--sp-ratio));
    margin-top: calc(6 * var(--sp-ratio));
    grid-area: calc(4 * var(--sp-ratio));
  }
}
.p-artmake-list--child li {
  font-weight: 400;
}
@media screen and (max-width: 767.9px) {
  .p-artmake-list--child li {
    line-height: 1.6;
  }
}

.p-artmake-list--child::after {
  content: none;
}

.p-artmake-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 0.1rem solid #828282;
  padding-left: 0.5em;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .p-artmake-list__item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 0.8rem;
    padding-bottom: 2.2rem;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-list__item {
    row-gap: calc(16 * var(--sp-ratio));
    padding-left: 0.3em;
    padding-bottom: calc(17 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
    line-height: 1.6470588235;
  }
}

.p-artmake-list__item:before {
  display: inline-block;
  counter-increment: item;
  content: "(" counter(item, decimal-leading-zero) ")";
  font-family: "Noto Serif JP";
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-artmake-list__item:before {
    margin-top: 0.4rem;
    padding-right: 4.4rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-artmake-list__item:before {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-right: calc(20 * var(--sp-ratio));
    font-size: calc(13 * var(--sp-ratio));
  }
}

/* swiper */
@media screen and (max-width: 767.9px) {
  .swiper {
    width: 100%;
    overflow: visible;
    margin-inline: auto;
  }
}

.swiper-button-prev,
.swiper-button-next {
  background-image: none;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}
@media screen and (max-width: 767.9px) {
  .swiper-button-prev,
  .swiper-button-next {
    top: auto !important;
    bottom: 0 !important;
    width: calc(36 * var(--sp-ratio));
    height: calc(36 * var(--sp-ratio));
  }
}

.swiper-button-prev {
  background: url("../img/common/common_swiper_left.svg") no-repeat center center/cover;
  left: calc(45 * var(--sp-ratio)) !important;
}
@media screen and (max-width: 767.9px) {
  .p-artmake-content-wrapper.--example .swiper-button-prev {
    left: calc(25 * var(--sp-ratio)) !important;
  }
}

.swiper-button-next {
  background: url("../img/common/common_swiper_right.svg") no-repeat center center/cover;
  right: calc(45 * var(--sp-ratio)) !important;
}
@media screen and (max-width: 767.9px) {
  .p-artmake-content-wrapper.--example .swiper-button-next {
    right: calc(25 * var(--sp-ratio)) !important;
  }
}

.swiper-pagination {
  font-family: "Noto Serif JP";
}
@media screen and (max-width: 767.9px) {
  .swiper-pagination {
    font-size: calc(14 * var(--sp-ratio));
  }
}

.swiper-navigation-icon {
  display: none;
}

@media screen and (min-width: 768px) {
  .swiper-wrapper {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767.9px) {
  .swiper-wrapper {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    min-height: calc(389 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .swiper-wrapper.--lipart {
    min-height: calc(345 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .swiper-slide {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

/* 画像のサイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-eyebrow-before-after {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    row-gap: 6rem;
    -webkit-column-gap: 3.2rem;
       -moz-column-gap: 3.2rem;
            column-gap: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__example {
    max-height: calc(290 * var(--sp-ratio));
  }
}

.p-eyebrow-before-after__example-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-eyebrow-before-after__example-title {
    font-size: 1.6rem;
    gap: 1.2rem;
    margin-top: 0.4rem;
    margin-bottom: 1.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__example-title {
    font-size: calc(14 * var(--sp-ratio));
    margin-bottom: calc(9 * var(--sp-ratio));
    gap: calc(8 * var(--sp-ratio));
  }
}

.p-eyebrow-before-after__example-title::before {
  display: inline-block;
  content: "";
  background: var(--text);
}
@media screen and (min-width: 768px) {
  .p-eyebrow-before-after__example-title::before {
    width: 4rem;
    height: 0.1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__example-title::before {
    width: calc(32 * var(--sp-ratio));
    height: calc(1 * var(--sp-ratio));
  }
}

.p-eyebrow-before-after__example-wrapper {
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__example-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: justify;
        align-content: space-between;
    min-height: calc(248 * var(--sp-ratio));
    height: calc(292 * var(--sp-ratio));
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 767.9px) {
  .--lipart .p-eyebrow-before-after__example-wrapper {
    height: calc(248 * var(--sp-ratio));
  }
}

.p-eyebrow-before-after__example-wrapper.--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-eyebrow-before-after__example-wrapper.--flex {
    gap: 3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__example-wrapper.--flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    position: relative;
  }
}

.p-eyebrow-before-after__example-wrapper img {
  max-height: calc(125 * var(--sp-ratio));
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__example-wrapper img {
    width: 100%;
  }
}

.p-eyebrow-before-after__example-wrapper.--flex img {
  max-height: calc(292 * var(--sp-ratio));
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__example-wrapper.--flex img {
    aspect-ratio: 126/292;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-eyebrow-before-after__example-wrapper.--flex .p-eyebrow-before-after__image {
  position: static;
}

@media screen and (min-width: 768px) {
  .p-eyebrow-before-after__image.--before {
    margin-bottom: 4.6rem;
  }
}

.p-eyebrow-before-after__example-wrapper.--flex .p-eyebrow-before-after__image.--before {
  margin-bottom: 0;
}

.p-eyebrow-before-after__image.--before::after {
  position: absolute;
  content: "";
  display: inline-block;
  height: auto;
  aspect-ratio: 18/21;
  background: url("../img/common/common_arrow.svg") no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .p-eyebrow-before-after__image.--before::after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
    width: 1.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__image.--before::after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
    width: calc(14 * var(--sp-ratio));
  }
}

.p-eyebrow-before-after__example-wrapper.--flex .p-eyebrow-before-after__image.--before::after {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-eyebrow-before-after__example-wrapper.--flex .p-eyebrow-before-after__image.--before::after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: auto;
    height: 1.4rem;
    right: -2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-eyebrow-before-after__example-wrapper.--flex .p-eyebrow-before-after__image.--before::after {
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: auto;
    height: calc(14 * var(--sp-ratio));
    right: calc(-2 * var(--sp-ratio));
  }
}

/* =========================================================
chiropractic
========================================================= */
.p-chiropractic-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-chiropractic-wrapper__summary {
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 39.53125%;
  min-height: 54.8rem;
}

.p-chiropractic-wrapper__image {
  position: relative;
  width: 50vw;
  top: 0;
  right: calc(-50vw + 50%);
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right;
     object-position: right;
}

.p-chiropractic-wrapper__image img {
  width: 100%;
}

.p-chiropractic-example-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-chiropractic-example-list::before, .p-chiropractic-example-list::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 0.1rem;
  background: var(--text);
}

.p-chiropractic-example-list::before {
  top: 0;
}

.p-chiropractic-example-list::after {
  bottom: 0;
}

.p-chiropractic-example-list__item {
  display: grid;
  -ms-flex-line-pack: justify;
      align-content: space-between;
  text-align: center;
  border-left: 0.1rem solid var(--text);
  border-bottom: 0.1rem solid var(--text);
  padding: 4rem;
  width: 320px;
}

.p-chiropractic-example-list__item::before, .p-chiropractic-example-list__item::after {
  display: grid;
  -ms-flex-line-pack: justify;
      align-content: space-between;
  text-align: center;
  border-left: 0.1rem solid var(--text);
  border-bottom: 0.1rem solid var(--text);
  padding: 4rem;
  width: 320px;
}

.p-chiropractic-example-list__item:first-of-type {
  border-left: none;
}

.p-chiropractic-example-list__item:last-of-type {
  border-right: 0.1rem solid var(--text);
}

.p-chiropractic-example-list__item.p-chiropractic-row1 {
  grid-column: span 3;
}

.p-chiropractic-example-list__item.p-chiropractic-row2 {
  grid-column: span 4;
}

.p-chiropractic-example-list__image {
  max-height: 19.2rem;
}

.p-chiropractic-example-list__image img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* =========================================================
oxygen_capsule
========================================================= */
.p-oxygen_capsule-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-wrapper {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 10.7rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-bottom: calc(64 * var(--sp-width));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-wrapper__summary {
    min-width: 50.6rem;
    width: 39.53125%;
    min-height: 54.8rem;
  }
}

.p-oxygen_capsule-lead {
  font-family: "Noto Serif JP";
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-lead:first-of-type {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-lead:first-of-type {
    margin-bottom: calc(24 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-lead p {
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-lead p {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-lead__image {
    margin-top: 4.3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-lead__image {
    margin-top: calc(34 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-wrapper__image {
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 49.7%;
    position: absolute;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: -37.1rem;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: right;
       object-position: right;
    width: 80%;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-wrapper__image {
    position: relative;
    left: 0;
    right: calc(-50vw + 50%);
    margin-top: calc(-7 * var(--sp-ratio));
    margin-right: calc(-1 * var(--sp-ratio));
    margin-bottom: calc(65 * var(--sp-ratio));
    width: 107vw;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-wrapper__image img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    min-height: 54.8rem;
    -o-object-position: left;
       object-position: left;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
    gap: 3.2rem clamp(3.2rem, 4vw, 6.4rem);
    padding-top: 2.3rem;
    counter-reset: feature;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: calc(36 * var(--sp-ratio)) 0;
    counter-reset: feature;
    margin-top: calc(50 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__card {
    position: relative;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: 2rem;
    max-width: 384px;
    padding: 4rem 2.4rem 3.5rem;
    background: #2e2e2e;
    color: var(--text);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__card {
    position: relative;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: calc(16 * var(--sp-ratio));
    max-width: calc(327 * var(--sp-ratio));
    margin-bottom: calc(20 * var(--sp-ratio));
    padding: calc(24 * var(--sp-ratio)) calc(16 * var(--sp-ratio)) calc(19 * var(--sp-ratio));
    background: #2e2e2e;
    color: var(--text);
    min-height: calc(393 * var(--sp-ratio));
  }
}
.p-oxygen_capsule-feature-list__card:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__card::before {
    position: absolute;
    top: -0.7em;
    left: 0;
    display: inline-block;
    counter-increment: feature;
    content: counter(feature, decimal-leading-zero);
    font-size: 3.2rem;
    font-weight: bold;
    color: var(--accent);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__card::before {
    position: absolute;
    top: calc(-24 * var(--sp-ratio));
    left: 0;
    display: inline-block;
    counter-increment: feature;
    content: counter(feature, decimal-leading-zero);
    font-size: calc(32 * var(--sp-ratio));
    font-weight: bold;
    color: var(--accent);
  }
}

.p-oxygen_capsule-feature-list__thumbnail {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__thumbnail {
    position: relative;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__thumbnail {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__thumbnail-content {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 5rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__thumbnail-content {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: calc(44 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__thumbnail-content span {
    display: block;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__thumbnail-content span {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__thumbnail-title {
    margin-bottom: 1px;
    font-size: 1.9rem;
    text-align: center;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__thumbnail-title {
    margin-bottom: calc(9 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__thumbnail-title::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.1rem;
    background-color: #fff;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__thumbnail-title::after {
    content: "";
    display: block;
    width: 100%;
    height: calc(1 * var(--sp-ratio));
    background-color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__thumbnail-content span.p-oxygen_capsule-feature-list__thumbnail-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    line-height: 1;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__thumbnail-content span.p-oxygen_capsule-feature-list__thumbnail-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    line-height: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__thumbnail-num {
    font-size: 3.5rem;
    color: var(--accent);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__thumbnail-num {
    font-size: calc(30 * var(--sp-ratio));
    color: var(--accent);
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__thumbnail-unit {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__thumbnail-unit {
    margin-bottom: calc(5 * var(--sp-ratio));
    font-size: calc(12 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__head {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__head {
    font-size: calc(17 * var(--sp-ratio));
  }
}

.p-oxygen_capsule-feature-list__text {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-feature-list__text {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-feature-list__text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-efficacy-list {
    display: grid;
    gap: 1.6rem;
    counter-reset: efficacy-item;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-efficacy-list {
    display: grid;
    gap: calc(14 * var(--sp-ratio));
    counter-reset: efficacy-item;
    margin-top: calc(-6 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-efficacy-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.8rem;
    margin-top: 0.6rem;
    padding-bottom: 2rem;
    padding-inline: 1rem;
    border-bottom: 0.2rem solid #828282;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-efficacy-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(8.3 * var(--sp-ratio));
    margin-top: calc(7.6 * var(--sp-ratio));
    padding-bottom: calc(16 * var(--sp-ratio));
    padding-inline: calc(5 * var(--sp-ratio));
    border-bottom: 0.2rem solid #828282;
  }
}

.p-oxygen_capsule-efficacy-list__head {
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-efficacy-list__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 45.7rem;
    margin-bottom: 1rem;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-efficacy-list__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: calc(4 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
  }
}

.p-oxygen_capsule-efficacy-list__head::before {
  font-family: "Noto Serif JP";
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-efficacy-list__head::before {
    display: inline-block;
    counter-increment: efficacy-item;
    content: "(" counter(efficacy-item, decimal-leading-zero) ")";
    padding-right: 3em;
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--accent);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-efficacy-list__head::before {
    display: inline-block;
    counter-increment: efficacy-item;
    content: "(" counter(efficacy-item, decimal-leading-zero) ")";
    padding-right: 2em;
    font-size: calc(12 * var(--sp-ratio));
    font-weight: bold;
    color: var(--accent);
  }
}

.p-oxygen_capsule-efficacy-list__text {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-efficacy-list__text {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-efficacy-list__text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list {
    display: grid;
    margin-top: 4.6rem;
    -webkit-column-gap: 5%;
       -moz-column-gap: 5%;
            column-gap: 5%;
    grid-template-columns: repeat(6, 1fr);
    counter-reset: step;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list {
    display: grid;
    grid-template-columns: 1fr;
    counter-reset: step;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__card {
    position: relative;
    display: grid;
    justify-items: center;
    grid-template-rows: subgrid;
    grid-row: span 4;
    grid-column: span 3;
    row-gap: 1rem;
    margin-bottom: 6.4rem;
    max-width: 38.4rem;
    color: #fff;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__card {
    position: relative;
    display: grid;
    justify-items: flex-start;
    grid-template-rows: subgrid;
    grid-row: span 2;
    row-gap: 1.4rem;
    margin-bottom: calc(54 * var(--sp-ratio));
    color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__card:not(:first-child):after {
    position: absolute;
    top: 38%;
    left: -10.625%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 1.8rem;
    height: auto;
    aspect-ratio: 18/21;
    background: url("../img/common/common_arrow.svg") no-repeat center center/cover;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__card:not(:first-child):after {
    content: "";
    position: absolute;
    top: calc(-31 * var(--sp-ratio));
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(90deg);
            transform: translateX(-50%) rotate(90deg);
    width: calc(16 * var(--sp-ratio));
    height: auto;
    aspect-ratio: 18/21;
    background: url(../img/common/common_arrow.svg) no-repeat center center/cover;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__card:nth-child(4)::after {
    background: none;
  }
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__card:nth-child(-n+3) {
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__card:nth-child(4) {
    justify-self: self-end;
  }
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__card:nth-child(n+4) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__card:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__content-wrap {
    display: contents;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__content-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: calc(17 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__thumbnail {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 160px;
    height: 160px;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: #2e2e2e;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__thumbnail {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: calc(104 * var(--sp-ratio));
    height: calc(104 * var(--sp-ratio));
    border-radius: 50%;
    background: #2e2e2e;
  }
}

@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__thumbnail img {
    width: 14vw;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__title-wrap {
    display: contents;
  }
}
.p-oxygen_capsule-consistency-list__count {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__count {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 1rem;
    font-size: 2.4rem;
    color: var(--accent);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__count {
    margin-bottom: 0.7rem;
    font-size: calc(19 * var(--sp-ratio));
    color: var(--accent);
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__head {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__head {
    font-size: calc(17 * var(--sp-ratio));
    line-height: 1.75;
  }
}

.p-oxygen_capsule-consistency-list__text {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-consistency-list__text {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-consistency-list__text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.7;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list {
    display: grid;
    gap: 2rem 3.8rem;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 6.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list {
    display: grid;
    gap: calc(21 * var(--sp-ratio)) calc(28 * var(--sp-ratio));
    grid-template-columns: 1fr 1fr;
    padding-top: calc(14 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__item {
    position: relative;
    padding-bottom: 1.5rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__item {
    position: relative;
    padding-bottom: calc(18 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__item::before {
    content: "";
    width: 100%;
    height: 0.1rem;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: var(--text);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__item::before {
    content: "";
    width: 100%;
    height: 0.1rem;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: var(--text);
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__item:nth-of-type(n + 4)::before {
    content: none;
  }
}

@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__item:nth-of-type(n + 5)::before {
    content: none;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__item:not(:nth-of-type(3n))::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -2rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0.1rem;
    height: 100%;
    background: var(--text);
  }
}

@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__item:not(:nth-of-type(2n))::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(-14 * var(--sp-ratio));
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0.1rem;
    height: 100%;
    margin-top: calc(-12 * var(--sp-ratio));
    background: var(--text);
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__item:nth-of-type(-n + 2)::after {
    margin-top: -2rem;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: calc(13 * var(--sp-ratio));
  }
}

.p-oxygen_capsule-voice-list__head-image {
  background: #2E2E2E;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__head-image {
    margin-right: 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__head-image {
    margin-right: calc(11 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__head-image img {
    width: 5.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__head-image img {
    width: calc(44 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__head-text {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__head-text {
    font-size: calc(15 * var(--sp-ratio));
  }
}

.p-oxygen_capsule-voice-list__text {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-voice-list__text {
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-voice-list__text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    margin-bottom: 9.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-lead {
    display: block;
    margin-bottom: calc(64 * var(--sp-ratio));
  }
}

.p-oxygen_capsule-forfirst-lead__copy {
  font-family: "Noto Serif JP";
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-lead__copy {
    margin-top: 0.5rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-right: 19.6rem;
    font-size: 3.2rem;
    font-weight: 600;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-lead__copy {
    margin-top: -0.375em;
    margin-bottom: calc(29 * var(--sp-ratio));
    font-size: calc(24 * var(--sp-ratio));
    font-weight: 600;
    line-height: 1.75;
  }
}

.p-oxygen_capsule-forfirst-lead__summary {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-lead__summary {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    display: grid;
    gap: 1.8rem;
    margin-top: 0.7rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-lead__summary {
    display: grid;
    gap: calc(10 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
  }
}

.p-oxygen_capsule-forfirst-lead__text {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-lead__text {
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-lead__text {
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 2.7rem;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: calc(26 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times__title span:first-of-type {
    top: -0.2rem;
    left: -0.8rem;
    color: var(--accent);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times__title span:first-of-type {
    position: relative;
    left: -0.6rem;
    color: var(--accent);
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
    gap: 4rem clamp(4rem, 4vw, 6.4rem);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(11 * var(--sp-ratio)) 0;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    justify-items: start;
    row-gap: 1.5rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    justify-items: start;
  }
}

@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__item:not(:last-of-type) {
    margin-bottom: calc(25 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list__situation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.2rem;
    font-size: 1.8rem;
    color: var(--accent);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__situation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: calc(12 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
    color: var(--accent);
  }
}

.p-oxygen_capsule-forfirst-times-list__situation span {
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list__situation span {
    display: block;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__situation span {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list__situation::before {
    content: "";
    display: block;
    width: 4rem;
    height: 0.1rem;
    background-color: var(--accent);
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__situation::before {
    content: "";
    display: block;
    width: calc(24 * var(--sp-ratio));
    height: calc(1 * var(--sp-ratio));
    background-color: var(--accent);
  }
}

.p-oxygen_capsule-forfirst-times-list__box {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list__box {
    display: grid;
    grid-template-rows: subgrid;
    justify-items: center;
    grid-row: span 4;
    width: 100%;
    padding: 4rem 0 4.5rem;
    color: #1a1a1a;
    background-color: #f1f1f1;
    row-gap: 1.5rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__box {
    display: grid;
    grid-template-rows: subgrid;
    justify-items: center;
    grid-row: span 4;
    width: 100%;
    padding: calc(23 * var(--sp-ratio)) calc(11 * var(--sp-ratio)) calc(24 * var(--sp-ratio));
    color: #1a1a1a;
    background-color: #f1f1f1;
  }
}

@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__item:nth-of-type(3) .p-oxygen_capsule-forfirst-times-list__box {
    padding: calc(23 * var(--sp-ratio)) calc(16 * var(--sp-ratio)) calc(10 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__count {
    font-size: calc(14 * var(--sp-ratio));
  }
}

.p-oxygen_capsule-forfirst-times-list-time {
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list-time {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: -2.3rem;
    gap: 0.3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list-time {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: calc(-17 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list-time__num {
    font-size: 6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list-time__num {
    font-size: calc(48 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list-time__unit {
    margin-top: 2rem;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list-time__unit {
    margin-top: calc(20 * var(--sp-ratio));
    font-size: calc(24 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list-time__symbol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list-time__symbol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-inline: calc(10 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list-time__symbol::before {
    content: "";
    display: block;
    width: 3rem;
    height: 0.2rem;
    background-color: #1a1a1a;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list-time__symbol::before {
    content: "";
    display: block;
    width: calc(30 * var(--sp-ratio));
    height: calc(2 * var(--sp-ratio));
    background-color: #1a1a1a;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list__span {
    margin-top: -2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__span {
    font-size: calc(14 * var(--sp-ratio));
    margin-top: calc(-13 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__item:nth-of-type(3) .p-oxygen_capsule-forfirst-times-list__span {
    display: contents;
  }
}

.p-oxygen_capsule-forfirst-times-list__text {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list__text {
    padding: 0 4rem;
    font-size: 1.4rem;
    margin-top: -2.1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-oxygen_capsule-forfirst-times-list__text--nowrap {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-forfirst-times-list__text--nowrap {
    white-space: nowrap;
  }
}

.p-oxygen_capsule-precautions {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-precautions {
    display: grid;
    gap: 1.1rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-precautions {
    display: grid;
    gap: 1.15rem;
    font-size: calc(14 * var(--sp-ratio));
  }
}

.p-oxygen_capsule-precautions__item {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-precautions__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-precautions__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    line-height: 1.75;
  }
}

.p-oxygen_capsule-precautions__item::before {
  background: var(--accent);
  content: "";
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-oxygen_capsule-precautions__item::before {
    position: relative;
    top: 0.7em;
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    margin-right: 0.2em;
  }
}
@media screen and (max-width: 767.9px) {
  .p-oxygen_capsule-precautions__item::before {
    position: relative;
    top: 0.7em;
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    margin-right: 0.5em;
  }
}

/* =========================================================
staff
========================================================= */
@media screen and (min-width: 1101px) {
  .p-staff-president {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 9.4rem;
    margin-top: -1.5rem;
    margin-bottom: 9.6rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    border-bottom: 0.1rem solid #1a1a1a;
    gap: 10%;
  }
}
@media screen and (768px <= width <= 1100px) {
  .p-staff-president {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 9.4rem;
    margin-top: -1.5rem;
    margin-bottom: 9.6rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    border-bottom: 0.1rem solid #1a1a1a;
    gap: 10%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-staff-president .p-staff-president__image img {
    height: 48rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-president {
    padding-bottom: calc(64 * var(--sp-ratio));
    margin-bottom: calc(64 * var(--sp-ratio));
    border-bottom: 0.1rem solid #1a1a1a;
  }
}

@media screen and (min-width: 768px) {
  .p-staff-president__image {
    max-width: 48rem;
    min-height: 46.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-president__image {
    max-width: calc(213 * var(--sp-ratio));
    margin-bottom: calc(40 * var(--sp-ratio));
    margin-inline: auto;
  }
}

@media screen and (min-width: 768px) {
  .p-staff-president__image img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-president__image img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.p-staff-president__profile {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-staff-president__profile {
    margin-top: 6rem;
  }
}

.p-staff-president__head {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-staff-president__head {
    font-size: 3.2rem;
    margin-bottom: 3.8rem;
    gap: 0.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-president__head {
    font-size: calc(24 * var(--sp-ratio));
    margin-bottom: calc(24 * var(--sp-ratio));
    gap: calc(8 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-staff-president__head span {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-president__head span {
    font-size: calc(14 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-staff-president__summary {
    display: grid;
    gap: 3.4rem;
    max-width: 80rem;
  }
}

.p-staff-president__text {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-staff-president__text {
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-president__text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.73;
    margin-block: calc((1em - 1lh) / 2) 2em;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-president__text:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-staff-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(38.4rem, 1fr));
    gap: 6.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(35 * var(--sp-ratio)) 0;
  }
}

.p-staff-list__card {
  background-color: #f1f1f1;
}
@media screen and (min-width: 768px) {
  .p-staff-list__card {
    display: grid;
    gap: 2.4rem;
    padding: 3.8rem 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-list__card {
    display: grid;
    gap: calc(16 * var(--sp-ratio));
    padding: calc(24 * var(--sp-ratio)) calc(16 * var(--sp-ratio));
  }
}

.p-staff-list__image {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-staff-list__name {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-staff-list__name {
    font-size: calc(17 * var(--sp-ratio));
  }
}

/* =========================================================
access
========================================================= */
@media screen and (min-width: 768px) {
  .p-access-map {
    max-width: 128rem;
    height: 63rem;
    margin: 11.4rem auto 5rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-map {
    margin-bottom: calc(42 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-access-map iframe {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-map iframe {
    width: 100%;
    aspect-ratio: 327/440;
  }
}

@media screen and (min-width: 768px) {
  .p-access-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.6rem;
    margin-bottom: 9.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail {
    display: grid;
    gap: calc(17 * var(--sp-ratio));
    margin-bottom: calc(64 * var(--sp-ratio));
  }
}

.p-access-detail-info {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-access-detail-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info {
    margin-bottom: calc(4 * var(--sp-ratio));
  }
}

.p-access-detail-info__address {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-access-detail-info__address {
    position: relative;
    margin-right: 3.2rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info__address {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .p-access-detail-info__address::after {
    content: "";
    width: 0.2rem;
    height: 50%;
    position: absolute;
    bottom: 0;
    right: -2.5rem;
    background: #cbcbcb;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info__address::after {
    content: "";
    width: 100%;
    height: calc(1 * var(--sp-ratio));
    position: absolute;
    bottom: 0;
    background: #cbcbcb;
  }
}

.p-access-detail-info__address-name {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-access-detail-info__address-name {
    margin-bottom: 2rem;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info__address-name {
    margin-bottom: calc(14 * var(--sp-ratio));
    font-size: calc(17 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-access-detail-info__address-text {
    margin-bottom: 0.8rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info__address-text {
    margin-bottom: calc(6 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-access-detail-info__address-tell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info__address-tell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: calc(24 * var(--sp-ratio));
    padding-bottom: calc(21 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-access-detail-info__traffic {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 1.5rem;
    margin-bottom: 0.2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info__traffic {
    margin-bottom: calc(17 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-access-detail-info__traffic-head {
    margin-right: 0.7rem;
    font-size: 1.5rem;
    padding: 0.2rem 1.4rem;
    border: 0.1rem solid #1a1a1a;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info__traffic-head {
    width: calc(112 * var(--sp-ratio));
    margin-bottom: calc(12 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
    padding: calc(4 * var(--sp-ratio)) calc(10 * var(--sp-ratio));
    border: calc(1 * var(--sp-ratio)) solid #1a1a1a;
  }
}

.p-access-detail-info__traffic-list {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-access-detail-info__traffic-list {
    display: grid;
    gap: 0.4rem;
  }
}
.p-access-detail-info__traffic-list__item {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-access-detail-info__traffic-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail-info__traffic-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: calc(14 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .p-access-detail-info__traffic-list__item:not(:last-child) {
    margin-bottom: calc(5 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-access-detail__map-btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 29rem;
    height: 4.5rem;
    background-color: #1a1a1a;
    color: #fff;
    font-size: 1.6rem;
    margin-left: auto;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail__map-btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: calc(52 * var(--sp-ratio));
    background-color: #1a1a1a;
    color: #fff;
    font-size: calc(14 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-access-detail__map-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.6rem;
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
    display: block;
    width: 1.4rem;
    height: auto;
    aspect-ratio: 14/16;
    background: url(../img/common/common_arrow_white.svg) no-repeat center center/cover;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-detail__map-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(14 * var(--sp-ratio));
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
    display: block;
    width: calc(13 * var(--sp-ratio));
    height: auto;
    aspect-ratio: 14/16;
    background: url(../img/common/common_arrow_white.svg) no-repeat center center/cover;
  }
}

.p-access-root-head {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-access-root-head {
    font-size: 2.2rem;
    margin-bottom: 5rem;
    padding-bottom: 0.8rem;
    border-bottom: 0.2rem solid #1a1a1a;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-root-head {
    font-size: calc(17 * var(--sp-ratio));
    border-bottom: calc(2 * var(--sp-ratio)) solid #1a1a1a;
    margin-bottom: calc(40 * var(--sp-ratio));
  }
}

.p-access-root-list {
  counter-reset: access-list;
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-access-root-list {
    grid-template-columns: repeat(auto-fit, minmax(40.8rem, 1fr));
    gap: 6.4rem;
    row-gap: 7.1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-root-list {
    gap: calc(39 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-access-root-list__item {
    max-width: 60.8rem;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    row-gap: 0.9rem;
  }
}

.p-access-root-list__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-access-root-list__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-root-list__text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.7;
    gap: calc(12 * var(--sp-ratio));
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: calc(16 * var(--sp-ratio));
  }
}

.p-access-root-list__text::before {
  display: inline-block;
  counter-increment: access-list;
  content: counter(access-list, decimal-leading-zero);
  font-weight: 700;
  font-family: "Noto Serif JP";
  color: var(--accent);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-access-root-list__text::before {
    position: relative;
    bottom: 0.6rem;
    font-size: 3.2rem;
    padding-right: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-access-root-list__text::before {
    position: relative;
    top: calc(-2 * var(--sp-ratio));
    font-size: calc(24 * var(--sp-ratio));
    line-height: 1;
  }
}

/* =========================================================
privacy
========================================================= */
.p-privacy-lead {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-privacy-lead {
    margin-bottom: 6rem;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-lead {
    margin-bottom: calc(32 * var(--sp-ratio));
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-privacy-list {
    display: grid;
    gap: 6.3rem;
    counter-reset: item;
    list-style: none;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list {
    display: grid;
    gap: calc(34 * var(--sp-ratio));
    counter-reset: item;
    list-style: none;
  }
}

@media screen and (min-width: 768px) {
  .p-privacy-list__item {
    display: block;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list__item {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .p-privacy-list__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 2.2rem;
    margin-bottom: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: calc(17 * var(--sp-ratio));
    margin-bottom: calc(12 * var(--sp-ratio));
    line-height: 1.6470588235;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.p-privacy-list__head:before {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-privacy-list__head:before {
    display: inline-block;
    counter-increment: item;
    content: "(" counter(item, decimal-leading-zero) ")";
    padding-right: 0.5em;
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--accent);
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list__head:before {
    position: relative;
    display: inline-block;
    counter-increment: item;
    content: "(" counter(item, decimal-leading-zero) ")";
    padding-right: 0.9em;
    font-size: calc(12 * var(--sp-ratio));
    font-weight: bold;
    color: var(--accent);
    bottom: calc(-2 * var(--sp-ratio));
  }
}

.p-privacy-list__text {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-privacy-list__text {
    line-height: 1.75;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list__text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-privacy-list-detail {
    counter-reset: childitem;
    gap: 1em;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list-detail {
    counter-reset: childitem;
    gap: 1em;
  }
}

.p-privacy-list-detail__item {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-privacy-list-detail__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list-detail__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-privacy-list-detail__item:not(:last-of-type) {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list-detail__item:not(:last-of-type) {
    margin-bottom: calc(6 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-privacy-list-detail__item:before {
    content: counters(childitem, ".") ". ";
    counter-increment: childitem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-right: 0.8rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-privacy-list-detail__item:before {
    content: counters(childitem, ".") ". ";
    counter-increment: childitem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-right: calc(5 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-contact-wrapper {
    max-width: 109.2rem;
    margin-inline: auto;
  }
}

.p-contact-form {
  display: grid;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-contact-form {
    gap: 4.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-form {
    padding-top: calc(3 * var(--sp-ratio));
    gap: calc(35 * var(--sp-ratio));
  }
}

.p-contact-form__item {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-contact-form__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-columns: 1fr 2.37fr;
    gap: 4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-form__item {
    font-size: calc(14 * var(--sp-ratio));
  }
}

.p-contact-form__item fieldset {
  display: contents;
}

.p-contact-form__item:has(.p-contact-input--text),
.p-contact-form__item:has(input[type=radio]) {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.p-contact-form__item input,
.p-contact-form__item textarea {
  border: none;
}
@media screen and (max-width: 767.9px) {
  .p-contact-form__item input,
  .p-contact-form__item textarea {
    font-size: calc(16 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .p-contact-form__item input::-webkit-input-placeholder, .p-contact-form__item textarea::-webkit-input-placeholder {
    font-size: calc(16 * var(--sp-ratio)) !important;
  }
  .p-contact-form__item input::-moz-placeholder, .p-contact-form__item textarea::-moz-placeholder {
    font-size: calc(16 * var(--sp-ratio)) !important;
  }
  .p-contact-form__item input:-ms-input-placeholder, .p-contact-form__item textarea:-ms-input-placeholder {
    font-size: calc(16 * var(--sp-ratio)) !important;
  }
  .p-contact-form__item input::-ms-input-placeholder, .p-contact-form__item textarea::-ms-input-placeholder {
    font-size: calc(16 * var(--sp-ratio)) !important;
  }
  .p-contact-form__item input::placeholder,
  .p-contact-form__item textarea::placeholder {
    font-size: calc(16 * var(--sp-ratio)) !important;
  }
}

@media screen and (max-width: 767.9px) {
  .p-contact-form__item textarea {
    height: calc(162 * var(--sp-ratio));
    padding: calc(16 * var(--sp-ratio));
  }
}

.p-contact-form__item input:focus,
.p-contact-form__item textarea:focus {
  outline: 0.2rem solid var(--accent);
}

.p-contact-form__item input::-webkit-input-placeholder, .p-contact-form__item textarea::-webkit-input-placeholder {
  font-family: "Noto Serif JP";
  font-size: 1.6rem;
}

.p-contact-form__item input::-moz-placeholder, .p-contact-form__item textarea::-moz-placeholder {
  font-family: "Noto Serif JP";
  font-size: 1.6rem;
}

.p-contact-form__item input:-ms-input-placeholder, .p-contact-form__item textarea:-ms-input-placeholder {
  font-family: "Noto Serif JP";
  font-size: 1.6rem;
}

.p-contact-form__item input::-ms-input-placeholder, .p-contact-form__item textarea::-ms-input-placeholder {
  font-family: "Noto Serif JP";
  font-size: 1.6rem;
}

.p-contact-form__item input::placeholder,
.p-contact-form__item textarea::placeholder {
  font-family: "Noto Serif JP";
  font-size: 1.6rem;
}

.p-contact-form__item .wpcf7-form-control:has(input[type=radio]) {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-contact-form__item .wpcf7-form-control:has(input[type=radio]) {
    margin-bottom: -0.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-form__item .wpcf7-form-control:has(input[type=radio]) {
    font-size: calc(14 * var(--sp-ratio));
    gap: calc(19 * var(--sp-ratio));
  }
}

.p-contact-form__item input[type=radio] {
  position: relative;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  border: 0.1rem solid #c1c1c1;
  border-radius: 50%;
  display: grid;
  place-content: center;
  background: #fff;
  margin: 0;
}
@media screen and (max-width: 767.9px) {
  .p-contact-form__item input[type=radio] {
    width: calc(20 * var(--sp-ratio));
    height: calc(20 * var(--sp-ratio));
    border: calc(1 * var(--sp-ratio)) solid #c1c1c1;
  }
}

.p-contact-form__item input[type=radio]::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: 120ms -webkit-transform;
  transition: 120ms -webkit-transform;
  transition: 120ms transform;
  transition: 120ms transform, 120ms -webkit-transform;
  background: var(--accent);
}
@media screen and (max-width: 767.9px) {
  .p-contact-form__item input[type=radio]::before {
    width: calc(14 * var(--sp-ratio));
    height: calc(14 * var(--sp-ratio));
  }
}

.p-contact-form__item input[type=radio]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* キーボードフォーカスの見た目（アクセシビリティ） */
.p-contact-form__item input[type=radio]:focus {
  -webkit-box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.3);
          box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.3);
}

.p-contact-form__item .wpcf7-list-item {
  margin: 0;
}

.wpcf7-list-item {
  margin: 0 !important;
}

.p-contact-form__item .wpcf7-list-item label:has(input[type=radio]) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-contact-form__item .wpcf7-list-item label:has(input[type=radio]) {
    gap: 1.2rem;
    margin-top: 1.3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-form__item .wpcf7-list-item label:has(input[type=radio]) {
    gap: calc(7 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-contact-head {
    font-size: 2.2rem;
    margin-bottom: 3.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-head {
    font-size: calc(17 * var(--sp-ratio));
    margin-bottom: calc(30 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-contact-tel {
    white-space: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10.5rem;
    padding-bottom: 9.6rem;
    margin-top: 13rem;
    margin-bottom: 9.6rem;
    border-bottom: 0.1rem solid #1a1a1a;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-tel {
    border-bottom: calc(1 * var(--sp-ratio)) solid #1a1a1a;
    padding-bottom: calc(64 * var(--sp-ratio));
    margin-bottom: calc(64 * var(--sp-ratio));
  }
}

.p-contact-tel__number {
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-contact-tel__number {
    letter-spacing: 0.06em;
    font-size: 4rem;
    margin-top: -1.1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.6rem;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-bottom: 0.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-tel__number {
    font-size: calc(32 * var(--sp-ratio));
    letter-spacing: 0;
    margin-bottom: calc(12 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-contact-tel__number span {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-tel__number span {
    font-size: calc(24 * var(--sp-ratio));
    margin-right: calc(4 * var(--sp-ratio));
  }
}

.p-contact-tel__number a {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-contact-tel__number a {
    pointer-events: none;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-tel__number a {
    border-bottom: calc(1 * var(--sp-ratio)) solid #1a1a1a;
  }
}

.p-contact-tel__time {
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-contact-tel__time {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-tel__time {
    font-size: calc(14 * var(--sp-ratio));
  }
}

.p-contact-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-contact-label {
    white-space: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 31.6rem;
    padding-block: 1rem;
    gap: 1em;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-label {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    gap: calc(16 * var(--sp-ratio));
    margin-bottom: calc(20 * var(--sp-ratio));
  }
}

.p-contact-label--privacy label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767.9px) {
  .p-contact-label--privacy label {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-contact-label--privacy .wpcf7-list-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-contact-label--privacy .wpcf7-list-item-label {
    padding-left: 1.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-label--privacy .wpcf7-list-item-label {
    font-size: calc(14 * var(--sp-ratio));
  }
}

@media screen and (max-width: 767.9px) {
  .p-contact-label--privacy {
    margin-bottom: calc(34 * var(--sp-ratio));
  }
}

.p-contact-label--privacy a {
  color: var(--accent);
  text-decoration: underline;
}
@media screen and (max-width: 767.9px) {
  .p-contact-label--privacy a {
    margin-left: calc(8 * var(--sp-ratio));
  }
}

.p-contact-label.p-contact-label--required::after {
  content: "必須";
  background: var(--text);
  color: var(--bg);
}
@media screen and (min-width: 768px) {
  .p-contact-label.p-contact-label--required::after {
    padding: 0.2rem 1.6rem;
    border-radius: 0.1rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-label.p-contact-label--required::after {
    padding: calc(2 * var(--sp-ratio)) calc(12 * var(--sp-ratio));
    border-radius: calc(1 * var(--sp-ratio));
    font-size: calc(12 * var(--sp-ratio));
  }
}

.p-contact-wrappper {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-contact-wrappper {
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-wrappper {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(13 * var(--sp-ratio));
  }
}

.p-contact-input {
  width: 100%;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-contact-input {
    padding: 1.6rem;
    border-radius: 0.2rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-input {
    border-radius: calc(2 * var(--sp-ratio));
    font-size: calc(16 * var(--sp-ratio));
    padding: calc(14 * var(--sp-ratio));
  }
}

.p-contact-input--text {
  width: 100%;
  font-family: inherit;
}
@media screen and (min-width: 768px) {
  .p-contact-input--text {
    height: 24rem;
    padding: 1.6rem;
    border-radius: 0.2rem;
    font-size: 1.6rem;
  }
}

.p-contact-label--privacy {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-contact-label--privacy {
    padding: 0;
    margin: -0.8rem auto 4.8rem;
  }
}
.p-contact-label--privacy input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 2.4rem;
  height: 2.4rem;
  cursor: pointer;
  margin: 0;
  background: #fff;
}
@media screen and (max-width: 767.9px) {
  .p-contact-label--privacy input[type=checkbox] {
    width: calc(18 * var(--sp-ratio));
    height: calc(18 * var(--sp-ratio));
  }
}

.p-contact-label--privacy .wpcf7-list-item-label::before,
.p-contact-label--privacy .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -2.4rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .p-contact-label--privacy .wpcf7-list-item-label::before {
    width: 2.4rem;
    height: 2.4rem;
    border: 0.1rem solid #c1c1c1;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-label--privacy .wpcf7-list-item-label::before {
    width: calc(18 * var(--sp-ratio));
    height: calc(18 * var(--sp-ratio));
    border: calc(1 * var(--sp-ratio)) solid #c1c1c1;
    left: calc(-18 * var(--sp-ratio));
  }
}

.p-contact-label--privacy .wpcf7-list-item-label::after {
  top: 0;
  left: -1.8rem;
  width: 1rem;
  height: 1.8rem;
  border-right: 0.2rem solid transparent;
  border-bottom: 0.2rem solid transparent;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .p-contact-label--privacy .wpcf7-list-item-label::after {
    top: 0;
    left: -1.8rem;
    width: 10px;
    height: 18px;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-label--privacy .wpcf7-list-item-label::after {
    border-right: calc(2 * var(--sp-ratio)) solid transparent;
    border-bottom: calc(2 * var(--sp-ratio)) solid transparent;
    top: calc(0 * var(--sp-ratio));
    left: calc(-12 * var(--sp-ratio));
    width: calc(7 * var(--sp-ratio));
    aspect-ratio: 10/18;
    height: calc(16 * var(--sp-ratio));
  }
}

.p-contact-label--privacy input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  border-right-color: var(--accent);
  border-bottom-color: var(--accent);
}

.p-contact-label--privacy input[type=checkbox]:disabled + .wpcf7-list-item-label::before {
  background-color: #ccc;
  cursor: not-allowed;
}

.p-contact-button,
.p-contact-submit .wpcf7-previous {
  position: relative;
  display: block;
  margin-inline: auto;
  outline: none;
  padding: 0.8rem;
  background: #1a1a1a;
  color: #fff;
  font-family: "Noto Serif JP";
  font-size: 1.6rem;
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-contact-button,
  .p-contact-submit .wpcf7-previous {
    width: 29rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-button,
  .p-contact-submit .wpcf7-previous {
    font-size: calc(14 * var(--sp-ratio));
    width: 100%;
    padding: calc(15 * var(--sp-ratio));
  }
}

.p-contact-button:not(:disabled):hover,
.p-contact-submit .wpcf7-previous:not(:disabled):hover {
  color: #1a1a1a;
  background: transparent;
  border: 0.2rem solid #1a1a1a;
}

.p-contact-complete-message {
  text-align: center;
}

.p-contact-submit {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-contact-submit {
    width: 29rem;
    margin-inline: auto;
  }
}

.p-contact-submit::after {
  position: absolute;
  content: "";
  display: inline-block;
  height: auto;
  right: 0;
  aspect-ratio: 18/21;
  background: #fff;
  -webkit-mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
          mask: url(../img/common/common_arrow.svg) no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-contact-submit::after {
    position: absolute;
    width: 1.38rem;
    top: 50%;
    right: 1.6rem;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-submit::after {
    position: absolute;
    width: calc(11 * var(--sp-ratio));
    top: 50%;
    right: calc(16 * var(--sp-ratio));
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-contact-submit:hover::after {
  background: #1a1a1a;
}

.p-contact-submit:has(.wpcf7-previous)::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
  left: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-contact-submit-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-contact-submit-buttons {
    display: grid;
    margin-top: calc(24 * var(--sp-ratio));
    gap: calc(16 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-contact-submit-buttons:has(.wpcf7-previous) {
    margin-top: 3.2rem;
  }
}

.wpcf7-spinner {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/* =========================================================
news_detail
========================================================= */
.p-news-detail-wrapper {
  max-width: 86rem;
  height: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-news-detail-wrapper {
    padding-top: 10.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-wrapper {
    padding-top: calc(48 * var(--sp-ratio));
  }
}

.p-news-detail-head {
  position: relative;
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-news-detail-head {
    gap: 0.8rem;
    border-bottom: 0.1rem solid #cbcbcb;
    padding-bottom: 6rem;
    margin-bottom: 6.4rem;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-head {
    gap: calc(16 * var(--sp-ratio));
    border-bottom: calc(2 * var(--sp-ratio)) solid #cbcbcb;
    padding-bottom: calc(32 * var(--sp-ratio));
    margin-bottom: calc(35 * var(--sp-ratio));
    font-size: calc(24 * var(--sp-ratio));
  }
}

@media screen and (min-width: 768px) {
  .p-news-detail-wrapper .p-news-detail-head {
    border-bottom: 0.1rem solid #1a1a1a;
  }
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-wrapper .p-news-detail-head {
    border-bottom: calc(1 * var(--sp-ratio)) solid #1a1a1a;
  }
}

.p-news-detail-head__year {
  color: #888;
}
@media screen and (min-width: 768px) {
  .p-news-detail-head__year {
    margin-top: 0.8rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-head__year {
    font-size: calc(14 * var(--sp-ratio));
  }
}

.p-news-detail-head__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noto Serif JP";
}
@media screen and (min-width: 768px) {
  .p-news-detail-head__time {
    font-size: 3.2rem;
    gap: 1rem;
    margin-bottom: 1.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-head__time {
    gap: calc(4 * var(--sp-ratio));
  }
}

.p-news-detail-head__text {
  font-family: "Noto Serif JP";
  font-weight: 600;
  text-align: left;
}

.p-news-detail-text {
  display: grid;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-news-detail-text {
    font-size: 1.6rem;
    gap: 2.4rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-text {
    font-size: calc(14 * var(--sp-ratio));
    line-height: 1.75;
    gap: calc(24 * var(--sp-ratio));
  }
}

/* 投稿内の見出し */
.p-news-detail-text h2 {
  font-size: 3.2rem;
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-text h2 {
    font-size: calc(24 * var(--sp-ratio));
  }
}
.p-news-detail-text h3 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-text h3 {
    font-size: calc(18 * var(--sp-ratio));
  }
}
.p-news-detail-text h4 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-text h4 {
    font-size: calc(16 * var(--sp-ratio));
  }
}
.p-news-detail-text strong {
  font-weight: 600;
}
.p-news-detail-text ul {
  list-style: disc;
  padding-left: 1.5rem;
  display: grid;
  gap: 0.4rem;
}
@media screen and (max-width: 767.9px) {
  .p-news-detail-text ul {
    gap: calc(4 * var(--sp-ratio));
  }
}