@layer settings {
  :root {
    --torem: calc(1rem / 16);
    --torlh: calc(1rlh / 16);
    --tovi: calc(100vi / var(--viewport));
    --tovi-sm: calc(100vi / var(--design-width-sm));
    --tovi-md: calc(100vi / var(--design-width-md, 768));
    --tovi-lg: calc(100vi / var(--design-width-lg));
    --tovw-sm: calc(100vw / var(--design-width-sm));
    --tovw-md: calc(100vw / var(--design-width-md, 768));
    --tovw-lg: calc(100vw / var(--design-width-lg));
    --toremvw: calc((var(--torem) * 0.5) + (var(--viewport) * 0.5));
    --toremvi-sm: calc((var(--torem) * 0.5) + (var(--tovi-sm) * 0.5));
    --toremvi-md: calc((var(--torem) * 0.5) + (var(--tovi-md) * 0.5));
    --toremvi-lg: calc((var(--torem) * 0.5) + (var(--tovi-lg) * 0.5));
    --design-ratio: calc(100% / var(--viewport));
    --min-viewport: 375;
    --max-viewport: 1440;
    --design-width-sm: 375;
    --design-width-lg: 1440;
    --color-blue-50: #1e1a07;
    --color-grey: #b5b4ac;
    --base-background-color: #fff;
    --base-color: var(--color-dark);
    --font-sans-ja:
      "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
      "BIZ UDPGothic", "Meiryo", sans-serif;
    --font-sans-en:
      "Montserrat", "Helvetica Neue", "Arial", system-ui, sans-serif;
    --font-sans-mix: "Montserrat", "Noto Sans JP", sans-serif;
    --base-font-family: var(--font-sans-ja);
    --font-base: 16;
    --font-ratio: 8;
    --font-2xs: calc(var(--font-base) * var(--font-ratio) / 12 * var(--torem));
    --font-xs: calc(var(--font-base) * var(--font-ratio) / 10 * var(--torem));
    --font-sm: calc(var(--font-base) * var(--font-ratio) / 9 * var(--torem));
    --font-md: calc(var(--font-base) * var(--font-ratio) / 8 * var(--torem));
    --font-lg: calc(var(--font-base) * var(--font-ratio) / 7 * var(--torem));
    --font-xl: calc(var(--font-base) * var(--font-ratio) / 5 * var(--torem));
    --font-2xl: calc(var(--font-base) * var(--font-ratio) / 3 * var(--torem));
    --font-fluid-xs: clamp(0.666688rem, 0.63433rem + 0.138058vi, 0.8rem);
    --font-fluid-sm: clamp(0.888875rem, 0.861903rem + 0.115081vi, 1rem);
    --font-fluid-md: clamp(1rem, 0.965322rem + 0.147961vi, 1.14288rem);
    --font-fluid-lg: clamp(1.125rem, 1.07444rem + 0.215728vi, 1.33331rem);
    --font-fluid-xl: clamp(1.6rem, 1.50291rem + 0.414239vi, 2rem);
    --font-fluid-2xl: clamp(2rem, 1.83818rem + 0.690421vi, 2.66669rem);
    --font-fluid-3xl: clamp(2.66669rem, 2.34307rem + 1.38078vi, 4rem);
    --leading-base: 4;
    --leading-xs: calc(var(--leading-base) * 3 * var(--torem));
    --leading-sm: calc(var(--leading-base) * 4 * var(--torem));
    --leading-md: calc(var(--leading-base) * 5 * var(--torem));
    --leading-lg: calc(var(--leading-base) * 6 * var(--torem));
    --leading-xl: calc(var(--leading-base) * 7 * var(--torem));
    --leading-2xl: calc(var(--leading-base) * 8 * var(--torem));
    --leading-3xl: calc(var(--leading-base) * 9 * var(--torem));
    --leading-4xl: calc(var(--leading-base) * 10 * var(--torem));
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.75;
    --leading-loose: 2;
    --tracking-tigher: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-normal: normal;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --container-size-4xs: 460px;
    --container-size-3xs: 480px;
    --container-size-2xs: 600px;
    --container-size-xs: 640px;
    --container-size-sm: 768px;
    --container-size-md: 1200px;
    --container-size-lg: 1440px;
    --container-size-xl: 1500px;
    --container-size-2xl: 1640px;
    --offset-xs: 1.5vw;
    --offset-sm: 2.8vw;
    --offset-md: 5.5vw;
    --offset-lg: 7.3vw;
    --offset-xl: 13vw;
    --space-base: 8;
    --space-2xs: calc(var(--space-base) * var(--torem));
    --space-xs: calc(var(--space-base) * 2 * var(--torem));
    --space-sm: calc(var(--space-base) * 3 * var(--torem));
    --space-md: calc(var(--space-base) * 5 * var(--torem));
    --space-lg: calc(var(--space-base) * 8 * var(--torem));
    --space-xl: calc(var(--space-base) * 13 * var(--torem));
    --radius-sm: 1rem;
    --radius-md: 2rem;
    --radius-lg: 2.5rem;
    --radius-full: 50%;
    --grid-fit-sm: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    --grid-fit-md: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    --grid-fit-lg: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
    --grid-fill-sm: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
    --grid-fill-md: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
    --grid-fill-lg: repeat(auto-fill, minmax(min(400px, 100%), 1fr));
    --grid-1: repeat(1, minmax(0, 1fr));
    --grid-2: repeat(2, minmax(0, 1fr));
    --grid-3: repeat(3, minmax(0, 1fr));
    --grid-4: repeat(4, minmax(0, 1fr));
    --grid-5: repeat(5, minmax(0, 1fr));
    --grid-6: repeat(6, minmax(0, 1fr));
    --grid-7: repeat(7, minmax(0, 1fr));
    --grid-8: repeat(8, minmax(0, 1fr));
    --grid-9: repeat(9, minmax(0, 1fr));
    --grid-10: repeat(10, minmax(0, 1fr));
    --grid-11: repeat(11, minmax(0, 1fr));
    --grid-12: repeat(12, minmax(0, 1fr));
    --arrow-width: 10%;
    --arrow-prev: polygon(
      75% var(--arrow-width),
      calc(75% - var(--arrow-width)) 0,
      calc(25% - var(--arrow-width)) 50%,
      calc(75% - var(--arrow-width)) 100%,
      75% calc(100% - var(--arrow-width)),
      calc(25% + var(--arrow-width)) 50%,
      75% var(--arrow-width)
    );
    --arrow-next: polygon(
      25% var(--arrow-width),
      calc(25% + var(--arrow-width)) 0,
      calc(75% + var(--arrow-width)) 50%,
      calc(25% + var(--arrow-width)) 100%,
      25% calc(100% - var(--arrow-width)),
      calc(75% - var(--arrow-width)) 50%,
      25% var(--arrow-width)
    );
    --arrow-down: polygon(
      var(--arrow-width) 25%,
      0 calc(25% + var(--arrow-width)),
      50% calc(75% + var(--arrow-width)),
      100% calc(25% + var(--arrow-width)),
      calc(100% - var(--arrow-width)) 25%,
      50% calc(75% - var(--arrow-width)),
      var(--arrow-width) 25%
    );
    --duration-fast: 0.3s;
    --duration-normal: 0.6s;
    --duration-slow: 1.6s;
    --ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
    --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
    --ease-in-out-sine: cubic-bezier(0.37, 0, 0.63, 1);
    --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
    --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);
    --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-in-out-quint: cubic-bezier(0.83, 0, 0.17, 1);
    --ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);
    --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
    --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);
    --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
    --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
    --ease-in-out-quad: cubic-bezier(0.45, 0, 0.55, 1);
    --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
    --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
    --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
    --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
    --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
    --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
    --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
    --viewport: var(--design-width-sm);
  }

  @media (width >= 48rem) {
    :root {
      --viewport: var(--design-width-md, var(--design-width-sm));
    }
  }

  @media (width >= 64rem) {
    :root {
      --viewport: var(--design-width-lg);
    }
  }
}

@layer base {
  *,
  :before,
  :after {
    box-sizing: border-box;
    text-underline-offset: 0.25em;
    border-width: 1px;
    min-inline-size: 0;
    margin: 0;
    padding: 0;
  }

  :where(html) {
    font-family: var(--base-font-family), system-ui, sans-serif;
    font-weight: var(--base-font-weight, 400);
    line-height: var(--base-leading, 1.5);
    color: var(--base-color, initial);
    letter-spacing: var(--base-tracking, initial);
    overflow-wrap: anywhere;
    color-scheme: var(--base-color-scheme, only light);
    scrollbar-gutter: stable;
    background-color: var(--base-background-color, initial);
    line-break: strict;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  :where(html:has(dialog:modal[open], :popover-open)) {
    overflow: hidden;
  }

  :where(body) {
    min-block-size: 100svb;
    overflow-x: clip;
  }

  :where(h1, h2, h3, h4, h5, h6) {
    font-weight: var(--base-font-heading-weight, 700);
  }

  :where(h1) {
    font-size: var(--base-font-heading-1, unset);
  }

  :where(h2) {
    font-size: var(--base-font-heading-2, unset);
  }

  :where(h3) {
    font-size: var(--base-font-heading-3, unset);
  }

  :where(h4) {
    font-size: var(--base-font-heading-4, unset);
  }

  :where(h5) {
    font-size: var(--base-font-heading-5, unset);
  }

  :where(h6) {
    font-size: var(--base-font-heading-6, unset);
  }

  :where(hr) {
    border-block-start-style: solid;
  }

  :where(ul, ol) {
    list-style-type: "";
  }

  :where(address:lang(ja)) {
    font-style: unset;
  }

  :where(b, strong) {
    font-weight: 700;
  }

  :where(small) {
    font-size: max(0.625rem, 0.875em);
  }

  :where(code, kbd, samp) {
    font-family: ui-monospace, monospace;
  }

  :where(:any-link) {
    color: unset;
    -webkit-text-decoration-skip-ink: auto;
    text-decoration-skip-ink: auto;
  }

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

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

  :where(svg) {
    fill: currentColor;
  }

  :where(table) {
    border-collapse: collapse;
  }

  :where(caption, th) {
    text-align: unset;
  }

  :where(th) {
    font-weight: 700;
  }

  :where(input, button, textarea, select, optgroup) {
    color: unset;
    letter-spacing: inherit;
    word-spacing: inherit;
    font: unset;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
  }

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

  :where(textarea:not([rows])) {
    min-block-size: 10em;
  }

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

  :where(input[type="file"])::-webkit-file-upload-button {
    cursor: pointer;
  }

  :where(input[type="file"])::file-selector-button {
    cursor: pointer;
  }

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

  :where(button, [role="button"]) {
    touch-action: manipulation;
    border-style: solid;
  }

  :where(dialog, [popover]) {
    max-inline-size: unset;
    max-block-size: unset;
    color: unset;
    background-color: unset;
    border-style: none;
    margin: auto;
  }

  :where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
    display: none;
  }

  :where([aria-disabled="true"]) {
    cursor: not-allowed;
  }

  :where([aria-busy="true"]) {
    cursor: progress;
  }

  :where([aria-controls]) {
    cursor: pointer;
  }

  :where([aria-hidden="false"][hidden]) {
    display: initial;
  }

  :where([aria-hidden="false"][hidden]):not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
  }

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

  :where(:focus:not(:focus-visible)) {
    outline: none;
  }

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

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

  @media (prefers-reduced-motion: reduce) {
    *,
    :before,
    :after,
    ::backdrop {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      animation-delay: unset !important;
      transition-delay: unset !important;
      scroll-behavior: auto !important;
      view-transition-name: none !important;
      transition-duration: 0.01ms !important;
    }
  }
}

@layer general, vendors;

@layer components {
  :where(.grid) {
    --grid-fit: repeat(
      auto-fit,
      minmax(min(var(--grid-min, 400px), 100%), 1fr)
    );
    --grid-fill: repeat(
      auto-fill,
      minmax(min(var(--grid-min, 400px), 100%), 1fr)
    );
    --grid-cols: none;
    --gap: 0;
    grid-template-columns: var(--grid-cols);
    gap: var(--gap);
    display: grid;
  }

  :where(.container) {
    --container-name: container;
    --layout: flow-root;
    --max-size: none;
    --offset-start: 0;
    --offset-end: 0;
    --offset: var(--offset-start) var(--offset-end);
    box-sizing: content-box;
    display: block var(--layout);
    max-inline-size: var(--max-size);
    padding-inline: var(--offset);
    margin-inline: auto;
  }

  .l-wrapper {
    background: #fff;
    max-width: 400px;
    margin-inline: auto;
    box-shadow: 0 0 10px #0000001a;
  }

  .u-hidden {
    width: 1px;
    height: 1px;
    position: absolute;
    top: auto;
    left: -9999px;
    overflow: hidden;
  }

  .c-button {
    width: 271px;
    transition: transform 0.3s;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }

  .c-button:hover {
    transform: translateX(-50%) translateY(4px);
  }

  .c-access {
    background: #fff;
    padding: 1em;
  }

  .c-access.-bg {
    background: #f2f2f2;
    margin-top: -0.75em;
  }

  .c-access.-bgBlue {
    background: #eff7fd;
  }
}

:where(html) {
  --base-font-family: "Shippori Mincho", serif;
  --base-font-weight: 600;
}

.background {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

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

.container {
  padding: 0 6%;
}

.hero {
  position: relative;
}

.hero .c-button {
  bottom: -4em;
}

.sec02 {
  margin-top: -0.25em;
  position: relative;
}

.sec03 {
  z-index: 1;
  position: relative;
}

.sec04 {
  z-index: 0;
  background: #fff;
  margin-top: -1em;
  padding-top: 2.5em;
  padding-bottom: 1.5em;
  position: relative;
}

.sec04 figure {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.sec04 figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.sec04 h2 {
  width: 100%;
  max-width: 88%;
  margin: 0 auto;
}

.sec04 p {
  max-width: 88%;
  margin-inline: auto;
  padding-top: 1em;
  font-size: 14px;
  line-height: 2.25;
}

.sec05 {
  position: relative;
  z-index: 1;
  padding-bottom: 2em;
  background: #fff;
}
.sec05 ul{
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width:90%;
  margin-inline:auto;
  padding-top:2em;
}
.sec05 li{
  background:#f2f2f2;
  border-radius:20px;
  padding:1em;
  padding-top:2em;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;

  /* &+&{
    margin-top:2.5em;
  } */
}

.sec05 .-head{
  width:95px;
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:-.5em;
}

.sec05 .-title{
  font-size:18px;
  text-align:center;



  span{
    display: inline;
    background: linear-gradient(transparent 60%, #fff176 60%); /* マーカー色 */
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  }
}

.sec05 .-text{
  font-size:15px;
  margin-top:.875em;
  font-weight:500;
  line-height:1.8;
}

.sec05 .swiper,.sec06 .swiper{
  padding:2em 1em;
}
.sec05 .swiper-slide,.sec06 .swiper-slide{
  width: 100%;
  cursor: pointer;
}

.sec05 .swiper-pagination-progressbar,.sec06 .swiper-pagination-progressbar{
  bottom:1em;
  top:auto;
  left:50%;
  transform:translateX(-50%);
  width:90%;

}
.swiper-controlbar{
  display: flex;
  justify-content: center;
  padding-top:.5em;
}
.swiper-pagination-bullet-active  {
  background-color: #d8887f!important;
  border:none;
}

.sec06{
  background: url("../images/bg_sec06.png") center / cover;
}

.sec06 ul{
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width:80%;
  margin-inline:auto;
  padding:2em 0 3em;
}

/* .sec06 li+li{
  margin-top:1.5em;
} */

.sec06 .-head{
  width:256px;
  margin-inline:auto;
}
.sec06 .-text{
  margin-top:1em;
  font-size:15px;
  font-weight: 500;
  line-height:1.8;
}
.sec06 figure{
  margin-top:-1.5em;
}

.sec07 {
  background: url("../images/bg_sec06-Bx8oU_ub.jpg") center / cover;
  margin-top: -0.25em;
  padding: 2em 1em;
  position: relative;
  overflow: hidden;
}

.sec07 figure {
  position: relative;
}

.sec07 p {
  width: 100%;
  max-width: 83%;
  margin-inline: auto;
  font-family: serif;
  font-size: 14px;
  line-height: 1.75;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.sec07 p.text01,
.sec07 p.text02 {
  bottom: 3em;
}

.sec07 figure + figure {
  margin-top: 0.5em;
}

.sec07 figure,.sec07 .-item {
  position: relative;
}

.sec07 .slider {
  width: 100%;
  position: absolute;
  bottom: 37%;
  left: 0;
}


.sec07 .l-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
}

/* .sec07 .slider .swiper-wrapper {
  transition-timing-function: linear;
}

.sec07 .slider .swiper-slide {
  width: 95px;
} */

.sec09{
  background: url("../images/bg_sec09.png") center / cover;
  padding-bottom:3em;
}

.sec09 ul{
  max-width:90%;
  margin-inline:auto;
  padding-top:3em;
}

.sec09 li{
  background:#fff;
  position:relative;
  padding:3em 2.5em 2em;
  border-radius:20px;
  box-shadow:0 0 10px rgba(0,0,0,.16);

}

.sec09 li:not(:nth-child(3)){
  padding:5em 2.5em 2em;
}

.sec09 li+li{
  margin-top:2em;
}
.sec09 .-title{
  position:absolute;
  top:-1.875em;

}

.sec09 .-title.-first{
  width:281px;
  top:-1.5em;
  left:50%;
  transform:translateX(-50%);

}
.sec09 .-title.-second{
  top: -1.25em;
    right: 6%;
    width:250px;
}
.sec09 .-title.-third{
  width:250px;
  top: -1.25em;
    left: 6%;
}
.sec09 .-text{
  font-size:13px;
  line-height:1.8;
  font-weight:600;
  margin-top:1em;
  font-family:sans-serif;
}

.sec10 {
  background: #fff;
}

.sec10 .slider {
  padding-top: 1.5em;
}

.sec10 .swiper {
  padding: 0 5% 1em;
}

.sec10 .swiper-button-next,
.sec10 .swiper-button-prev {
  border: none;
  width: 29px;
  height: 29px;
}

.sec10 .swiper-button-next:after,
.sec10 .swiper-button-prev:after {
  content: "";
  background: url("../images/button_next-CmlJcT6f.png") center / contain no-repeat;
  width: 100%;
  height: 100%;
  margin: auto;
}

.sec10 .swiper-button-prev:after {
  transform: rotate(180deg);
}

.sec10 .swiper-pagination-bullet {
  background-color: #d8887f;
}

.sec11 {
  z-index: 1;
  padding-bottom: 2em;
  position: relative;
  overflow: hidden;
}

.sec11:before {
  z-index: -1;
  content: "";
  background: #eff7fd;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 4em;
  left: 0;
}

.sec11 .content {
  background: url("../images/bg_sec11-BJyxCPMm.png") center / cover;
  /* border-radius: 10px; */
  /* margin: 2em 5% 0; */
  margin: 2em 0 0;
  /* padding: 4em 5% 2em; */
  padding: 4em 0 2em;
  position: relative;
}

.sec11 .content .-head {
  z-index: 1;
  width: 282px;
  position: absolute;
  top: -2.5em;
  left: 50%;
  transform: translateX(-50%);
}

.sec11 .-list {
  display: flex;
  gap: 20px;
  padding: 0 20px;
  overflow: auto;
}

.sec11 .content .-item {
  flex-shrink: 0;
  max-width: 352px;
  background: #fff;
  padding: 1em;
  font-family:
    Noto Sans JP,
    sans-serif;
  box-shadow: 0 0 10px #0000001a;
}

/* .sec11 .content .-item + .-item {
  margin-top: 1em;
} */

.sec11 .content .-name img {
  height: 46px;
}

.sec11 .content .-title {
  margin-top: 0.75em;
  font-size: 12px;
  font-weight: 900;
}

.sec11 .content .-text {
  margin-top: 0.35em;
  font-size: 12px;
  line-height: 1.7em;
}

.sec12 {
  position: relative;
}

.sec13 {
  margin-top: -2.5em;
}

.sec14 {
  position: relative;
}

.sec14 figure {
  position: relative;
}

.sec14 p {
  text-shadow:
    0 0 8px #fff,
    0 0 12px #fff,
    0 0 20px #fff;
  letter-spacing: 0.15em;
  font-size: 14px;
  line-height: 1.85;
  position: absolute;
  top: 36%;
  left: 8%;
}

.sec15 {
  margin-top: -1em;
  position: relative;
}

.sec16 {
  background: url("../images/bg_sec16-BMKqrFVj.png") center / cover;
  padding: 2em 0 3em;
}

.sec16 h2 {
  width: 118px;
  margin: 0 auto;
}

.sec16 ul {
  margin-top: 1em;
}

.sec16 .-item {
  background: url("../images/bg_sec15-item-Beie6hbK.png") center / cover;
  padding: 1em 1.5em;
}

.sec16 .-item + .-item {
  margin-top: 1em;
}

.sec16 .-head {
  align-items: center;
  gap: 0.5em;
  padding-bottom: 0.5em;
  display: flex;
}

.sec16 .-ico {
  width: 26px;
}

.sec16 .-question {
  color: #00a99d;
  font-size: 16px;
  font-weight: 700;
}

.sec16 .-body {
  border-top: 2px dotted #ccc;
  padding-top: 0.5em;
}

.sec16 .-answer {
  font-family:
    Noto Sans JP,
    sans-serif;
  font-size: 13px;
  line-height: 1.75;
}

.sec17 {
  padding: 3em 0;
  font-family:
    Noto Sans JP,
    sans-serif;
  font-size: 12px;
}

.sec17 h2 {
  text-align: center;
  letter-spacing: 0.1em;
  background: #ccc;
  border-radius: 20px;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
  padding: 0 1em;
  font-weight: 400;
  display: flex;
}

.sec17 ul {
  margin-top: 1em;
}

.sec17 li {
  letter-spacing: 0.1em;
  padding-left: 0.875em;
  line-height: 1.875;
  position: relative;
}

.sec17 li:before {
  content: "";
  background: #000;
  width: 0.25em;
  height: 0.25em;
  position: absolute;
  top: 0.7em;
  left: 0;
}

.cta {
  background: url("../images/bg_cta-Ii4Ha8hG.png") center / cover;
  padding: 1em 1em 4em;
}

.cta .cta__content {
  position: relative;
}

.cta .c-button {
  bottom: -2.5em;
}

.cta.-pattern02 {
  background: url("../images/bg_cta02-CqW2jRk8.png") center / cover;
  margin-top: -2em;
  padding-top: 3.5em;
  position: relative;
}

.cta.-pattern03 {
  background: url("../images/bg_cta-round-rocJtYXn.png") center / cover!important;
  padding-bottom: 6em;
}

.footer {
  background: url("../images/bg_footer-DAbcbDHT.png") center / cover;
  padding: 3em 0 8em;
}

.footer .footer__content {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.footer .logo {
  width: 209px;
}

.footer .shop {
  width: 69px;
  margin-top: 1em;
}

.footer .info {
  margin: 1.5em 0 0;
}

.footer .-dataList {
  flex-direction: column;
  align-items: center;
  margin-top: 1em;
  font-family: sans-serif;
  font-size: 13px;
  display: flex;
}

.footer dt {
  color: #d37665;
  font-weight: 700;
}

.footer dd {
  margin-top: 1em;
  font-weight: 700;
}

.footer .footer__map {
  aspect-ratio: 380 / 116;
  margin-top: 1.5em;
}

.footer .footer__map iframe {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.footer .footer__link {
  flex-direction: column;
  align-items: center;
  gap: 0.5em;
  margin-top: 1em;
  display: flex;
}

.footer .footer__link a {
  letter-spacing: 0.1em;
  font-family:
    Noto Sans JP,
    sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  display: block;
}

.footer .footer__copyright {
  text-align: center;
  padding-top: 1em;
}

.footer .footer__copyright small {
  letter-spacing: 0.1em;
  font-family: serif;
  font-size: 10px;
}

.footer .floating {
  z-index: 1000;
  display: none;
  position: fixed;
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
}
