@charset "UTF-8";
@layer settings {
  :root {
    --torem: .0625rem;
    --torlh: .0625rlh;
    --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) * .5) + (var(--viewport) * .5));
    --toremvi-sm: calc((var(--torem) * .5) + (var(--tovi-sm) * .5));
    --toremvi-md: calc((var(--torem) * .5) + (var(--tovi-md) * .5));
    --toremvi-lg: calc((var(--torem) * .5) + (var(--tovi-lg) * .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(.666688rem, .63433rem + .138058vi, .8rem);
    --font-fluid-sm: clamp(.888875rem, .861903rem + .115081vi, 1rem);
    --font-fluid-md: clamp(1rem, .965322rem + .147961vi, 1.14288rem);
    --font-fluid-lg: clamp(1.125rem, 1.07444rem + .215728vi, 1.33331rem);
    --font-fluid-xl: clamp(1.6rem, 1.50291rem + .414239vi, 2rem);
    --font-fluid-2xl: clamp(2rem, 1.83818rem + .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: -.05em;
    --tracking-tight: -.025em;
    --tracking-normal: normal;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .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: .3s;
    --duration-normal: .6s;
    --duration-slow: 1.6s;
    --ease-in-sine: cubic-bezier(.12, 0, .39, 0);
    --ease-out-sine: cubic-bezier(.61, 1, .88, 1);
    --ease-in-out-sine: cubic-bezier(.37, 0, .63, 1);
    --ease-in-cubic: cubic-bezier(.32, 0, .67, 0);
    --ease-out-cubic: cubic-bezier(.33, 1, .68, 1);
    --ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);
    --ease-in-quint: cubic-bezier(.64, 0, .78, 0);
    --ease-out-quint: cubic-bezier(.22, 1, .36, 1);
    --ease-in-out-quint: cubic-bezier(.83, 0, .17, 1);
    --ease-in-circ: cubic-bezier(.55, 0, 1, .45);
    --ease-out-circ: cubic-bezier(0, .55, .45, 1);
    --ease-in-out-circ: cubic-bezier(.85, 0, .15, 1);
    --ease-in-quad: cubic-bezier(.11, 0, .5, 0);
    --ease-out-quad: cubic-bezier(.5, 1, .89, 1);
    --ease-in-out-quad: cubic-bezier(.45, 0, .55, 1);
    --ease-in-quart: cubic-bezier(.5, 0, .75, 0);
    --ease-out-quart: cubic-bezier(.25, 1, .5, 1);
    --ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);
    --ease-in-expo: cubic-bezier(.7, 0, .84, 0);
    --ease-out-expo: cubic-bezier(.16, 1, .3, 1);
    --ease-in-out-expo: cubic-bezier(.87, 0, .13, 1);
    --ease-in-back: cubic-bezier(.36, 0, .66, -.56);
    --ease-out-back: cubic-bezier(.34, 1.56, .64, 1);
    --ease-in-out-back: cubic-bezier(.68, -.6, .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(:-moz-any-link) {
    color: unset;
    -webkit-text-decoration-skip-ink: auto;
    text-decoration-skip-ink: auto;
  }
  :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])::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;
    -moz-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;
  }
  body {
    font-family: var(--font-main);
    font-size: var(--font-size);
    color: var(--font-color);
    overflow-x: hidden;
  }
  .l-inner {
    box-shadow: 0 0 8px -2px rgba(0, 0, 0, 0.15), 0 0 48px -12px rgba(5, 105, 114, 0.4);
    z-index: 1000;
    inline-size: 100%;
    max-inline-size: calc(var(--inner-width) * var(--torem));
    background-color: var(--white);
    margin-inline: auto;
    position: relative;
  }
  .l-section {
    padding-block: calc(var(--section-space) * var(--torem));
  }
  summary {
    list-style: none;
    display: block;
  }
  summary::-webkit-details-marker {
    display: none;
  }
  figure {
    margin: 0;
  }
  a:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
  .p-fix-cta {
    bottom: calc(20 * var(--torem));
    z-index: 1000;
    inline-size: 100%;
    max-inline-size: calc(478 * var(--torem));
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s;
    position: fixed;
    left: 50%;
    transform: translate(-50%);
  }
  .p-fix-cta.fixed {
    visibility: visible;
    opacity: 1;
  }
  .p-close__img {
    overflow: hidden;
  }
  .js-cat2 {
    opacity: 0;
    transition: all 0.3s ease-out;
    transform: translateY(100px);
  }
  .js-cat2.fade {
    opacity: 1;
    transform: translateY(0);
  }
  .u-mobile {
    display: block;
  }
  @media (width >= 500px) {
    .u-mobile {
      display: none;
    }
  }
  .p-heaedr__list {
    gap: calc(24 * var(--torem));
    display: grid;
  }
  .p-header__item {
    text-align: center;
  }
  .p-header__link {
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    font-size: clamp(0.9375rem, 0.86165rem + 0.323625vi, 1.25rem);
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s;
    display: inline-block;
  }
  .p-header__link:after {
    content: "";
    background-color: var(--green);
    block-size: 2px;
    inline-size: 100%;
    transition: scale 0.3s;
    display: block;
    scale: 0 1;
  }
  @media (hover: hover) {
    .p-header__link:hover {
      color: var(--green);
      opacity: 1;
      transition: color 0.3s;
    }
    .p-header__link:hover:after {
      content: "";
      background-color: var(--green);
      block-size: 2px;
      inline-size: 100%;
      display: block;
      scale: 1;
    }
  }
  .c-accordion {
    border: 2px solid var(--green);
    border-radius: calc(10 * var(--torem));
    overflow: hidden;
    transition: all 0.1s ease-in-out;
  }
  .c-accordion__summary {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: calc(7 * var(--torem)) calc(34 * var(--torem)) calc(7 * var(--torem)) calc(12 * var(--torem));
    text-align: center;
    cursor: pointer;
    transition: all 0.1s ease-in-out;
    position: relative;
    background-color: var(--green);
  }
  @media (hover: hover) {
    .c-accordion__summary:hover {
      background-color: rgb(11.4214285714, 125.6357142857, 136.1785714286);
    }
    .c-accordion__summary:active {
      background-color: rgb(9.8428571429, 108.2714285714, 117.3571428571);
      transition: all 0.05s ease-in-out;
    }
  }
  @media (width <= 500px) {
    .c-accordion__summary {
      padding: calc(7 * var(--torem)) calc(30 * var(--torem)) calc(7 * var(--torem)) calc(8 * var(--torem));
    }
  }
  .c-accordion__Q-text {
    line-height: 1.25;
    font-family: var(--font-sub);
    font-size: calc(18 * var(--torem));
    color: var(--white);
    font-weight: 700;
  }
  @media (width <= 500px) {
    .c-accordion__Q-text {
      font-size: calc(16 * var(--torem));
    }
  }
  .c-accordion__toggle-icon {
    top: 50%;
    right: calc(14 * var(--torem));
    position: absolute;
    transform: translateY(-50%);
  }
  @media (width <= 500px) {
    .c-accordion__toggle-icon {
      right: calc(8 * var(--torem));
    }
  }
  .c-accordion__toggle-icon:before {
    inline-size: calc(20 * var(--torem));
    block-size: calc(2 * var(--torem));
    content: "";
    background-color: var(--white);
    display: block;
  }
  .c-accordion__toggle-icon:after {
    inline-size: calc(2 * var(--torem));
    block-size: calc(20 * var(--torem));
    content: "";
    background-color: var(--white);
    transition: transform 0.1s ease-in-out;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .c-accordion[open] .c-accordion__summary .c-accordion__toggle-icon:after {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .c-accordion__container {
    background-color: var(--white);
    border-bottom-right-radius: calc(8 * var(--torem));
    border-bottom-left-radius: calc(8 * var(--torem));
  }
  .c-accordion__A-box {
    padding: calc(18 * var(--torem)) 4%;
  }
  .c-accordion__A-box--wight {
    padding: calc(18 * var(--torem)) calc(10 * var(--torem));
  }
  .c-accordion__A-text {
    font-size: calc(16 * var(--torem));
    line-height: 1.65;
  }
  .c-accordion__A-text--weight {
    font-feature-settings: "palt";
    text-align: center;
    letter-spacing: 0.05em;
  }
  .c-accordion__A-text--weight + .c-accordion__A-text--weight {
    margin-top: calc(32 * var(--torem));
  }
  .c-accordion__Q-text--fq {
    grid-template-columns: calc(24 * var(--torem)) 1fr;
    gap: calc(10 * var(--torem));
    text-align: left;
    align-items: center;
    display: grid;
  }
  @media (width <= 500px) {
    .c-accordion__Q-text--fq {
      gap: calc(8 * var(--torem));
    }
  }
  .c-accordion__Q-text--fq:before {
    inline-size: calc(24 * var(--torem));
    block-size: calc(27 * var(--torem));
    content: "";
    background: url(../images/fq-icon-Dfe8NxsR.png) 50%/contain no-repeat;
    display: block;
  }
  .c-accordion__A-box--fq {
    border-radius: calc(10 * var(--torem));
    background-color: #f5f5f5;
    padding: calc(18 * var(--torem)) calc(16 * var(--torem));
  }
  @media (width <= 500px) {
    .c-accordion__A-box--fq {
      padding: calc(16 * var(--torem)) calc(12 * var(--torem));
    }
  }
  .c-accordion__A-text--fq {
    grid-template-columns: calc(24 * var(--torem)) 1fr;
    gap: calc(10 * var(--torem));
    display: grid;
  }
  @media (width <= 500px) {
    .c-accordion__A-text--fq {
      gap: calc(8 * var(--torem));
    }
  }
  .c-accordion__A-text--fq:before {
    inline-size: calc(24 * var(--torem));
    block-size: calc(27 * var(--torem));
    content: "";
    background: url(../images/fq-icon2-YZH6g-2M.png) 50%/contain no-repeat;
    display: block;
    position: relative;
    top: -2px;
  }
  .c-accordion__img {
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    max-inline-size: calc(288 * var(--torem));
    margin-top: calc(26 * var(--torem));
    margin-inline: auto;
    display: block;
  }
  .c-accordion__img img {
    aspect-ratio: 288/108;
    -o-object-fit: cover;
       object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }
  .c-accordion__list {
    gap: calc(16 * var(--torem));
    margin-top: calc(16 * var(--torem));
    grid-template-columns: 206fr 206fr;
    display: grid;
  }
  .c-accordion__list-item {
    background-color: var(--green);
  }
  .c-accordion__list-header {
    font-size: calc(16 * var(--torem));
    color: var(--white);
    text-align: center;
    font-weight: 600;
    padding: 2px 0 0;
  }
  .c-accordion__list-body {
    padding: calc(16 * var(--torem));
    background-color: var(--white);
    border: 2px solid var(--green);
  }
  .c-accordion__list-text {
    font-size: calc(16 * var(--torem));
    font-weight: 400;
    line-height: 1.3;
  }
  .c-accordion__A-text--footer {
    margin-top: calc(20 * var(--torem));
    font-size: calc(16 * var(--torem));
    text-align: center;
    font-weight: 400;
    line-height: 1.3;
  }
  .c-accordion__container--amino {
    background-image: url(../images/accrodion-bg-kboPbSam.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .c-accordion__A-text--amino {
    text-align: center;
  }
  .c-accordion__result {
    margin-top: calc(10 * var(--torem));
    font-size: calc(20 * var(--torem));
    color: var(--green);
    text-align: center;
    font-weight: 700;
  }
  .c-accrordion__traiangle {
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    inline-size: calc(28 * var(--torem));
    block-size: calc(24 * var(--torem));
    margin-inline: auto;
    margin-top: calc(10 * var(--torem));
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    background: var(--green);
    display: block;
  }
  .c-accordion__A-box--textarea {
    margin-top: calc(10 * var(--torem));
  }
  .c-accordion__A-text--amino span {
    color: var(--green);
    font-weight: 700;
  }
  .c-accrordion__strong {
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    padding: calc(4 * var(--torem)) calc(8 * var(--torem));
    font-size: calc(20 * var(--torem));
    color: var(--white);
    text-align: center;
    background-color: var(--green);
    margin-block-start: calc(10 * var(--torem));
    margin-inline: auto;
    font-weight: 700;
    display: block;
  }
  .c-accordion__A-text--bold {
    text-align: center;
    font-size: calc(16 * var(--torem));
    margin-top: calc(10 * var(--torem));
    font-weight: 700;
    line-height: 1.5625;
  }
  .c-title {
    align-items: center;
    gap: calc(23 * var(--torem));
    grid-template-columns: auto 1fr;
    display: grid;
  }
  .c-title__text {
    font-size: calc(40 * var(--torem));
    font-weight: 700;
    font-family: var(--font-sub);
  }
  .c-title__text:first-letter {
    color: var(--green);
  }
  .c-title__en {
    font-size: calc(16 * var(--torem));
    font-weight: 700;
    font-family: var(--font-sub);
    color: var(--green);
    border-bottom: 4px solid var(--green);
  }
  .c-cta {
    inline-size: 100%;
    max-inline-size: calc(478 * var(--torem));
    padding: calc(16 * var(--torem)) calc(24 * var(--torem)) calc(18 * var(--torem));
    font-size: calc(24 * var(--torem));
    color: var(--white);
    text-align: center;
    border-radius: calc(10 * var(--torem));
    background-color: #ff8400;
    margin-inline: auto;
    font-weight: 900;
    text-decoration: none;
    transition: background-color 0.3s;
    display: block;
    position: relative;
    box-shadow: 0 7.68555px 11.5283px rgba(35, 19, 5, 0.231372549);
  }
  @media (width <= 500px) {
    .c-cta {
      inline-size: 90%;
      padding: calc(16 * var(--torem)) calc(10 * var(--torem)) calc(18 * var(--torem)) calc(20 * var(--torem));
      font-size: calc(20 * var(--torem));
    }
  }
  .c-cta:before {
    top: calc(-50 * var(--torem));
    inline-size: calc(109 * var(--torem));
    block-size: calc(109 * var(--torem));
    content: "";
    background: url(../images/cta-CDxBl1q6.png) 50%/contain no-repeat;
    display: block;
    position: absolute;
    left: 0;
  }
  @media (width <= 500px) {
    .c-cta:before {
      inline-size: calc(100 * var(--torem));
      block-size: calc(100 * var(--torem));
      left: -6px;
      top: calc(-43 * var(--torem));
    }
  }
  .c-cta:after {
    top: 50%;
    right: calc(24 * var(--torem));
    inline-size: calc(24 * var(--torem));
    block-size: calc(24 * var(--torem));
    content: "";
    background-color: #fff;
    -webkit-mask: url(../images/angle-right.svg) no-repeat center center/contain;
            mask: url(../images/angle-right.svg) no-repeat center center/contain;
    display: block;
    position: absolute;
    transform: translateY(-50%);
  }
  @media (hover: hover) {
    .c-cta:hover {
      opacity: 1;
      background-color: #ff6200;
      transition: background-color 0.3s;
    }
    .c-cta:active {
      transition: all 0.1s;
      scale: 0.98;
    }
  }
  .c-btn {
    inline-size: 100%;
    max-inline-size: calc(410 * var(--torem));
    padding: calc(14 * var(--torem)) calc(18 * var(--torem)) calc(15 * var(--torem));
    font-size: calc(18 * var(--torem));
    color: var(--white);
    text-align: center;
    letter-spacing: 0.1em;
    background: #e10000;
    border-radius: 10px;
    margin-inline: auto;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    transition: all 0.3s;
    display: block;
    position: relative;
    box-shadow: 0 7.68555px 11.5283px rgba(35, 19, 5, 0.231372549);
  }
  @media (hover: hover) {
    .c-btn:hover {
      opacity: 1;
      background-color: #f22;
      transition: background-color 0.3s;
    }
    .c-btn:active {
      transition: all 0.1s;
      scale: 0.98;
    }
  }
  .c-btn__arrow {
    color: var(--white);
    inline-size: calc(9 * var(--torem));
    block-size: calc(9 * var(--torem));
    top: 50%;
    right: calc(16 * var(--torem));
    line-height: 1;
    display: inline-block;
    position: absolute;
    transform: translateY(-50%) rotate(45deg);
  }
  .c-btn__arrow:before,
  .c-btn__arrow:after {
    content: "";
    background: currentColor;
    border-radius: 0.1em;
    position: absolute;
  }
  .c-btn__arrow:before {
    block-size: calc(2 * var(--torem));
    top: 0;
    left: 0;
    right: 0;
  }
  .c-btn__arrow:after {
    inline-size: calc(2 * var(--torem));
    top: 0;
    bottom: 0;
    right: 0;
  }
  .c-btn--small {
    inline-size: 100%;
    max-inline-size: calc(328 * var(--torem));
    padding: calc(16 * var(--torem)) calc(18 * var(--torem));
    font-size: calc(16 * var(--torem));
    color: var(--white);
    text-align: center;
    letter-spacing: 0.1em;
    background: #e10000;
    border-radius: 10px;
    margin-inline: auto;
    font-weight: 900;
    line-height: 1.6875;
    text-decoration: none;
    display: block;
    position: relative;
    box-shadow: 0 7.68555px 11.5283px rgba(35, 19, 5, 0.231372549);
  }
  .c-btn--orange {
    max-inline-size: calc(328 * var(--torem));
    background: #ff8400;
    transition: all 0.3s;
  }
  .c-btn--orange:hover {
    opacity: 1;
    background-color: #ff6200;
    transition: background-color 0.3s;
  }
  .c-btn--orange:active {
    transition: all 0.1s;
    scale: 0.98;
  }
  .c-btn__text {
    padding-bottom: 1px;
  }
  .p-fv {
    padding-bottom: calc(15 * var(--torem));
    background: linear-gradient(158.42deg, #fff 2.79%, #f2f9fa 13.07%, #e6f3f4 24.92%, #0d8f9b 73.83%, #05646d);
  }
  .p-fv__logo {
    inline-size: 100%;
    max-inline-size: calc(120 * var(--torem));
    margin-block-start: calc(10 * var(--torem));
    margin-inline-start: calc(15 * var(--torem));
    display: inline-block;
  }
  .p-fv__logo-img {
    inline-size: 100%;
  }
  .p-fv__logo-img img {
    aspect-ratio: 120/26;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-fv__sub-title {
    margin-top: calc(24 * var(--torem));
    font-family: var(--font-sub);
    font-size: calc(20 * var(--torem));
    text-align: center;
    font-weight: 900;
    line-height: 1;
  }
  .p-fv__title {
    inline-size: 100%;
    max-inline-size: calc(305 * var(--torem));
    margin-inline: auto;
  }
  .p-fv__title-img {
    inline-size: 100%;
  }
  .p-fv__title-img img {
    aspect-ratio: 305/122;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-fv__main {
    inline-size: 100%;
    max-inline-size: calc(600 * var(--torem));
    margin-inline: auto;
    margin-top: calc(-28 * var(--torem));
  }
  .p-fv__main img {
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-fv__link {
    margin-top: calc(10 * var(--torem));
  }
  @media (width <= 500px) {
    .p-fv__link {
      margin-top: calc(20 * var(--torem));
    }
  }
  .p-fv__caption {
    display: flex;
    justify-content: center;
    margin-top: calc(12 * var(--torem));
    margin-bottom: calc(24 * var(--torem));
    font-size: calc(14 * var(--torem));
    color: var(--white);
    font-weight: 700;
    text-indent: -1em;
  }
  .p-body {
    background: linear-gradient(158.42deg, #fff 2.79%, #f2f9fa 13.07%, #e6f3f4 24.92%, #0d8f9b 73.83%, #05646d);
    background-color: var(--white);
    block-size: 100%;
    inline-size: 100%;
    position: fixed;
    top: 0;
    left: 0;
  }
  .p-body__rigth {
    inline-size: calc(50% - 258 * var(--torem));
    transform: translate(clamp(0.0625rem, -1.46966rem + 6.53722vi, 6.375rem), -50%);
    justify-content: start;
    align-items: center;
    display: flex;
    position: fixed;
    top: 53%;
    right: 0;
  }
  .p-body__img {
    max-inline-size: calc(258 * var(--torem));
  }
  .p-body__img img {
    aspect-ratio: 258/493;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-body__left {
    inline-size: calc(50% - 254 * var(--torem));
    flex-direction: column;
    align-items: center;
    padding: 10px;
    display: flex;
    position: fixed;
    top: 53%;
    left: 0;
    transform: translateY(-50%);
  }
  .p-body__left-wrapper {
    margin-inline-start: auto;
    margin-right: clamp(0.625rem, -0.285194rem + 3.8835vi, 4.375rem);
    display: block;
  }
  .p-body__left-img {
    inline-size: 100%;
    max-inline-size: calc(313 * var(--torem));
  }
  .p-body__left-img img {
    aspect-ratio: 313/125;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-body__header {
    margin-top: calc(47 * var(--torem));
  }
  @media (width <= 1030px) {
    .p-body__rigth,
    .p-body__left {
      display: none;
    }
  }
  .p-about {
    padding: calc(var(--section-space) * var(--torem)) 0;
    background-color: var(--white);
  }
  @media (width <= 500px) {
    .p-about {
      padding-top: calc(var(--section-space) * var(--torem));
      padding-bottom: calc(60 * var(--torem));
    }
  }
  .p-about__inner {
    padding: 0 4%;
  }
  .p-about__img {
    inline-size: 100%;
    max-inline-size: calc(305 * var(--torem));
    margin-inline: auto;
  }
  .p-about__title {
    margin-top: calc(20 * var(--torem));
    font-family: var(--font-sub);
    font-size: calc(22 * var(--torem));
    text-align: center;
    letter-spacing: 0;
    font-weight: 900;
    line-height: 1;
  }
  @media (width <= 500px) {
    .p-about__title {
      font-size: calc(20 * var(--torem));
    }
  }
  .p-about__textarea {
    margin-top: calc(30 * var(--torem));
  }
  .p-about__text {
    font-family: var(--font-sub);
    font-size: calc(20 * var(--torem));
    text-align: center;
    font-weight: 500;
    line-height: 2;
  }
  @media (width <= 500px) {
    .p-about__text {
      font-size: calc(17 * var(--torem));
    }
  }
  .p-about__text strong {
    text-underline-offset: 1px;
    text-decoration: underline;
    text-decoration-color: var(--green);
    font-weight: 700;
    text-decoration-thickness: 3px;
    position: relative;
  }
  .p-about__text-em {
    font-style: normal;
    position: relative;
  }
  .p-about__text-number {
    color: var(--green);
    font-size: 10px;
    position: absolute;
    top: -10px;
    left: 28%;
    transform: translate(-50%);
  }
  .p-about__text-number2 {
    color: var(--green);
    font-size: 10px;
    position: absolute;
    transform: translate(-3px, -3px);
  }
  .p-about__caption {
    margin-top: calc(20 * var(--torem));
    display: flex;
    justify-content: center;
  }
  .p-about__caption__text {
    font-family: var(--font-sub);
    font-size: calc(16 * var(--torem));
    text-indent: -1em;
    padding-left: 1em;
    font-weight: 500;
  }
  .p-about__caption__text:first-letter {
    color: var(--green);
  }
  .p-about__link {
    gap: calc(7 * var(--torem));
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
    margin-top: calc(25 * var(--torem));
    text-align: center;
    text-decoration: underline;
    text-decoration-color: var(--green);
    text-underline-offset: 5px;
    align-items: center;
    line-height: 1;
    display: flex;
    position: relative;
  }
  .p-about__link:before {
    inline-size: calc(14 * var(--torem));
    block-size: calc(14 * var(--torem));
    content: "";
    background-color: var(--green);
    border-radius: 50%;
    margin-top: 2px;
    display: block;
  }
  .p-about__link:after {
    content: "";
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    background: #fff;
    block-size: 7px;
    inline-size: 6px;
    display: inline-block;
    position: absolute;
    top: 35%;
    left: 5px;
  }
  .p-about__accordion {
    margin-top: calc(50 * var(--torem));
  }
  .l-why {
    margin-top: calc(141 * var(--torem));
  }
  .p-why {
    padding: calc(40 * var(--torem)) 0;
    background: linear-gradient(#d0eaec, #fff6f4);
    position: relative;
  }
  .p-why__cat {
    position: absolute;
    top: 130px;
  }
  @media (width <= 500px) {
    .p-why__cat {
      max-inline-size: calc(120 * var(--torem));
      top: 120px;
    }
  }
  .p-why__cat--left {
    opacity: 0;
    margin-block-start: calc(100 * var(--torem));
    transition: all 0.3s ease-out;
    left: 0;
  }
  .p-why__cat.fade {
    opacity: 1;
    margin-block-start: 0;
  }
  .p-why__cat--right {
    opacity: 0;
    margin-block-start: calc(100 * var(--torem));
    transition: all 0.3s ease-out;
    right: 0;
  }
  .p-why__cat--right.fade {
    opacity: 1;
    margin-block-start: 0;
  }
  .p-why__top-img {
    inline-size: 100%;
    max-inline-size: calc(479 * var(--torem));
    position: absolute;
    top: -141px;
    left: 50%;
    transform: translate(-50%);
  }
  @media (width <= 500px) {
    .p-why__top-img {
      max-inline-size: calc(400 * var(--torem));
      top: -110px;
    }
  }
  .p-why__top-img img {
    aspect-ratio: 479/165;
    -o-object-fit: cover;
       object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-why__title {
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    font-size: calc(20 * var(--torem));
    color: var(--green);
    text-align: center;
    margin-inline: auto;
    font-weight: 700;
    display: block;
    position: relative;
  }
  .p-why__title span {
    font-size: calc(30 * var(--torem));
  }
  .p-why__title:before {
    bottom: calc(25 * var(--torem));
    left: calc(-52 * var(--torem));
    inline-size: calc(48 * var(--torem));
    block-size: calc(3 * var(--torem));
    content: "";
    background: var(--green);
    display: block;
    position: absolute;
    transform: translateY(50%) rotate(45deg);
  }
  .p-why__title:after {
    right: calc(-52 * var(--torem));
    bottom: calc(25 * var(--torem));
    inline-size: calc(48 * var(--torem));
    block-size: calc(3 * var(--torem));
    content: "";
    background: var(--green);
    display: block;
    position: absolute;
    transform: translateY(50%) rotate(-45deg);
  }
  .p-why__card-img {
    z-index: 1;
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  @media (width <= 500px) {
    .p-why__card-img {
      display: none;
    }
  }
  .p-why__cards {
    grid-row-gap: 8px;
    grid-column-gap: 4px;
    margin-top: calc(52 * var(--torem));
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: repeat(2, 1fr);
    display: grid;
  }
  @media (width <= 500px) {
    .p-why__cards {
      align-items: center;
      gap: calc(20 * var(--torem));
      flex-direction: column;
      display: flex;
    }
  }
  .p-why__cards-img {
    margin-top: calc(52 * var(--torem));
    max-inline-size: calc(475 * var(--torem));
    margin-inline: auto;
    display: none;
  }
  @media (width <= 500px) {
    .p-why__cards-img {
      padding: 1%;
      display: block;
    }
  }
  .p-why__card {
    inline-size: 100%;
    max-inline-size: calc(225 * var(--torem));
    padding-top: calc(43 * var(--torem));
    padding-right: calc(16 * var(--torem));
    padding-bottom: calc(28 * var(--torem));
    padding-left: calc(16 * var(--torem));
    background: var(--white);
    border-radius: 50%;
    margin-inline: auto;
    display: block;
    position: relative;
  }
  .p-why__card:before {
    top: calc(-30 * var(--torem));
    font-family: var(--font-main);
    font-size: calc(54 * var(--torem));
    color: rgba(0, 0, 0, 0);
    content: attr(data-number);
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #d46b02;
    font-weight: 700;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
  }
  .p-why__card--1 {
    grid-area: 1/1/2/3;
    place-items: center;
    display: grid;
  }
  .p-why__card--2 {
    grid-area: 2/1/3/2;
    place-content: center;
  }
  .p-why__card--3 {
    grid-area: 2/2/3/3;
    place-content: center;
  }
  .p-why__card-title {
    inline-size: 100%;
    padding-bottom: calc(2 * var(--torem));
    font-size: calc(16 * var(--torem));
    color: #d46b02;
    text-align: center;
    border-bottom: calc(3 * var(--torem)) solid #d46b02;
    font-weight: 900;
  }
  .p-why__card-text {
    padding-top: calc(14 * var(--torem));
    font-size: calc(15 * var(--torem));
    color: #d46b02;
    text-align: center;
    font-weight: 500;
  }
  .p-why__footer {
    gap: calc(25 * var(--torem));
    inline-size: 100%;
    max-inline-size: calc(417 * var(--torem));
    padding: calc(16 * var(--torem));
    margin-inline: auto;
    margin-top: calc(42 * var(--torem));
    background-color: var(--white);
    border: 1px solid var(--green);
    border-radius: calc(11 * var(--torem));
    align-items: center;
    display: flex;
  }
  @media (width <= 500px) {
    .p-why__footer {
      max-inline-size: calc(350 * var(--torem));
      gap: calc(20 * var(--torem));
    }
  }
  .p-why__footer-img {
    inline-size: 100%;
    max-inline-size: calc(56 * var(--torem));
  }
  .p-why__footer-img img {
    aspect-ratio: 56/56;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-why__footer-text {
    font-size: calc(16 * var(--torem));
    letter-spacing: 0.04em;
    font-weight: 500;
    line-height: 1.5;
  }
  .p-why__footer-text span {
    color: var(--green);
  }
  .p-weight {
    margin-top: calc(var(--section-space) * var(--torem));
  }
  .p-weight__inner {
    padding: 0 4%;
  }
  .p-weight__top-img {
    max-inline-size: calc(461 * var(--torem));
    inline-size: 100%;
    margin-inline: auto;
  }
  @media (width <= 500px) {
    .p-weight__top-img {
      max-inline-size: calc(400 * var(--torem));
    }
  }
  .p-weight__top-img img {
    aspect-ratio: 461/144;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-weight__contents {
    gap: calc(20 * var(--torem));
    display: grid;
  }
  .p-weight__link {
    margin-block-start: calc(40 * var(--torem));
  }
  .l-point {
    margin-block-start: calc(260 * var(--torem));
  }
  @media (width <= 500px) {
    .l-point {
      margin-block-start: calc(230 * var(--torem));
    }
  }
  .p-point {
    padding-top: calc(48 * var(--torem));
    padding-bottom: calc(64 * var(--torem));
    background-color: #d0eaec;
    position: relative;
  }
  .p-point__top-img {
    top: calc(-180 * var(--torem));
    max-inline-size: calc(465 * var(--torem));
    inline-size: 100%;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
  }
  @media (width <= 500px) {
    .p-point__top-img {
      top: calc(-140 * var(--torem));
      max-inline-size: min(90%, 360 * var(--torem));
      margin-inline: auto;
    }
  }
  .p-point__top-img img {
    aspect-ratio: 465/201;
    -o-object-fit: cover;
       object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-point__cards {
    max-inline-size: min(90%, 360 * var(--torem));
    gap: calc(60 * var(--torem));
    inline-size: 100%;
    margin-block-start: calc(32 * var(--torem));
    margin-inline: auto;
    display: grid;
  }
  .p-point__card {
    border-radius: calc(10 * var(--torem));
    padding-top: calc(32 * var(--torem));
    padding-bottom: calc(20 * var(--torem));
    border: 1px solid var(--green);
    background-color: rgba(255, 255, 255, 0.5019607843);
    position: relative;
  }
  .p-point__card-header {
    background-color: var(--green);
    inline-size: calc(161 * var(--torem));
    border-radius: calc(20 * var(--torem));
    padding: calc(2.5 * var(--torem)) calc(10 * var(--torem));
    top: calc(-17 * var(--torem));
    margin-inline: auto;
    display: block;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
  }
  .p-point__card-header-text {
    align-items: center;
    gap: calc(11 * var(--torem));
    color: var(--white);
    font-size: calc(20 * var(--torem));
    letter-spacing: 0.04em;
    justify-content: center;
    font-weight: 900;
    display: flex;
  }
  .p-point__card-header-text:before {
    content: "";
    inline-size: calc(25 * var(--torem));
    block-size: calc(25 * var(--torem));
    background: url(../images/point-cat-Cv3WGYgh.png) 50%/contain no-repeat;
    margin-block-start: calc(5 * var(--torem));
  }
  .p-point__card-body {
    padding: 0 calc(10 * var(--torem));
  }
  .p-point__card-title {
    text-align: center;
    font-size: calc(20 * var(--torem));
    color: var(--green);
    letter-spacing: 0.04em;
    font-weight: 700;
  }
  .p-point__card-img {
    margin-top: calc(15 * var(--torem));
  }
  .p-point__card-img img {
    max-inline-size: calc(160 * var(--torem));
    margin-inline: auto;
  }
  .p-point__card-caption {
    font-size: calc(16 * var(--torem));
    letter-spacing: 0.04em;
    text-align: center;
    margin-top: calc(15 * var(--torem));
    font-weight: 400;
  }
  .p-point__card-text {
    font-size: calc(15 * var(--torem));
    letter-spacing: 0.04em;
    text-align: center;
    margin-block-start: calc(15 * var(--torem));
    font-weight: 600;
    line-height: 1.5;
  }
  .p-use {
    padding-top: calc(var(--section-space) * var(--torem));
    padding-bottom: calc(64 * var(--torem));
  }
  .p-use__inner {
    padding: 0 4%;
  }
  .p-use__img {
    max-inline-size: calc(246 * var(--torem));
    inline-size: 100%;
    margin-block-start: calc(30 * var(--torem));
    margin-inline: auto;
  }
  .p-use__img img {
    aspect-ratio: 246/246;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-use__text {
    font-size: calc(20 * var(--torem));
    margin-block-start: calc(40 * var(--torem));
    margin-top: calc(40 * var(--torem));
    text-align: center;
    font-weight: 500;
    line-height: 2;
  }
  @media (width <= 500px) {
    .p-use__text {
      font-size: calc(17 * var(--torem));
    }
  }
  .p-use__caption {
    margin-top: calc(24 * var(--torem));
    font-size: calc(16 * var(--torem));
    text-align: center;
    font-weight: 500;
    line-height: 1.5;
  }
  .p-product {
    padding-top: calc(var(--section-space) * var(--torem));
    padding-bottom: calc(72 * var(--torem));
    background-color: #f5f5f5;
  }
  .p-product__inner {
    padding: 0 4%;
  }
  .p-prodct__contents {
    margin-top: calc(15 * var(--torem));
    gap: calc(40 * var(--torem));
    display: grid;
  }
  .p-product__content-header {
    background-color: var(--green);
    color: var(--white);
    font-size: calc(16 * var(--torem));
    border-radius: calc(19 * var(--torem));
    text-align: center;
    padding: calc(4 * var(--torem)) calc(10 * var(--torem));
  }
  .p-product__wrapper {
    gap: calc(50 * var(--torem));
    padding-top: calc(21 * var(--torem));
    justify-content: center;
    align-items: center;
    display: flex;
  }
  @media (width <= 500px) {
    .p-product__wrapper {
      gap: calc(15 * var(--torem));
    }
  }
  .p-prodct__img {
    max-inline-size: calc(142 * var(--torem));
    inline-size: 100%;
  }
  .p-prodct__img img {
    aspect-ratio: 142/234;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-product__textarea {
    margin-block-start: calc(21 * var(--torem));
  }
  .p-product__price-header {
    color: var(--white);
    inline-size: calc(49 * var(--torem));
    background-color: var(--green);
    text-align: center;
    font-size: calc(12 * var(--torem));
    font-weight: 500;
  }
  .p-product__price-text {
    font-size: calc(32 * var(--torem));
    color: var(--green);
    letter-spacing: 0.01em;
    font-weight: 700;
  }
  .p-product__price-text span {
    font-size: calc(14 * var(--torem));
    font-weight: 700;
  }
  .p-product__amount {
    margin-top: calc(32 * var(--torem));
  }
  .p-product__amount-header {
    color: var(--white);
    inline-size: calc(49 * var(--torem));
    background-color: var(--green);
    text-align: center;
    font-size: calc(12 * var(--torem));
    font-weight: 500;
  }
  .p-product__amount-text {
    font-size: calc(32 * var(--torem));
    color: var(--green);
    letter-spacing: 0.01em;
    font-weight: 700;
  }
  .p-product__amount-text span {
    font-size: calc(15 * var(--torem));
    margin-left: calc(5 * var(--torem));
    display: inline-block;
  }
  .p-product__amount-caption {
    font-size: calc(16 * var(--torem));
    font-weight: 400;
  }
  .p-product__guide {
    text-align: center;
    margin-top: calc(25 * var(--torem));
    font-size: calc(16 * var(--torem));
    font-weight: 400;
  }
  .p-product__guide-caption {
    text-align: center;
    margin-top: calc(10 * var(--torem));
  }
  .p-product__guide-title {
    font-size: calc(16 * var(--torem));
    color: var(--green);
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-block-start: calc(25 * var(--torem));
    font-weight: 700;
    display: flex;
  }
  .p-product__guide-title:before {
    content: "";
    block-size: calc(2 * var(--torem));
    inline-size: calc(17 * var(--torem));
    background-color: var(--green);
    display: block;
    rotate: 55deg;
  }
  .p-product__guide-title:after {
    content: "";
    block-size: calc(2 * var(--torem));
    inline-size: calc(17 * var(--torem));
    background-color: var(--green);
    margin-block-start: calc(4 * var(--torem));
    display: block;
    rotate: -55deg;
  }
  .p-product__table {
    max-inline-size: min(90%, 360 * var(--torem));
    border: 1px solid var(--green);
    inline-size: 100%;
    margin-block-start: calc(10 * var(--torem));
    margin-inline: auto;
    background-color: rgba(255, 255, 255, 0.8);
  }
  .p-product__table-head {
    border-bottom: 1px solid var(--green);
  }
  .p-product__table-row {
    border: 1px solid var(--green);
  }
  .p-product__table-row--heading {
    background-color: #d0eaec;
  }
  .p-product__table-title {
    text-align: center;
    font-size: calc(16 * var(--torem));
    padding: calc(2 * var(--torem)) 0;
    font-weight: 700;
  }
  .p-product__table-heading {
    inline-size: calc(110 * var(--torem));
    text-align: center;
    padding: calc(2 * var(--torem)) 0;
    font-size: calc(16 * var(--torem));
    font-weight: 500;
  }
  .p-product__table-label {
    border: 1px solid var(--green);
    text-align: center;
    font-size: calc(16 * var(--torem));
    font-weight: 500;
  }
  .p-product__cards {
    gap: calc(20 * var(--torem));
    max-inline-size: min(90%, 360 * var(--torem));
    inline-size: 100%;
    margin-block-start: calc(25 * var(--torem));
    margin-inline: auto;
    display: grid;
  }
  .p-product__card {
    border: 1px solid var(--green);
  }
  .p-product__card-title {
    font-size: calc(16 * var(--torem));
    border-bottom: 1px solid var(--green);
    color: var(--green);
    text-align: center;
    padding: calc(2 * var(--torem)) calc(2 * var(--torem));
    background-color: #d0eaec;
    font-weight: 700;
  }
  .p-product__card-title span {
    font-size: calc(12 * var(--torem));
  }
  .p-product__card-body {
    padding: calc(15 * var(--torem)) calc(12 * var(--torem));
    background-color: rgba(255, 255, 255, 0.8);
  }
  .p-product__card-body-title {
    font-size: calc(16 * var(--torem));
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
    margin-bottom: calc(15 * var(--torem));
    font-weight: 700;
    display: block;
  }
  .p-product__card-body-text {
    font-size: calc(15 * var(--torem));
    font-weight: 500;
    line-height: 1.4;
  }
  .p-product__card-body-text + .p-product__card-body-text {
    margin-top: 1em;
    padding-top: 1em;
    border-top: 1px dashed var(--green);
    font-size: 0.8em;
  }
  .p-fq {
    padding: calc(var(--section-space) * var(--torem)) 0;
  }
  .p-fq__inner {
    padding: 0 4%;
  }
  .p-fq__contents {
    gap: calc(20 * var(--torem));
    margin-block-start: calc(25 * var(--torem));
    display: grid;
  }
  .p-close {
    padding-top: calc(var(--section-space) * var(--torem));
    gap: calc(30 * var(--torem));
    background-image: url(../images/close-bg-BFW4vdYJ.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    display: grid;
  }
  .p-close__card {
    inline-size: 100%;
    max-inline-size: min(84%, 360 * var(--torem));
    padding: calc(22 * var(--torem)) calc(10 * var(--torem)) calc(20 * var(--torem));
    background-color: var(--white);
    border-radius: calc(10 * var(--torem));
    margin-inline: auto;
  }
  .p-close__title {
    font-size: calc(20 * var(--torem));
    color: var(--green);
    text-align: center;
    gap: calc(5 * var(--torem));
    align-items: center;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
    font-weight: 700;
    display: flex;
  }
  .p-close__title:before,
  .p-close__title:after {
    inline-size: calc(26 * var(--torem));
    block-size: calc(26 * var(--torem));
    content: "";
    background: url(../images/close-title-rliFgdUh.png) 50%/contain no-repeat;
    margin-inline: auto;
    display: block;
  }
  .p-close__text {
    margin-top: calc(11 * var(--torem));
    font-size: calc(16 * var(--torem));
    text-align: center;
    font-weight: 400;
    line-height: 1.5;
  }
  .p-close__caption {
    font-size: calc(16 * var(--torem));
    text-align: center;
    font-weight: 400;
    line-height: 1.5;
  }
  .p-close__images {
    justify-content: center;
    gap: calc(10 * var(--torem));
    display: flex;
  }
  .p-close__img {
    max-inline-size: calc(222 * var(--torem));
    inline-size: 100%;
  }
  .p-close__img img {
    aspect-ratio: 222/173;
    -o-object-fit: cover;
       object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-close__img:nth-child(2) {
    max-inline-size: calc(250 * var(--torem));
    inline-size: 100%;
  }
  .p-close__img:nth-child(2) img {
    aspect-ratio: 250/179;
    -o-object-fit: cover;
       object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-footer {
    max-inline-size: calc(var(--inner-width) * var(--torem));
    z-index: 111;
    inline-size: 100%;
    padding: calc(20 * var(--torem));
    background-color: #2b3b3d;
    margin-inline: auto;
    display: block;
    position: relative;
  }
  .p-footer__logo {
    max-inline-size: calc(56 * var(--torem));
    inline-size: 100%;
    margin-inline: auto;
    display: block;
  }
  .p-footer__logo img {
    aspect-ratio: 30/28;
    -o-object-fit: contain;
       object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }
  .p-footer__text {
    font-weight: 350;
    font-size: calc(14 * var(--torem));
    color: var(--white);
    text-align: center;
    margin-block-start: calc(16 * var(--torem));
  }
  .p-footer__links {
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    grid-template-columns: repeat(3, auto);
    margin-block-start: calc(12 * var(--torem));
    margin-inline: auto;
    display: grid;
  }
  .p-footer__link {
    color: var(--white);
    font-size: calc(10 * var(--torem));
    font-weight: 350;
    text-decoration: none;
  }
  .p-footer__link:not(:last-child):after {
    content: "／";
  }
  .p-footer__copyright {
    color: var(--white);
    font-size: calc(10 * var(--torem));
    text-align: center;
    margin-block-start: calc(21 * var(--torem));
    font-weight: 350;
    display: block;
  }
}
:root {
  --font-color: #333;
  --font-size: 16px;
  --font-sub: "Montserrat", "Noto Sans JP", sans-serif;
  --font-main: "Montserrat", "Noto Sans JP", sans-serif;
  --green: #0d8f9b;
  --white: #fff;
  --inline-padding: 15;
  --section-space: 64;
  --inner-width: 560 ;
}