/* Document
 * ========================================================================== */
/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */
*,
::before,
::after {
   box-sizing: border-box; /* 1 */
   background-repeat: no-repeat; /* 2 */
}

/**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */
::before,
::after {
   text-decoration: inherit; /* 1 */
   vertical-align: inherit; /* 2 */
}

/**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Breaks words to prevent overflow in all browsers (opinionated).
  * 4. Use a 4-space tab width in all browsers (opinionated).
  * 5. Remove the grey highlight on links in iOS (opinionated).
  * 6. Prevent adjustments of font size after orientation changes in iOS.
  */
:root {
   overflow-wrap: break-word; /* 3 */
   -moz-tab-size: 4; /* 4 */
   -o-tab-size: 4;
      tab-size: 4; /* 4 */
   -webkit-tap-highlight-color: transparent; /* 5 */
   -webkit-text-size-adjust: 100%; /* 6 */
   -moz-text-size-adjust: 100%;
        text-size-adjust: 100%; /* 6 */
}

/* Sections
  * ========================================================================== */
/**
  * Remove the margin in all browsers (opinionated).
  */
body {
  min-height: 100vh;
  margin: 0;
  position: relative;
}


/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */
/* Grouping content
  * ========================================================================== */
/**
  * Remove the margin on nested lists in Chrome, Edge, and Safari.
  */
/**
  * 1. Correct the inheritance of border color in Firefox.
  * 2. Add the correct box sizing in Firefox.
  */
hr {
   color: inherit; /* 1 */
   height: 0; /* 2 */
}

/**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */
/**
  * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
  */
/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  * 3. Prevent overflow of the container in all browsers (opinionated).
  */
pre {
   font-family: monospace, monospace; /* 1 */
   font-size: 1em; /* 2 */
   overflow: auto; /* 3 */
}

/* Text-level semantics
  * ========================================================================== */
/**
  * Add the correct text decoration in Safari.
  */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b, strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code, kbd, samp {
   font-family: monospace, monospace; /* 1 */
   font-size: 1em; /* 2 */
}

/**
  * Add the correct font size in all browsers.
  */
small {
  font-size: 80%;
}

/* Embedded content
  * ========================================================================== */
/*
  * Change the alignment on media elements in all browsers (opinionated).
  */
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}

/**
  * Remove the border on iframes in all browsers (opinionated).
  */
iframe {
  border-style: none;
}

/**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
svg:not([fill]) {
  fill: currentColor;
}

/* Tabular data
  * ========================================================================== */
/**
  * 1. Collapse border spacing in all browsers (opinionated).
  * 2. Correct table border color in Chrome, Edge, and Safari.
  * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
  */
table {
  border-collapse: collapse; /* 1 */
  border-color: currentColor; /* 2 */
  text-indent: 0; /* 3 */
}

/* Forms
  * ========================================================================== */
/**
  * Remove the margin on controls in Safari.
  */
button, input, select {
  margin: 0;
}

/**
  * Correct the inability to style buttons in iOS and Safari.
  */
button, [type=button i], [type=reset i], [type=submit i] {
  -webkit-appearance: button;
}

/**
  * Change the inconsistent appearance in all browsers (opinionated).
  */
fieldset {
  border: 1px solid #a0a0a0;
}

/**
  * Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */
progress {
  vertical-align: baseline;
}

/**
  * 1. Remove the margin in Firefox and Safari.
  * 3. Change the resize direction in all browsers (opinionated).
  */
textarea {
   margin: 0; /* 1 */
   resize: vertical; /* 3 */
}

/**
  * 1. Correct the odd appearance in Chrome, Edge, and Safari.
  * 2. Correct the outline style in Safari.
  */
[type=search i] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style upload buttons in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
   -webkit-appearance: button; /* 1 */
   font: inherit; /* 2 */
}

/* Interactive
  * ========================================================================== */
/*
  * Add the correct styles in Safari.
  */
dialog {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
  * Add the correct display in Safari.
  */
details > summary:first-of-type {
  display: list-item;
}

/* Accessibility
  * ========================================================================== */
/**
  * Change the cursor on busy elements in all browsers (opinionated).
  */
[aria-busy=true i] {
  cursor: progress;
}

/*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */
[aria-disabled=true i], [disabled] {
  cursor: not-allowed;
}

/*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */
[aria-hidden=false i][hidden] {
  display: initial;
}

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

:root {
  line-height: 1;
  overflow-wrap: break-word;
}

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

body {
  font-family: Poppins, "Noto Sans JP", "Noto Sans Japanese", 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  background: var(--color-white);
  font-weight: 400;
  font-feature-settings: revert;
  letter-spacing: 0;
  color: var(--color-black);
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font: inherit;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dl, dd {
  margin: 0;
}

p {
  margin: 0;
}

blockquote {
  margin: 0;
}

hr {
  margin: 0;
  border: none;
  border-top: 1px solid currentColor;
}

pre {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.1375em;
  transition: var(--transition-duration) var(--transition-timing-function);
}
a.-tel{
  pointer-events: none;
}
@media (max-width:767px) {
  a.-tel{
    pointer-events: auto;
  }
}

figure {
  max-width: 100%;
  margin: 0;
}

img, picture, svg, iframe, video {
  max-width: 100%;
  /* height: auto; */
}
img, picture, svg, video {
  height: auto;
}

table {
  width: 100%;
  table-layout: fixed;
}

tbody, thead {
  vertical-align: inherit;
}

th {
  margin: 0;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

td {
  padding: 0;
}

label {
  display: inline-block;
}

button, input, optgroup, select, textarea {
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

button, [role=button], [type=button], [type=reset], [type=submit]:not(:disabled) {
  cursor: pointer;
  transition-property: opacity;
  transition-duration: var(--transition-duration);
  transition-timing-function: ease;
}

.c-anchor {
  --c-anchor-scroll-margin-top: var(--site-header-height);
  display: block;
  height: 0;
  scroll-margin-top: var(--c-anchor-scroll-margin-top);
  width: 0;
}

:root {
  --icon-arrow-right: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M9.3%201l-.71.71%205.77%205.79H0v1h14.36l-5.77%205.79.71.71L16%208.27v-.54z%22%2F%3E%3C%2Fsvg%3E");
  --icon-arrow-left: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M6.7%201l.71.71L1.64%207.5H16v1H1.64l5.77%205.79-.71.71L0%208.27v-.54z%22%2F%3E%3C%2Fsvg%3E");
  --icon-arrow-b-right: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M10.89%208.29c-.02.03-.04.07-.07.09l-4.46%204.46c-.03.03-.07.02-.1.04v-1.21L9.9%208.04%206.26%204.4V3.2c.03.02.08.02.1.04l4.45%204.45c.03.03.05.06.07.1v.5z%22%2F%3E%3C%2Fsvg%3E");
  --icon-arrow-b-left: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M5.11%207.79c.02-.03.04-.07.07-.1l4.45-4.45c.03-.02.07-.02.11-.04v1.2L6.1%208.04l3.64%203.64v1.21c-.03-.02-.08-.01-.1-.04L5.17%208.38c-.03-.03-.04-.06-.06-.09v-.5z%22%2F%3E%3C%2Fsvg%3E");
  --icon-w-arrow: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2214%22%20viewBox%3D%220%200%2015%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_8_968)%22%3E%3Cpath%20d%3D%22M1.38094%200.257501C1.07935%20-0.0643376%200.571415%20-0.0804296%200.253955%200.209226C-0.0635053%200.514973%20-0.0793783%201.01382%200.206336%201.35175L5.36507%207.00003L0.206336%2012.6483C-0.0952513%2012.9701%20-0.0793783%2013.4851%200.253955%2013.7908C0.412685%2013.9357%200.603162%2014%200.793638%2014C0.999987%2014%201.22221%2013.9196%201.38094%2013.7426L7.04761%207.54716C7.33332%207.24141%207.33332%206.75865%207.04761%206.4529L1.38094%200.257501Z%22%20fill%3D%22%232C2321%22%2F%3E%3Cpath%20d%3D%22M14.7778%206.4529L9.12697%200.257501C8.82538%20-0.0643376%208.31745%20-0.0804296%207.99999%200.209226C7.68253%200.514973%207.66665%201.01382%207.95237%201.35175L13.1111%207.00003L7.95237%2012.6483C7.65078%2012.9701%207.66665%2013.4851%207.99999%2013.7908C8.15872%2013.9357%208.34919%2014%208.53967%2014C8.74602%2014%208.96824%2013.9196%209.12697%2013.7426L14.7936%207.54716C15.0794%207.24141%2015.0794%206.75865%2014.7936%206.4529H14.7778Z%22%20fill%3D%22%232C2321%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_8_968%22%3E%3Crect%20width%3D%2215%22%20height%3D%2214%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
  --icon-line: url("data:image/svg+xml;charset=utf8,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2221%22%20height%3D%2219.9953%22%20viewBox%3D%220%200%2021%2019.9953%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cg%20id%3D%22Group%20151%22%3E%20%3Cpath%20id%3D%22Vector%22%20d%3D%22M20.9883%208.51598C20.9883%203.81468%2016.2776%200%2010.4942%200C4.71072%200%200%203.81468%200%208.51598C0%2012.7273%203.74292%2016.2621%208.78012%2016.927C9.11827%2017.0087%209.59634%2017.1487%209.70128%2017.4403C9.80622%2017.6969%209.77124%2018.1286%209.73626%2018.3852L9.59633%2019.2834C9.56135%2019.5401%209.38645%2020.3217%2010.5058%2019.8434C11.6252%2019.3768%2016.5575%2016.2853%2018.7612%2013.7539C20.2654%2012.0857%2021%2010.3942%2021%208.51598H20.9883Z%22%20fill%3D%22var%28--fill-0%2C%20white%29%22%2F%3E%20%3Cg%20id%3D%22Group%22%3E%20%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M6.7979%2011.0238C6.7979%2011.1288%206.70461%2011.2221%206.59967%2011.2221H3.64964C3.5447%2011.2221%203.45142%2011.1288%203.45142%2011.0238V6.43919C3.45142%206.3342%203.5447%206.24083%203.64964%206.24083H4.39589C4.50083%206.24083%204.59411%206.3342%204.59411%206.43919V10.0789H6.59967C6.70461%2010.0789%206.7979%2010.1722%206.7979%2010.2772V11.0238Z%22%20fill%3D%22var%28--fill-0%2C%20%23100F0E%29%22%2F%3E%20%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.37243%206.24093H7.62582C7.51629%206.24093%207.4275%206.32977%207.4275%206.4393V11.0122C7.4275%2011.1218%207.51629%2011.2105%207.62582%2011.2105H8.37243C8.48195%2011.2105%208.57074%2011.1218%208.57074%2011.0122V6.4393C8.57074%206.32977%208.48195%206.24093%208.37243%206.24093Z%22%20fill%3D%22var%28--fill-0%2C%20%23100F0E%29%22%2F%3E%20%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M13.6307%2011.0239C13.6307%2011.1289%2013.5374%2011.2222%2013.4324%2011.2222H12.6978C12.6978%2011.2222%2012.6629%2011.2222%2012.6512%2011.2105H12.6162C12.6162%2011.2105%2012.6046%2011.2105%2012.6046%2011.1989C12.5696%2011.1872%2012.5579%2011.1756%2012.5346%2011.1522L10.4358%208.31747V11.0355C10.4358%2011.1405%2010.3425%2011.2339%2010.2375%2011.2339H9.4913C9.38635%2011.2339%209.29307%2011.1405%209.29307%2011.0355V6.4509C9.29307%206.34591%209.38635%206.25261%209.4913%206.25261H10.3425C10.3425%206.25261%2010.3541%206.25262%2010.3541%206.26428C10.3541%206.26428%2010.3658%206.2643%2010.3658%206.27596H10.3775C10.3775%206.27596%2010.3891%206.29926%2010.3891%206.31092L12.488%209.14569V6.4393C12.488%206.33431%2012.5812%206.24093%2012.6862%206.24093H13.4324C13.5374%206.24093%2013.6307%206.33431%2013.6307%206.4393V11.0239Z%22%20fill%3D%22var%28--fill-0%2C%20%23100F0E%29%22%2F%3E%20%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M17.7002%207.186C17.7002%207.29099%2017.6069%207.38437%2017.5019%207.38437H15.4964V8.15427H17.5019C17.6069%208.15427%2017.7002%208.24758%2017.7002%208.35257V9.0992C17.7002%209.20419%2017.6069%209.29749%2017.5019%209.29749H15.4964V10.0675H17.5019C17.6069%2010.0675%2017.7002%2010.1608%2017.7002%2010.2658V11.0124C17.7002%2011.1174%2017.6069%2011.2107%2017.5019%2011.2107H14.5636C14.4586%2011.2107%2014.3654%2011.1174%2014.3654%2011.0124V6.45105C14.3654%206.34606%2014.4586%206.25275%2014.5636%206.25275H17.5019C17.6069%206.25275%2017.7002%206.34606%2017.7002%206.45105V7.186Z%22%20fill%3D%22var%28--fill-0%2C%20%23100F0E%29%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E");
  --icon-instagram: url("data:image/svg+xml;charset=utf8,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cg%20id%3D%22Group%22%3E%20%3Cpath%20id%3D%22Vector%22%20d%3D%22M9%201.62C11.4075%201.62%2011.6887%201.61999%2012.6337%201.67624C13.5112%201.72124%2013.9838%201.86752%2014.31%201.99127C14.7263%202.16002%2015.03%202.35124%2015.345%202.66624C15.66%202.98124%2015.8512%203.28498%2016.02%203.70123C16.1437%204.01623%2016.29%204.50003%2016.335%205.37753C16.38%206.32253%2016.3912%206.61501%2016.3912%209.01126C16.3912%2011.4075%2016.38%2011.7%2016.335%2012.645C16.29%2013.5225%2016.1437%2013.995%2016.02%2014.3212C15.8512%2014.7375%2015.66%2015.0413%2015.345%2015.3563C15.03%2015.6713%2014.7263%2015.8625%2014.31%2016.0313C13.995%2016.155%2013.5112%2016.3013%2012.6337%2016.3463C11.6887%2016.3913%2011.3963%2016.4025%209%2016.4025C6.60375%2016.4025%206.31125%2016.3913%205.36625%2016.3463C4.48875%2016.3013%204.01625%2016.155%203.69%2016.0313C3.27375%2015.8625%202.97%2015.6713%202.655%2015.3563C2.34%2015.0413%202.14875%2014.7375%201.98%2014.3212C1.85625%2014.0062%201.71%2013.5225%201.665%2012.645C1.63125%2011.6887%201.62%2011.4075%201.62%209C1.62%206.5925%201.62%206.31127%201.67625%205.36627C1.72125%204.48877%201.8675%204.01628%201.99125%203.69003C2.16%203.27378%202.35125%202.96998%202.66625%202.65498C2.98125%202.33998%203.285%202.14876%203.70125%201.98001C4.01625%201.85626%204.5%201.70998%205.3775%201.66498C6.31125%201.63123%206.5925%201.62%209%201.62ZM9%200C6.55875%200%206.24375%20-1.37337e-05%205.2875%200.0562363C4.33125%200.101236%203.67875%200.247481%203.105%200.472481C2.50875%200.697481%202.01375%201.01253%201.5075%201.50753C1.0125%202.01378%200.697498%202.50876%200.472498%203.10501C0.247498%203.67876%200.101249%204.33126%200.0562491%205.28751C0.0112491%206.24376%200%206.55875%200%209C0%2011.4413%20-8.59145e-07%2011.7562%200.0562491%2012.7125C0.101249%2013.6687%200.247498%2014.3212%200.472498%2014.895C0.697498%2015.4912%201.0125%2015.9863%201.5075%2016.4925C2.0025%2016.9875%202.50875%2017.3025%203.105%2017.5275C3.67875%2017.7525%204.33125%2017.8988%205.2875%2017.9438C6.24375%2017.9888%206.55875%2018%209%2018C11.4413%2018%2011.7562%2017.9888%2012.7125%2017.9438C13.6687%2017.8988%2014.3212%2017.7525%2014.895%2017.5275C15.4912%2017.3025%2015.9862%2016.9875%2016.4925%2016.4925C16.9875%2015.9975%2017.3025%2015.4912%2017.5275%2014.895C17.7525%2014.3212%2017.8987%2013.6687%2017.9437%2012.7125C17.9887%2011.7562%2018%2011.4413%2018%209C18%206.55875%2017.9887%206.24376%2017.9437%205.28751C17.8987%204.33126%2017.7525%203.67876%2017.5275%203.10501C17.3025%202.50876%2016.9875%202.01378%2016.4925%201.50753C15.9975%201.01253%2015.4912%200.697481%2014.895%200.472481C14.3212%200.247481%2013.6687%200.101236%2012.7125%200.0562363C11.7562%200.0112363%2011.4413%200%209%200Z%22%20fill%3D%22var%28--fill-0%2C%20white%29%22%2F%3E%20%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M8.99993%204.37644C6.44618%204.37644%204.37618%206.44642%204.37618%209.00017C4.37618%2011.5539%206.44618%2013.6239%208.99993%2013.6239C11.5537%2013.6239%2013.6237%2011.5539%2013.6237%209.00017C13.6237%206.44642%2011.5537%204.37644%208.99993%204.37644ZM8.99993%2012.0039C7.34618%2012.0377%205.97368%2010.7214%205.93993%209.05641C5.90618%207.40266%207.22243%206.03019%208.88743%205.99644C8.92118%205.99644%208.96618%205.99644%208.99993%205.99644C10.6537%206.03019%2011.9812%207.40266%2011.9474%209.05641C11.9137%2010.6652%2010.6199%2011.9702%208.99993%2012.0039Z%22%20fill%3D%22var%28--fill-0%2C%20white%29%22%2F%3E%20%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M13.8037%205.27648C14.4001%205.27648%2014.8837%204.79292%2014.8837%204.19645C14.8837%203.59999%2014.4001%203.1165%2013.8037%203.1165C13.2072%203.1165%2012.7237%203.59999%2012.7237%204.19645C12.7237%204.79292%2013.2072%205.27648%2013.8037%205.27648Z%22%20fill%3D%22var%28--fill-0%2C%20white%29%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E");
  --icon-plus: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cline%20x1%3D%221%22%20y1%3D%229%22%20x2%3D%2217%22%20y2%3D%229%22%20stroke%3D%22%231F8D61%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cline%20x1%3D%229%22%20y1%3D%221%22%20x2%3D%229%22%20y2%3D%2217%22%20stroke%3D%22%231F8D61%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --icon-arrow-d-right: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cg%3E%3Cpath%20d%3D%22M14.78%208.64l-3.55-3.55c-.29-.29-.77-.29-1.06%200s-.29.77%200%201.06l2.27%202.27H5.56c-1.15%200-2.07-.93-2.07-2.07v-4.6c0-.41-.33-.75-.75-.75s-.75.33-.75.75v4.59c0%201.97%201.6%203.57%203.57%203.57h6.88l-2.27%202.27c-.29.29-.29.77%200%201.06s.77.29%201.06%200l3.55-3.55c.29-.29.29-.76%200-1.06%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");

  --color-white: #FFFEFA;
  --color-white-b: #F5F5F5;
  --color-offwhite: #F2F2F1;
  --color-offwhite-b: #efefef;
  --color-black: #100F0E;
  --color-black-b: #201E1D;
  --color-black-c: #7F7370;
  --color-black-light: #645E5C;
  --color-gray: #C6C6C6;
  --color-gray-b: #8C8E84;
  --color-gray-c: #ACACAC;
  --color-gray-light: #F8F1E6;
  --color-gray-black: #918D8C;
  --color-beige-light: #F8F1E6;
  --color-yellow-light: #FCEFD4;
  --color-brown: #8A4F28;
  --color-brown-b: #C67139;
  --color-red: #F26108;
  --color-orange: #A4551F;
  --color-orange-light: #FFF3E4;
  --color-green: #1F8D61;
  --color-blue: #30B6C4;
  --color-yellow: #DCEFBE;

  --font-poppins: 'Poppins', sans-serif;
  --font-sansJP: 'Noto Sans JP', sans-serif;
  --font-serifJP: 'Noto Serif JP', serif;
  --font-zcool: 'ZCOOL XiaoWei', sans-serif;

  --transition-duration: 0.3s;
  --transition-opacity: 0.65;
  --transition-timing-function: ease;
  --z-index-c-loader: 1000;
  --z-index-site-wrap-drawerBtn: 600;
  --z-index-c-drawer: 550;
  --z-index-site-wrap-header: 150;
  --z-index-site-wrap-sideNav: 150;
  --z-index-site-pagetop: 750;
  --z-index-site-sideNav: 700;
  --z-index-page-fixedToc: 80;
  --px-10: 10px;
  --px-20: 20px;
  --px-30: 30px;
  --px-40: 40px;
  --px-50: 50px;
  --px-60: 60px;
  --px-70: 70px;
  --px-80: 80px;
  --px-90: 90px;
  --px-100: 100px;
  --px-110: 110px;
  --px-120: 120px;
  --px-130: 130px;
  --px-140: 140px;
  --px-150: 150px;
  --px-200: 200px;
  --px-250: 250px;
  --px-300: 300px;
  --px-350: 350px;
  --px-400: 400px;
  --px-450: 450px;
  --px-500: 500px;
  --px-550: 550px;
  --px-600: 600px;
  --px-650: 650px;
  --px-700: 700px;
  --px-750: 750px;
  --px-800: 800px;
  --leading-trim: calc((1em - 1lh) / 2);
  --content-gutter-medium: 3vw;
  --content-gutter: 6vw;
  --content-gutter-large: 20vw;
  --content-width-small: min(90vw, 1120px);
  --content-width-medium: min(90vw, 1200px);
  --content-width-large: min(90vw, 1420px);
  --content-width-xlarge: min(90vw, 1500px);
  --text-shadow-opacity50: 0 0 10px rgba(0, 0, 0, .5);
  --shadow-opacity50: 0 0 10px 0 rgba(0, 0, 0, .5);
  --shadow-opacity25: 0px 4px 4px 0 rgba(0, 0, 0, .25);
  --site-header-height: 120px;
  --site-header-scrolled-height: 90px;
  --site-wrap-border-width: clamp(10px, 1.1428571429vw, 16px);
  --c-iconBtn-site-wrap-drawerBtn-width: clamp(67px, 11.4285714286vw, 160px);
  --font-10: 10px;
  --font-11: 11px;
  --font-12: 12px;
  --font-13: 13px;
  --font-14: 14px;
  --font-15: 15px;
  --font-16: 16px;
  --font-17: 17px;
  --font-18: 18px;
  --font-19: 19px;
  --font-20: 20px;
  --font-21: 21px;
  --font-22: 22px;
  --font-23: 23px;
  --font-24: 24px;
  --font-25: 25px;
  --font-26: 26px;
  --font-27: 27px;
  --font-28: 28px;
  --font-29: 29px;
  --font-30: 30px;
  --font-31: 31px;
  --font-32: 32px;
  --font-33: 33px;
  --font-34: 34px;
  --font-35: 35px;
  --font-36: 36px;
  --font-37: 37px;
  --font-38: 38px;
  --font-39: 39px;
  --font-40: 40px;
  --font-41: 41px;
  --font-42: 30px;
  --font-43: 43px;
  --font-44: 44px;
  --font-45: 45px;
  --font-46: 46px;
  --font-47: 47px;
  --font-48: 48px;
  --font-49: 49px;
  --font-50: 50px;
  --font-60: 60px;
  --font-70: 70px;
  --font-80: 80px;
  --font-90: 90px;
}
@media (max-width: 766px) {
  :root{
    --content-width-small: 90vw;
    --content-width-medium: 90vw;
    --content-width-large: 90vw;
    --content-width-xlarge: 90vw;
  }
}
@media (max-width: 959px) {
  :root {
    --px-10: calc(10px * .65);
    --px-20: calc(20px * .65);
    --px-30: calc(30px * .65);
    --px-40: calc(40px * .65);
    --px-50: calc(50px * .65);
    --px-60: calc(60px * .65);
    --px-70: calc(70px * .65);
    --px-80: calc(80px * .65);
    --px-90: calc(90px * .65);
    --px-100: calc(100px * .65);
    --px-110: calc(110px * .65);
    --px-120: calc(120px * .65);
    --px-130: calc(130px * .65);
    --px-140: calc(140px * .65);
    --px-150: calc(150px * .65);
    --px-200: calc(200px * .65);
    --px-250: calc(250px * .65);
    --px-300: calc(300px * .65);
    --px-350: calc(350px * .65);
    --px-400: calc(400px * .65);
    --px-450: calc(450px * .65);
    --px-500: calc(500px * .65);
    --px-550: calc(550px * .65);
    --px-600: calc(600px * .65);
    --px-650: calc(650px * .65);
    --px-700: calc(700px * .65);
    --px-750: calc(750px * .65);
    --px-800: calc(800px * .65);
  }
}
@media (max-width: 959px) {
  :root {
    --site-header-height: 100px;
    --site-wrap-border-width: 0px;
  }
}
@media (max-width: 959px) {
  :root {
    --font-10: 10px;
    --font-11: 11px;
    --font-12: 11px;
    --font-13: 12px;
    --font-14: 13px;
    --font-15: 13px;
    --font-16: 15px;
    --font-17: 15px;
    --font-18: 16px;
    --font-19: 16px;
    --font-20: 16px;
    --font-21: 17px;
    --font-22: 18px;
    --font-23: 18px;
    --font-24: 19px;
    --font-25: 19px;
    --font-26: 20px;
    --font-27: 21px;
    --font-28: 21px;
    --font-29: 22px;
    --font-30: 23px;
    --font-31: 23px;
    --font-32: 24px;
    --font-33: 24px;
    --font-34: 25px;
    --font-35: 26px;
    --font-36: 26px;
    --font-37: 27px;
    --font-38: 28px;
    --font-39: 28px;
    --font-40: 29px;
    --font-41: 29px;
    --font-43: 31px;
    --font-44: 31px;
    --font-45: 32px;
    --font-46: 33px;
    --font-47: 33px;
    --font-48: 34px;
    --font-49: 34px;
    --font-50: 35px;
    --font-60: 41px;
    --font-70: 48px;
    --font-80: 54px;
    --font-90: 60px;
  }
}

._d-none {
  display: none !important;
}
._d-block {
  display: block !important;
}
@media (min-width: 460px) {
  ._d-ssm-none {
    display: none !important;
  }
  ._d-ssm-block {
    display: block !important;
  }
}
@media (min-width: 560px) {
  ._d-sm-none {
    display: none !important;
  }
  ._d-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) {
  ._d-md-none {
    display: none !important;
  }
  ._d-md-block {
    display: block !important;
  }
}
@media (min-width: 960px) {
  ._d-lg-none {
    display: none !important;
  }
  ._d-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  ._d-xl-none {
    display: none !important;
  }
  ._d-xl-block {
    display: block !important;
  }
}

/** ==================================================
 * narynglish 固有の追加変数
 * ================================================ */
:root{
  /* -- color -- */
  --color-green-b: #3DA148;
  --color-gradient-green: linear-gradient(100deg, var(--color-green) 0%, var(--color-green-b) 100%);
  --color-border: rgba(32,30,29,.12);
  --color-border-light: rgba(32,30,29,.08);
  --color-tag-green-bg: #e9f2e2;
  --color-tag-green-text: #4a6b34;
  --color-tag-gray-bg: #efe9df;

  --transition: var(--transition-duration) var(--transition-timing-function);

  --radius-pill: 999px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;

  --shadow-card: 0 2px 12px rgba(32,30,29,.05);
  --shadow-md: 0 10px 26px rgba(32,30,29,.14);
  --shadow-lg: 0 18px 44px rgba(32,30,29,.14);

  --section-py: clamp(52px, 7.5vw, 112px);
  --gap-lg: clamp(20px, 4vw, 70px);
  --gap-md: clamp(14px, 2vw, 26px);
  --gap-sm: clamp(8px, 1vw, 14px);

  --fs-eyebrow: 14px;
  --fs-2xl: 62px;   /* H1（ヒーロー見出し） */
  --fs-xl: 42px;    /* H2（セクション見出し） */
  --fs-lg: 34px;    /* H2副系統／H3大 */
  --fs-md: 26px;    /* H3／H4 */
  --fs-sm-title: 20px; /* H4／H5 */
  --fs-lead-serif: 21px; /* 明朝リード文 */
  --fs-body-serif: 17px; /* 明朝本文 */
  --fs-quote-serif: 22px; /* 明朝一言 */
  --fs-body: 16px;
  --fs-small: 14px;
  --fs-stat-xl: 84px;
  --fs-stat-lg: 46px;
}
@media (max-width: 767px){
  :root{
    --fs-2xl: 30px;
    --fs-xl: 25px;
    --fs-lg: 22px;
    --fs-md: 18px;
    --fs-sm-title: 16px;
    --fs-lead-serif: 16px;
    --fs-body-serif: 15px;
    --fs-quote-serif: 19px;
    --fs-body: 14px;
    --fs-stat-xl: 52px;
    --fs-stat-lg: 34px;
  }
}

/** ==================================================
 * narynglish 固有のリセット微調整
 * ================================================ */
img, picture, svg, video{
  display: block;
}
button{
  background: none;
  border: none;
  padding: 0;
}
/** ==================================================
 * UTILITY - 改行位置の制御（フレーズ内では折り返さない）
 * ================================================ */
._nowrap{
  white-space: nowrap;
}
/** ==================================================
 * COMMON - Eyebrow（セクション頭のアイキャッチラベル）
 * ================================================ */
.eyebrow{
  font: 400 var(--font-18)/1em var(--font-zcool);
  letter-spacing: .24em;
  color: var(--color-brown);
  margin-bottom: 18px;
}
/** ==================================================
 * COMMON - Heading（見出し：アイキャッチ＋タイトル）
 * ================================================ */
.c-heading > .eyebrow{
  font: 400 var(--font-18)/1.6 var(--font-zcool);
  letter-spacing: .22em;
  color: var(--color-brown);
  margin-bottom: var(--gap-sm);
}
.c-heading > .eyebrow.-yellow{
  color: var(--color-yellow);
}
.c-heading > .ttl{
  font: 700 var(--font-40)/1.6 var(--font-poppins);
  color: var(--color-black-b);
}
.c-heading > .ttl.-white{
  color: var(--color-white);
}
.c-heading > .lead{
  margin-top: 12px;
  font: 400 var(--font-16)/1.8 var(--font-poppins);
  color: var(--color-black);
}

/** ==================================================
 * COMMON - Button
 * ================================================ */
.c-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  padding: 1em var(--px-30);
  font: 700 var(--font-16)/1.6 var(--font-poppins);
  text-align: center;
  text-decoration: none;
  transition: background var(--transition), color var(--transition), border-color var(--transition), opacity var(--transition);
}
.c-btn.-block{
  display: flex;
  width: 100%;
}
.c-btn.-primary{
  background: var(--color-gradient-green);
  color: var(--color-white);
  box-shadow: 0 6px 18px rgba(0,123,67,.22);
}
@media (hover: hover){
  .c-btn.-primary:hover{
    opacity: .85;
    box-shadow: none;
  }
}
.c-btn.-outline{
  border: 2px solid var(--color-green);
  color: var(--color-green);
  background: var(--color-white);
}
.c-btn.-outline.-gray{
  border-color: var(--color-border);
  color: var(--color-black-b);
}
.c-btn.-outline.-white{
  border-color: rgba(255,254,250,.6);
  color: var(--color-white);
  background: rgba(255,254,250,.08);
}
.c-btn.-white{
  background: var(--color-white);
  color: var(--color-green);
}
@media (hover: hover){
  .c-btn.-outline:hover,
  .c-btn.-white:hover{
    opacity: .7;
  }
}
@media (max-width: 767px){
  .c-btn{
    width: 100%;
    padding: 15px;
  }
}
@media (max-width:767px) {
  .header > .inner > .flx > .actions > .cta{
    display: none;
  }
}

/** ==================================================
 * COMMON - Tag（ピル型ラベル）
 * ================================================ */
.c-tag{
  display: inline-block;
  border-radius: var(--radius-pill);
  padding: 9px 16px;
  font: 700 14px/1 var(--font-poppins);
  white-space: nowrap;
  min-width: 100px;
  text-align: center;
}
.c-tag.-outline{
  background: var(--color-white);
  border: 1px solid var(--color-border);
  font-weight: 500;
}
.c-tag.-outline.-beige{
  background: var(--color-beige-light);
  border: 1px solid var(--color-beige-light);
}
.c-tag.-green{
  background: var(--color-tag-green-bg);
  color: var(--color-tag-green-text);
}
.c-tag.-orange{
  background: var(--color-orange-light);
  color: var(--color-orange);
}
.c-tag.-gray{
  background: var(--color-tag-gray-bg);
  color: var(--color-black);
}

/** ==================================================
 * COMMON - Arrow link（テキストリンク＋矢印）
 * ================================================ */
.c-arrow-link{
  display: inline-flex;
  align-items: center;
  font: 700 18px/1.6 var(--font-poppins);
  color: var(--color-green);
  text-decoration: none;
}
@media (hover: hover){
  .c-arrow-link:hover{
    opacity: .7;
  }
}

/** ==================================================
 * COMMON - Breadcrumb（パンくずリスト／template-parts/c-breadcrumb.php）
 * ================================================ */
.c-breadcrumb > .list{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font: 400 var(--font-14)/1 var(--font-poppins);
}
.c-breadcrumb > .list > .item{
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-black);
}
.c-breadcrumb > .list > .item + .item::before{
  content: "/";
  color: var(--color-brown);
}
.c-breadcrumb > .list > .item > .link{
  color: var(--color-green);
  text-decoration: none;
}
@media (hover: hover){
  .c-breadcrumb > .list > .item > .link:hover{
    opacity: .7;
  }
}

/** ==================================================
 * ページ読み込みローディング（.site-loader）
 * ================================================ */
.site-loader{
  position: fixed;
  inset: 0 0 0 auto;
  width: 100%;
  z-index: var(--z-index-c-loader);
  background: var(--color-white);
  transition: width .5s cubic-bezier(.77,0,.175,1) .1s;
}
.site-loader::after{
  content: "";
  position: fixed;
  inset: 0 0 0 auto;
  width: 100%;
  background: var(--color-white);
  transition: width .5s cubic-bezier(.77,0,.175,1);
}
.site-loader.is-loaded{
  width: 0%;
  pointer-events: none;
}
.site-loader.is-loaded::after{
  width: 0%;
}

/** ==================================================
 * Header
 * ================================================ */
.header{
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
}
.header > .inner{
  width: 100%;
  padding: var(--px-20) clamp(10px, 2.2222222222vw, 40px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--px-30);
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);
}
.header > .inner > .logo{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1em;
  white-space: nowrap;
}
.header > .inner > .logo > .mark-image{
  display: block;
  width: 200px;
  height: auto;
}
.header > .inner > .logo > .text{
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.header > .inner > .logo > .text > .name{
  font: 700 13px/1 var(--font-sansJP);
  color: var(--color-black);
}
.header > .inner > .logo > .text > .catch{
  font: 400 13px/1 var(--font-sansJP);
  color: var(--color-black);
}
.header > .inner > .flx{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap-reverse;
  gap: var(--px-20);
}
.header > .inner > .flx > .nav{
  display: flex;
  align-items: center;
  gap: var(--px-20);
  white-space: nowrap;
  font: 500 16px/1 var(--font-sansJP);
  color: var(--color-black);
}
.header > .inner > .flx > .nav > a{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: opacity var(--transition);
}
@media (hover: hover){
  .header > .inner > .flx > .nav > a:hover{
    opacity: .65;
  }
}
.header > .inner > .flx > .actions{
  display: flex;
  align-items: center;
  flex-wrap: wrap-reverse;
  justify-content: flex-end;
  gap: 10px;
}
.header > .inner > .flx > .actions > .sns{
  display: flex;
  align-items: center;
  gap: 10px;
}
.icon-circle{
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: var(--radius-pill);
  background: var(--color-black);
  display: flex;
  align-items: center;
  justify-content: center;
}
.header > .inner > .flx > .actions > .cta{
  width: auto;
  flex: none;
  padding: 16px 26px;
  font-size: var(--font-16);
  white-space: nowrap;
}
@media (max-width: 1023px){
  .header > .inner{
    padding: 10px;
  }
  .header > .inner > .flx > .nav{
    display: none;
  }
  .header > .inner > .flx > .actions > .sns{
    display: none;
  }
  .header > .inner > .flx > .actions > .cta{
    padding: 10px 15px;
    font-size: var(--font-14);
    transform: translateX(-60px);
  }
}

/** ==================================================
 * ハンバーガーボタン
 * ================================================ */
.hamburger{
  display: none;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-pill);
  border: none;
  background: var(--color-gradient-green);
  align-items: center;
  justify-content: center;
  transition: opacity var(--transition);
}
@media (hover: hover){
  .hamburger:hover{
    opacity: .8;
  }
}
@media (max-width: 1023px){
  .hamburger{
    display: flex;
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: var(--z-index-site-wrap-drawerBtn);
  }
}
@media (max-width:767px) {
  .header > .inner > .logo > .text{
    display: none;
  }
}

/** ==================================================
 * 固定表示ロゴ（.site-logo-fixed）
 * ================================================ */
.site-logo-fixed{
  display: none;
}
@media (max-width: 1023px){
  .site-logo-fixed{
    display: block;
    position: fixed;
    top: 14px;
    left: 14px;
    z-index: var(--z-index-site-wrap-drawerBtn);
  }
  .site-logo-fixed > img{
    display: block;
    width: 160px;
    height: auto;
  }
  .header > .inner > .logo{
    visibility: hidden;
  }
}

/** ==================================================
 * ハンバーガーアイコン（開閉で3本のバーが×に変形する）
 * ================================================ */
.c-hamburger{
  --c-hamburger-width: 20px;
  --c-hamburger-weight: 2px;
  --c-hamburger-gap: 5px;
  --c-hamburger-rotate: 25deg;
  display: inline-grid;
  gap: var(--c-hamburger-gap);
  width: var(--c-hamburger-width);
  height: calc(var(--c-hamburger-weight) * 3 + var(--c-hamburger-gap) * 2);
}
.c-hamburger > .bar{
  width: 100%;
  height: var(--c-hamburger-weight);
  border-radius: var(--c-hamburger-weight);
  background: var(--color-white);
  transition: transform var(--transition), opacity var(--transition);
}
[aria-expanded="true"] .c-hamburger > .bar:first-child{
  transform: translateY(calc(var(--c-hamburger-weight) + var(--c-hamburger-gap))) rotate(var(--c-hamburger-rotate));
}
[aria-expanded="true"] .c-hamburger > .bar:nth-child(2){
  opacity: 0;
}
[aria-expanded="true"] .c-hamburger > .bar:nth-child(3){
  transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-gap)) * -1)) rotate(calc(var(--c-hamburger-rotate) * -1));
}

/** ==================================================
 * Drawer（モバイル用ナビゲーション、フルスクリーン表示）
 * ================================================ */
.drawer{
  position: fixed;
  inset: 0;
  z-index: var(--z-index-c-drawer);
  display: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition), visibility var(--transition);
}
.header.-open ~ .drawer{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.drawer > .panel{
  position: relative;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background: var(--color-white);
  display: flex;
  flex-direction: column;
}
.drawer > .panel > .body{
  flex: 1 0 auto;
  padding: 90px 20px 30px;
}
.drawer > .panel > .body > .nav{
  display: flex;
  flex-direction: column;
}
.drawer > .panel > .body > .nav > .item{
  border-bottom: 1px solid var(--color-border);
}
.drawer > .panel > .body > .nav > .item > a{
  display: block;
  padding: 18px 4px;
  font: 700 16px/1.6 var(--font-sansJP);
  color: var(--color-black-b);
}
.cp-drawer-accordion > .summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 18px 4px;
  font: 700 16px/1.6 var(--font-sansJP);
  color: var(--color-black-b);
  cursor: pointer;
  list-style: none;
}
.cp-drawer-accordion > .summary::-webkit-details-marker{
  display: none;
}
.cp-drawer-accordion > .summary > .icon{
  position: relative;
  flex: none;
  width: 16px;
  height: 16px;
}
.cp-drawer-accordion > .summary > .icon > .plus,
.cp-drawer-accordion > .summary > .icon > .plus::before{
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: var(--color-green);
  transition: transform var(--transition);
}
.cp-drawer-accordion > .summary > .icon > .plus::before{
  transform: rotate(90deg);
}
.cp-drawer-accordion[open] > .summary > .icon > .plus::before{
  transform: rotate(0deg);
}
.cp-drawer-accordion > .panel{
  overflow: hidden;
}
.cp-drawer-accordion > .panel > .inner{
  padding-bottom: 14px;
}
.cp-drawer-accordion .sublist{
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cp-drawer-accordion .sublist > .item > a{
  display: block;
  padding: 10px 4px 10px 16px;
  font: 500 14px/1.6 var(--font-poppins);
  color: var(--color-black);
  position: relative;
}
.cp-drawer-accordion .sublist > .item > a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: var(--radius-pill);
  background: var(--color-green);
  transform: translateY(-50%);
}
.drawer > .panel > .body > .cta{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}
.drawer > .panel > .foot{
  flex: none;
  padding: 20px;
  background: var(--color-beige-light);
}
.drawer > .panel > .foot > .address{
  margin-bottom: 14px;
  font: 400 13px/1.7 var(--font-poppins);
  color: var(--color-black);
}
.drawer > .panel > .foot > .sns{
  display: flex;
  gap: 10px;
}
@media (max-width: 1023px){
  .drawer{
    display: block;
  }
}

/** ==================================================
 * Footer
 * ================================================ */
.footer{
  background: var(--color-white);
  padding: 80px 20px 40px;
  border-top: 1px solid var(--color-border-light);
}
.footer > .inner{
  width: var(--content-width-large);
  margin-inline: auto;
}
.footer > .inner > .top{
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
  gap: var(--px-40);
  margin-bottom: 56px;
}
.footer > .inner > .top > .about{
  grid-column: auto;
}
.footer > .inner > .top > .about > .logo{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.footer > .inner > .top > .about > .logo > .mark-image{
  height: 40px;
  width: auto;
}
.footer > .inner > .top > .about > .logo > .text{
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.footer > .inner > .top > .about > .logo > .text > .name{
  font: 700 14px/1em var(--font-sansJP);
  color: var(--color-black);
  letter-spacing: .04em;
}
.footer > .inner > .top > .about > .logo > .text > .catch{
  font: 400 14px/1em var(--font-sansJP);
  color: var(--color-black);
  letter-spacing: .04em;
}
.footer > .inner > .top > .about > p{
  font: 400 14px/1.9em var(--font-poppins);
  color: var(--color-black);
  margin-bottom: 18px;
}
.footer > .inner > .top > .about > .sns{
  display: flex;
  gap: 10px;
}
.footer > .inner > .top > .col > .ttl{
  font: 400 14px/1em var(--font-zcool);
  letter-spacing: .16em;
  color: var(--color-brown);
  margin-bottom: 14px;
}
.footer > .inner > .top > .col > .list{
  display: inline-flex;
  flex-direction: column;
  gap: 10px;
  font: 400 14px/1.6em var(--font-poppins);
}
@media (hover : hover) { 
  .footer > .inner > .top > .col > .list>a:hover{
    opacity: 0.65;
  }
}
.footer > .inner > .flx{
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--color-border);
  padding-top: 20px;
}
.footer > .inner > .flx> .legal{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1em;
  font: 400 14px/1.6 var(--font-poppins);
}
.footer > .inner >.flx> .copyright{
  display: flex;
  align-items: center;
  gap: 1em;
  font: 400 14px/1 var(--font-zcool);
  color: var(--color-black);
}
@media (max-width: 980px){
  .footer{
    padding: 44px 20px 30px;
  }
  .footer > .inner > .top{
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    display: grid;
    margin-bottom: 26px;
  }
  .footer > .inner > .top > .about{
    grid-column: 1/-1;
  }
}
@media (max-width:767px) {
  .footer > .inner > .top{
    grid-template-columns: repeat(1, 1fr);
  }
  .footer > .inner > .flx{
    flex-direction: column;
    gap: 1em;
  }
  .footer > .inner > .flx> .legal{
    width: 100%;
  }
}

/** ==================================================
 * Mobile fixed CTA（下部固定バー：モバイルのみ表示）
 * ================================================ */
.mobile-cta{
  position: sticky;
  bottom: 0;
  z-index: 80;
  background: rgba(255,254,250,.98);
  border-top: 1px solid var(--color-border);
  padding: 12px 16px;
  display: none;
  gap: 10px;
  align-items: center;
  box-shadow: 0 -4px 14px rgba(32,30,29,.08);
}
.mobile-cta > .c-btn{
  flex: 1;
  padding: 17px;
  font-size: 15px;
}
.mobile-cta > .line{
  width: 60px;
  height: 52px;
  flex: none;
  border: 2px solid var(--color-green);
  border-radius: var(--radius-pill);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1em var(--font-poppins);
  color: var(--color-green);
}
@media (max-width: 767px){
  .mobile-cta{
    display: flex;
  }
}
