@charset "UTF-8";

:root {

  --var-duration: 0.3s;
  --var-opacity: 80%;
  --var-easing: cubic-bezier(0.4, 0, 0.2, 1);

  --var-width-sm: 640px;
  --var-width-md: 768px;
  --var-width-content: 1000px;
  --var-width-lg: 1280px;
  --var-width-max: 1920px;

  /* z-index */
  --var-zindex-dialog: 36;
  --var-zindex-drawer-upper: 24;
  --var-zindex-drawer: 16;
  --var-zindex-floating: 14;
  --var-zindex-header: 10;
  --var-zindex-navigation-upper: 8;
  --var-zindex-navigation: 7;
  --var-zindex-footer: 6;
  --var-zindex-main: 5;
  --var-zindex-modules-upper: 4;
  --var-zindex-modules: 3;
  --var-zindex-element-upper: 2;
  --var-zindex-element: 1;
  --var-zindex-standard: 0;
  --var-zindex-negative: -1;


  --var-html-font-family:
    'Noto Sans JP',
    'Hiragino Kaku Gothic ProN',
    'Hiragino Sans',
    'BIZ UDPGothic',
    'Yu Gothic UI',
    'Meiryo UI',
    'Segoe UI',
    system-ui,
    sans-serif;

  --var-html-font-family-english: "Lato",
    sans-serif;

}

/*----------------------------------------------------------------------*/

header *,
footer * {
  font-family: inherit;
  margin: 0;
  padding: 0;
  color: inherit;
  border: 0 solid;
  overflow-wrap: break-word;
}

/*----------------------------------------------------------------------*/

html {
  scrollbar-gutter: stable;
  font-family: var(--var-html-font-family);
  font-size: calc(16px / 16 * 100%);
  line-height: 1.8;
  color: #000000;
  background-color: #ffffff;
  letter-spacing: 0;
  min-width: 320px;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  min-height: 100svh;
  /* font-feature-settings: "palt" on; */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
  overscroll-behavior-y: none;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--js-header-height) + 1rem);
}

@media screen and (max-width: 374px) {
  html {
    font-size: calc(14 / 16 * 100%);
  }
}

/* :where(*[id]) {
  scroll-margin-top: calc(var(--js-header-height, 65px) + 1rem);
} */

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}

/* アニメーションを無効にする設定をしている場合 */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* アニメーションを無効にする設定をしていない場合 */

@media (prefers-reduced-motion: no-preference) {

  /* 何かにフォーカスがある場合のみ */
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}

:where(body) {
  overflow-x: hidden;
  position: relative;
  margin: 0 auto;
  overflow-y: scroll;
}

/* @  Link Reset
* ------------------------------------------------------------ */

:where(:focus-visible),
button:focus-visible,
a:focus-visible {
  /* outline: 2px solid #8cc63f; */
  /* outline-offset: 2px; */
  /* position: relative; */
  /* z-index: var(--var-zindex-floating); */
}

:where(a) {
  text-decoration: underline;
  color: #005ea2;
  text-underline-offset: 0.2ex;
  /* 下線の上にスペースを追加する */
}

@media (any-hover: hover) {
  :where(a:hover) {
    text-decoration: none;
    color: #1a4480;
  }
}

@media (any-hover: none) {
  :where(a:active) {
    text-decoration: none;
    color: #1a4480;
  }
}

:where([tabindex='-1']:focus) {
  outline: none;
}

/* a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  text-decoration: none;
  color: inherit;
  background-color: transparent;
} */

/* @  Element Reset
/* ------------------------------------------------------------ */

:where(article,
  aside,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  main,
  nav,
  section) {
  display: block;
}

:where(h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  ul,
  ol,
  dl,
  dt,
  dd,
  table,
  figure,
  blockquote)[class] {
  margin: 0;
}

:where(h1) {
  font-size: 20px;
}

:where(hr)[class] {
  overflow: visible;
  height: 0;
}

:where(ul, ol):not([class]) {
  padding-left: 1.5em;
}

:where(ul, ol)[class] {
  padding-left: 0;
  list-style-type: none;
}

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

:where(output) {
  display: inline-block;
}

:where(iframe) {
  border: 0;
}

:where(summary) {
  display: list-item;
  cursor: pointer;
}

:where(details) {
  display: block;
}

:where(template) {
  display: none;
}

/* Add the correct text decoration in Safari. */

:where(abbr[title]) {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  border-bottom: none;
}

:where([hidden]) {
  display: none;
}

:where([hidden] + *) {
  margin-top: 0;
}

/* @  Text Reset
* ------------------------------------------------------------ */

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

:where(small) {
  font-size: 80%;
}

:where(sub, sup) {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

:where(sub) {
  bottom: -0.25em;
}

:where(sup) {
  top: -0.5em;
}

/* @  Form Reset
* ------------------------------------------------------------ */

:where(label) {
  display: inline-block;
}

:where(button) {
  border-radius: 0;
}

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

:where(input, button, select, optgroup, textarea) {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

:where(button, select) {
  text-transform: none;
  border-style: solid;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

/* field-sizing対応 */

@supports (field-sizing: content) {
  :where(textarea, select) {
    field-sizing: content;
  }
}

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

:where(:disabled) {
  cursor: not-allowed;
}

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

:where(select) {
  word-wrap: normal;
}

:where(select:disabled) {
  opacity: 1;
}

:where([list]::-webkit-calendar-picker-indicator) {
  display: none;
}

:where(button, [type='button' i], [type='reset' i], [type='submit' i]) {
  -webkit-appearance: button;
}

/* button:not(:disabled),
[type='button']:not(:disabled),
[type='reset']:not(:disabled),
[type='submit']:not(:disabled) {
  cursor: pointer;
} */

::-moz-focus-inner {
  border-style: none;
}

:where(progress) {
  vertical-align: baseline;
}

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

:where(fieldset) {
  min-width: 0;
  border: 0;
}

@supports selector(::-webkit-datetime-edit-fields-wrap) {

  ::-webkit-datetime-edit-fields-wrap,
  ::-webkit-datetime-edit-text,
  ::-webkit-datetime-edit-minute,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-year-field {
    padding: 0;
  }
}

::-webkit-inner-spin-button {
  height: auto;
}

:where([type='search' i]) {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

::-webkit-file-upload-button {
  font: inherit;
}

::file-selector-button {
  font: inherit;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

/* Interactive
 * ========================================================================== */

:where(dialog) {
  background-color: white;
  border: none;
  color: black;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
}

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

:where(details > summary:first-of-type) {
  display: list-item;
}

/* Accessibility
 * ========================================================================== */

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

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

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

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

/* @  Media Reset
* ------------------------------------------------------------ */

:where(img, picture, svg) {
  max-inline-size: 100%;
  /* images should never overflow past the available space */
  block-size: auto;
  /* アスペクト比を保持 */
  vertical-align: middle;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
  /* 置換された要素をより予測可能にする */
}

:where(img, video) {
  max-width: 100%;
  height: auto;
}

:where(img) {
  border-style: none;
  -webkit-touch-callout: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

:where(svg:not(:root)) {
  overflow: hidden;
}

:where(audio:not([controls])) {
  display: none;
  height: 0;
}

/* @ Code Reset
 * ------------------------------------------------------------ */

:where(blockquote) {
  border-left: solid 5px #C3C3C3;
  color: #666666;
  padding: 4px 10px;
}

:where(code, kbd, pre, samp) {
  font-family:
    ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
    'Courier New', monospace;
  font-size: 1em;
}

:where(code) {
  font-size: 90%;
  padding: 6px;
  color: #000000;
  /* border: solid 1px #ddd; */
  border-radius: 3px;
  background-color: #efefef;
}

:where(kbd) {
  font-size: 90%;
  padding: 2px 4px;
  color: #c7254e;
  border-radius: 3px;
  background-color: #f9f2f4;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}

:where(kbd kbd) {
  font-size: 100%;
  font-weight: bold;
  padding: 0;
  box-shadow: none;
}

:where(pre) {
  font-size: 14px;
  display: block;
  margin: 0;
  padding: 10px;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  color: #ffffff;
  border: 1px solid #000000;
  border-radius: 3px;
  background-color: #000000;
}

:where(pre code) {
  font-size: inherit;
  padding: 0;
  white-space: pre-wrap;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
}

/* @  Print Reset
* ------------------------------------------------------------ */

@media print {

  /* 背景を表示したい場合 */
  body {
    -webkit-print-color-adjust: exact;
  }

  *,
  *::before,
  *::after {
    color: #000000;
    background: #ffffff;
    box-shadow: none;
    text-shadow: none;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    /* content: ' (' attr(href) ')'; */
  }

  abbr[title]::after {
    /* content: ' (' attr(title) ')'; */
  }

  a[href^='#']::after,
  a[href^='javascript:']::after {
    /* content: ''; */
  }

  pre {
    white-space: pre-wrap;
  }

  pre,
  blockquote {
    border: 1px solid #999;

    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  header,
  footer {
    display: none;
  }
}

/* ヘッダー */

.l-header {
  background-color: rgba(255, 255, 255, 1);
  z-index: var(--var-zindex-drawer-upper);
  width: 100%;
  top: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--var-width-lg);

  @media screen and (max-width: 374px) {
    zoom: 0.8;
  }
}

.l-header__inner {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  padding: 10px;
}

@media (width > 769px) {
  .l-header__inner {
    flex-direction: row;
    align-items: center;
    padding: 20px 30px;
  }
}

.l-header__title {
  text-align: left;
  line-height: 1.1;
  font-weight: 700;

  a {
    display: block;
    text-decoration: none;
    color: #64BE41;
  }
}

.l-header__title-item1 {
  font-size: 15px;
  display: block;
}

.l-header__title-item2 {
  font-size: 24px;
  margin-left: -2px;
}

.l-header__title-item3 {
  font-size: 15px;
}

@media (any-hover: hover) {
  .l-header__title a:hover {
    transition: var(--var-duration) var(--var-easing);
    opacity: var(--var-opacity);
  }
}

@media (width > 769px) {
  .l-header__title {
    a {
      display: flex;
      align-items: flex-end;
    }
  }

  .l-header__title-item1 {
    font-size: 22px;
  }

  .l-header__title-item2 {
    font-size: 36px;
  }

  .l-header__title-item3 {
    font-size: 22px;
    margin-left: 2px;
    margin-bottom: 2px;
  }
}

.l-header__nav-list {
  ul {
    list-style-type: none;
    padding-left: 0;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;

    &::after {
      content: '';
      display: block;
      width: 1px;
      height: 0.9em;
      background-color: #666666;
    }
  }

  li {
    display: flex;
    align-items: center;
    gap: 14px;

    a {
      text-decoration: none;
      font-size: 10px;

      @media (any-hover: hover) {
        &:hover {
          text-decoration: none;
          transition: var(--var-duration) var(--var-easing);
          opacity: var(--var-opacity);
        }
      }
    }

    &::before {
      content: '';
      display: block;
      width: 1px;
      height: 0.9em;
      background-color: #666666;
    }
  }

  @media (width > 769px) {
    ul {
      gap: 31px;

      &::after {
        height: 1.6em;
      }
    }

    li {
      gap: 31px;

      a {
        font-size: 18px;
      }

      &::before {
        height: 1.6em;
      }
    }
  }

  @media (any-hover: hover) {
    a:hover {
      text-decoration: underline;
    }
  }
}

.l-header__nav-button {
  margin-top: 10px;

  a {
    text-align: center;
    font-size: 11px;
    background-color: #E8463C;
    color: #ffffff;
    text-decoration: none;
    padding: 8px 11px;
    display: block;
    line-height: 1.3;
    border-radius: 50px;
  }

  @media (width > 769px) {
    a {
      font-size: 18px;
    }
  }

  @media (any-hover: hover) {
    a:hover {
      transition: var(--var-duration) var(--var-easing);
      opacity: var(--var-opacity);
    }
  }
}

/* フッター */

.l-footer {
  margin-top: 0px;
  margin-right: auto;
  margin-left: auto;
  height: auto;
  background-color: #008147;
  color: #ffffff;
  padding-bottom: 60px;

  @media (width > 769px) {
    padding-bottom: 0;
  }
}

.l-footer__inner {
  padding: 29px 16px 20px 16px;
  max-width: var(--html-media-lg);
  margin-right: auto;
  margin-left: auto;

  @media (width > 769px) {
    padding: 39px 16px 20px 16px;
  }
}

.l-footer__title {
  text-align: left;
  line-height: 1.1;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;

  a {
    display: block;
    text-decoration: none;
  }
}

.l-footer__title-item1 {
  font-size: 15px;
  display: block;
}

.l-footer__title-item2 {
  font-size: 24px;
  margin-left: -2px;
}

.l-footer__title-item3 {
  font-size: 15px;
}

@media (any-hover: hover) {
  .l-footer__title a:hover {
    transition: var(--var-duration) var(--var-easing);
    opacity: var(--var-opacity);
  }
}

@media (width > 769px) {
  .l-footer__title {
    margin-top: 26px;

    a {
      display: flex;
      align-items: flex-end;
    }
  }

  .l-footer__title-item1 {
    font-size: 22px;
  }

  .l-footer__title-item2 {
    font-size: 36px;
  }

  .l-footer__title-item3 {
    font-size: 22px;
    margin-left: 2px;
    margin-bottom: 2px;
  }
}

.l-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 11px;
  justify-content: center;

  a {
    font-size: 11px;
    font-weight: 400;
    text-decoration: none;
  }

  a[target="_blank"] {
    position: relative;
    padding-right: 18px;

    &::after {
      content: '';
      display: inline-block;
      width: 10px;
      height: 10px;
      position: absolute;
      right: 0;
      top: 0.35em;
      background-image: url('../img/common/icon-blank.png');
      background-size: contain;
      background-repeat: no-repeat;

      @media (width > 769px) {
        top: 0.5em;
        width: 14px;
        height: 14px;
      }
    }


  }

  li {
    display: flex;
    gap: 11px;
    align-items: center;

    &::before {
      content: '';
      display: block;
      width: 1px;
      height: 65%;
      background-color: #ffffff;
    }

    &:first-child {
      &::before {
        display: none;
      }
    }
  }
}

@media (width > 769px) {
  .l-footer__nav {
    a {
      font-size: 16px;
    }
  }
}

@media (any-hover: hover) {
  .l-footer__nav {
    a:hover {
      text-decoration: underline;
    }
  }
}

.l-footer__copy {
  margin-top: 20px;
  text-align: center;
  font-size: 11px;

  @media (width > 769px) {
    font-size: 16px;
    margin-top: 38px;
  }

}

/* ページトップ */

.l-footer-fixed {
  background-color: rgba(255, 255, 255, 0.8);
  padding: 10px 16px;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: var(--var-zindex-floating);

  @media (width > 769px) {
    bottom: 20%;
    background-color: transparent;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0;
  }
}

.l-footer-fixed__inner {
  display: flex;
  gap: 15px;
  justify-content: space-between;

  @media (width > 769px) {
    display: grid;
    gap: 10px;
  }
}

.l-footer-fixed__button {
  width: 85%;

  a {
    line-height: 1.38;
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-align: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #ffffff;
    background-color: #666666;
    text-decoration: inherit;
    font-weight: bold;
    border: solid 2px transparent;
    padding: 4px 8px;
    font-size: 20px;
    box-sizing: border-box;
    border-radius: 50px;
    border-color: #E8463C;
    background-color: #E8463C;
    color: #ffffff;
    text-decoration: none;
  }

  @media (width > 769px) {
    width: auto;

    a {
      letter-spacing: 2px;
      padding: 20px 8px;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      writing-mode: vertical-rl;
      border-radius: 12px 0px 0px 12px;
      width: 50px;
    }
  }
}

@media (any-hover: hover) {
  .l-footer-fixed__button a:hover {
    transition: var(--var-duration) var(--var-easing);
    background-color: #E8463C;
    color: #ffffff;
  }
}

.is-footer-fixed-button-icon {
  position: relative;

  &::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 3px solid #ffffff;
    border-left: 3px solid #ffffff;
    right: -9%;
    top: 54%;
    transform: translateY(-50%) rotate(135deg);
  }

  @media (width > 769px) {
    &::after {
      display: none;
    }
  }

  @media screen and (max-width: 374px) {
    &::after {
      display: none;
    }
  }
}

.l-footer-fixed__totop {

  a {
    display: grid;
    place-content: center;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 50px;
    display: block;
    padding: 8px;

    @media (width > 769px) {
      width: 50px;
      height: 50px;
      border-radius: 12px 0px 0px 12px;
    }
  }

  svg {
    margin: 0 auto;
    width: 18px;
    height: 18px;

    @media (width > 769px) {
      width: 24px;
      height: 24px;
    }
  }

}

/* メインコンテンツ */

.l-main {
  width: 100%;
  /* overflow: hidden; */
}

.l-container {
  z-index: var(--var-zindex-main);
  overflow: hidden;
}

.l-container__inner {
  display: block;
  clear: both;
  width: auto;
  margin-right: auto;
  margin-left: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: content-box;
  /* 最大幅 */
  max-width: var(--var-width-content);
}

/* 　標準タイプ */

.l-section-bg-circle,
.l-section-bg {
  padding-top: 48px;
  padding-bottom: 48px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  background-color: #D8EFCF;
}

.l-section-bg-circle {

  position: relative;


  &::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/common/circle-bg1.svg') no-repeat top center;
    background-size: 100%;
  }


  &::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/common/circle-bg2.svg') no-repeat bottom center;
    background-size: 100%;
  }

}

@media (width > 769px) {

  .l-section-bg-circle,
  .l-section-bg {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

.l-section {
  margin-top: 48px;
  margin-bottom: 48px;
}

@media (width > 769px) {
  .l-section {
    margin-top: 64px;
    margin-bottom: 64px;
  }
}

/*パンくず*/

.c-breadcrumb {
  margin-inline: auto;
  margin-top: 12px;
  padding-left: 16px;
  line-height: 1.4;
  max-width: var(--var-width-lg);
}

.c-breadcrumb__inner span {
  font-weight: normal;
  display: inline-block;
  font-size: 11px;

  @media (width > 769px) {
    font-size: 14px;
  }
}

.c-breadcrumb__inner span a {
  display: inline-block;
  position: relative;
  padding-left: 22px;
  text-decoration: none;
  margin-right: 8px;
  color: #000000;

  @media (width > 769px) {
    padding-left: 27px;
    margin-left: 12px;
  }

  @media (any-hover: hover) {
    &:hover {
      text-decoration: underline;
    }
  }
}

.c-breadcrumb__inner span a::before {
  content: '＞';
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  left: 0;
}

.c-breadcrumb__inner span:first-child a {
  padding-left: 0;
  margin-left: 0;
}

.c-breadcrumb__inner span:first-child a::before {
  display: none;
}

/* ページタイトル */

.c-page-title-container {
  margin-inline: auto;
  max-width: var(--var-width-content);
}

@media (width > 769px) {
  .c-page-title-container {
    position: relative;
  }
}

.c-page-title-container__inner {
  padding: 28px 0;
  background-color: #64BE41;
}

@media (width > 769px) {
  .c-page-title-container__inner {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);

    padding-top: 26px;
    padding-bottom: 26px;
  }
}

.c-page-title {
  padding-left: 10px;
  padding-right: 10px;
  z-index: var(--var-zindex-element-upper);
  position: relative;
  font-size: 29px;
  font-weight: 900;
  color: #fff;
  text-align: center;
  line-height: 1.2;
}

@media screen and (max-width: 374px) {
  .c-page-title {
    font-size: 24px;
  }
}

@media (width > 769px) {
  .c-page-title {
    font-size: 40px;
  }
}

@media print {
  .c-page-title-container__inner {
    background: none;
  }

  .c-page-title {
    color: #000000;
  }
}

/*faq*/

.c-faq-box>*+* {
  margin-top: 10px;
}

.c-faq {
  border: 8px solid #E6E6E6;
  padding: 18px 10px;

  @media (width > 769px) {
    border-width: 10px;
    padding: 32px 16px;
  }
}

.acms-entry h3.c-faq__title,
.c-faq__title {
  line-height: 1.75;
  font-weight: 700;
  font-size: 18px;
  grid-template-columns: 38px 1fr;
  display: grid;
  margin-left: auto;
  margin-right: auto;

  @media (width > 769px) {
    grid-template-columns: 56px 1fr;
    font-size: 23px;
  }
}

.c-faq__title::before {
  content: 'Q';
  font-size: 30px;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  background-position: center center;
  color: #008147;
  line-height: 1;
  text-align: center;

  @media (width > 769px) {
    font-size: 36px;
  }
}

.c-faq__desc {
  line-height: 1.75;
  padding-top: 0.3em;
  display: grid;
  grid-template-columns: 38px 1fr;
  display: grid;

  @media (width > 769px) {
    grid-template-columns: 56px 1fr;
    font-size: 23px;
    margin-top: 10px;
  }
}

.c-faq__desc::before {
  content: 'A';
  font-size: 30px;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  background-position: center center;
  color: #E8463C;
  line-height: 1;
  text-align: center;

  @media (width > 769px) {
    font-size: 36px;
  }
}

/* tel */

.c-tel {
  text-align: center;
}

.c-tel p {
  font-size: 12px;
}

@media (width > 769px) {
  .c-tel p {
    font-size: 16px;
  }
}

.c-tel__heading {
  padding: 8px 0;
  font-size: 18px;
}

@media (width > 769px) {
  .c-tel__heading {
    font-size: 36px;
    padding: 15px 0;
  }
}

.c-tel__body {
  padding: 13px 0 12px;
}

@media (width > 769px) {
  .c-tel__body {
    padding: 13px 0 15px;
  }
}

.c-tel__number {
  text-align: center;
  font-size: 40px;
  font-family: var(--var-html-font-family-english);
  font-weight: 900;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  line-height: 1;
  margin: 10px 0 13px;
  font-style: normal;

  &::before {
    content: '';
    display: block;
    width: 24px;
    height: 34px;
    background-image: url('../img/common/icon-tel.svg');
    background-size: 24px 34px;
  }

  @media (width > 769px) {
    font-size: 60px;
    margin: 15px 0 20px;

    &::before {
      margin-top: 5px;
      width: 32px;
      height: 45px;
      background-size: 32px 45px;
    }
  }
}

.c-tel__number a {
  color: #333;
  text-decoration: none;
}

.c-tel__time {
  width: 100%;
  margin-top: 4px;
}

@media (width > 769px) {
  .c-tel__time {
    margin-top: 8px;
  }
}

.c-tel__time small {
  font-size: 1em;
}

.c-tel--emergency,
.c-tel--accident {
  overflow: hidden;
  border: 3px solid transparent;
  border-radius: 9px;
}

@media (width > 769px) {

  .c-tel--emergency,
  .c-tel--accident {
    border-width: 4px;
    border-radius: 12px;
  }
}

.c-tel--emergency {
  border-color: #d8184d;
}

.c-tel--emergency .c-tel__heading {
  color: #d8184d;
  background: #FBE1E7;
}

.c-tel--accident {
  margin-top: 14px;
  border-color: #008147;
}

@media (width > 769px) {
  .c-tel--accident {
    margin-top: 20px;
  }
}

.c-tel--accident .c-tel__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #008147;
  background: #D8EFCF;
}

.c-tel__heading-plan {
  display: inline-block;
  margin-left: 11px;
  padding: 4px 4px;
  border: 1px solid currentColor;
  font-size: 10px;
}

@media (width > 769px) {
  .c-tel__heading-plan {
    margin-left: 12px;
    padding: 5px 8px;
    font-size: 18px;
  }
}

.c-tel--join {
  margin-top: 30px;
  padding: 13px 0 15px;
  border: 5px solid #ddd;
}

@media (width > 769px) {
  .c-tel--join {
    margin-top: 50px;
    padding: 28px 0 24px;
    border-width: 8px;
  }
}

.c-tel__join-heading {
  width: 100%;
  margin-bottom: 13px;
  text-align: center;
  font-size: 16px;
}

@media (width > 769px) {
  .c-tel__join-heading {
    margin-bottom: 15px;
    font-size: 23px;
  }
}

.c-button {
  line-height: 1.38;
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #ffffff;
  background-color: #666666;
  text-decoration: inherit;
  font-weight: 900;
  border: solid 2px transparent;
  padding: 12px;
  font-size: 18px;
  box-sizing: border-box;
  border-radius: 50px;
}

@media (width > 769px) {
  .c-button {
    padding: 20px 16px;
    font-size: 30px;
  }
}

@media (any-hover: hover) {
  .c-button:hover {
    transition: var(--var-duration) var(--var-easing);
    opacity: var(--var-opacity);
  }
}

.is-button-form {
  font-size: 20px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 20px;
  min-width: 150px;

  @media (width > 769px) {
    font-size: 24px;
    padding: 6px 42px;
  }
}

.is-button-style1 {
  border-color: #E8463C;
  background-color: #E8463C;
  color: #ffffff;
}

.is-button-icon {
  position: relative;

  &::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 3px solid #ffffff;
    border-left: 3px solid #ffffff;
    right: -22px;
    top: 54%;
    transform: translateY(-50%) rotate(135deg);
  }

  @media (width > 769px) {
    &::after {
      width: 14px;
      height: 14px;
      border-width: 4px;
    }
  }
}

.is-button-fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.is-button-max {
  max-width: 316px;

  @media (width > 769px) {
    max-width: 786px;
  }
}

.is-button-center {
  margin-left: auto;
  margin-right: auto;
}

.is-button-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 14px;
}

@media (width > 640px) {
  .is-button-group {
    flex-direction: row;
    gap: 20px;
  }
}

.c-button__link {
  font-size: 11px;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 17px;
  font-weight: 400;

  a {
    color: #000000;
    padding-left: 1.2em;
    display: block;
    position: relative;

    &::before {
      position: absolute;
      left: 0;
      top: 0.4em;
      content: '';
      display: block;
      width: 10px;
      height: 12px;
      background: url('../img/common/icon-pdf.png') no-repeat left center;
      background-size: 100%;

    }
  }

  @media (width > 769px) {
    font-size: 16px;

    a {
      padding-left: 1em;

      &::before {
        width: 12px;
        height: 16px;
      }
    }
  }

}

.c-box {
  padding: 15px 15px;
  background-color: #ffffff;

  @media (width > 769px) {
    padding: 50px;

  }
}

.c-box-scroll {
  border: solid 3px #64BE41;
  border-top-width: 0;

  @media (width > 769px) {
    border-width: 4px;
    border-top-width: 0;
  }
}

.c-box-scroll__title {
  background-color: #64BE41;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  padding: 4px 10px;

  @media (width > 769px) {
    font-size: 24px;
    padding: 4px 24px;
  }
}

.c-box-scroll__inner {
  padding: 10px;
  overflow-y: scroll;
  height: 180px;

  @media (width > 769px) {
    padding: 20px;
    height: 210px;
  }
}

.c-box-scroll__body {
  overflow: hidden;
}

/* heading */

.c-h1 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: calc(8px * -1);
}

@media (width > 769px) {
  .c-h1 {
    font-size: 28px;
  }
}

.heading-large {
  font-size: 28px;
  line-height: 1.6;
  font-weight: 900;

  @media (width > 769px) {
    font-size: 40px;
  }
}

.heading-middle {
  color: #64BE41;
  border-bottom: 1px solid currentColor;
  font-size: 24px;
  line-height: 1.6;
  font-weight: 900;

  @media (width > 769px) {
    font-size: 36px;
  }

}

.heading-small {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 900;

  @media (width > 769px) {
    font-size: 30px;
  }
}

.c-h2 {
  font-size: 24px;
  display: block;
  font-weight: 900;
  position: relative;
  line-height: 1.3;
}

@media (width > 769px) {
  .c-h2 {
    font-size: 36px;
  }
}

.c-h3 {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 900;
  text-align: center;
  background-color: #008147;
  color: #ffffff;
  padding: 3px 10px;
}

@media (width > 769px) {
  .c-h3 {
    font-size: 30px;
    padding: 6px 10px;
  }
}

.c-h4 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  position: relative;
  padding-left: 0.85em;
}

.c-h4::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: #008147;
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50px;
}

@media (width > 769px) {
  .c-h4 {
    font-size: 18px;
  }
}

.c-h5 {
  font-weight: bold;
  font-size: 16px;
}

@media (width > 769px) {
  .c-h5 {
    font-size: 16px;
  }
}

.c-h6 {
  font-weight: bold;
  font-size: 16px;
}

@media (width > 769px) {
  .c-h6 {
    font-size: 16px;
  }
}

.c-h-tel {
  text-align: center;
  font-size: 40px;
  font-family: var(--var-html-font-family-english);
  font-weight: 900;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  line-height: 1;

  &::before {
    content: '';
    display: block;
    width: 24px;
    height: 34px;
    background-image: url('../img/common/icon-tel.svg');
    background-size: 24px 34px;
  }

  @media (width > 769px) {
    font-size: 60px;

    &::before {
      margin-top: 5px;
      width: 32px;
      height: 45px;
      background-size: 32px 45px;
    }


  }

}

/* list */

.c-ul {
  padding-left: 1em;
  list-style-type: disc;
}

.c-ul li {
  position: relative;
}

.c-ul ul,
.c-ul ol {
  margin-top: 4px;
}

.c-ol {
  padding-left: 1.3em;
  list-style-type: decimal;
}

.c-ol ul,
.c-ol ol {
  margin-top: 4px;
}

/* paragraph */

.c-p {}

.is-p-center {
  text-align: center;
}

@media (width > 769px) {
  .is-p-right-to-center {
    text-align: center;
  }
}

/* table */

:where(table):not([class]) {
  border-left: solid 1px #C3C3C3;
  border-top: solid 1px #C3C3C3;
  width: 100%;
}

:where(table):not([class]) th {
  border-right: solid 1px #C3C3C3;
  border-bottom: solid 1px #C3C3C3;
  background: #C3C3C3;
  padding: 8px;
}

:where(table):not([class]) td {
  border-right: solid 1px #C3C3C3;
  border-bottom: solid 1px #C3C3C3;
  padding: 8px;
}

.c-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.c-table caption {
  padding: 16px 0;
  text-align: left;
  color: #008147;
  margin-bottom: -1px;
  font-weight: bold;
}

.c-table tr,
.c-table td,
.c-table th {
  text-align: left;
  vertical-align: top;
  word-break: normal;
  font-size: 14px;
}

@media (width > 769px) {

  .c-table tr,
  .c-table td,
  .c-table th {
    font-size: 16px;
  }
}

.c-table th {
  font-weight: bold;
  color: #000000;
  vertical-align: middle;
  text-align: left;
}

.is-table-style1 {
  border-right: solid 1px #C3C3C3;
  border-bottom: solid 1px #C3C3C3;
}

.is-table-style1 thead th {
  border-bottom-width: 1px;
}

.is-table-style1 thead td {
  border-bottom-width: 1px;
}

.is-table-style1 .is-table-cell-th,
.is-table-style1 th {
  border-left: solid 1px #C3C3C3;
  border-top: solid 1px #C3C3C3;
  background-color: #D8EFCF;
  padding: 16px 8px;

}

.is-table-style1 .is-table-cell-td,
.is-table-style1 td {
  border-left: solid 1px #C3C3C3;
  border-top: solid 1px #C3C3C3;
  background-color: #ffffff;
  padding: 16px 8px;
}

/* stylelint-disable no-irregular-whitespace */

.is-table-wrap-responsive {
  position: relative;
  width: auto;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.is-table-wrap-responsive table {
  width: auto;
  min-width: 100%;
}

.is-table-wrap-responsive th,
.is-table-wrap-responsive td {
  white-space: nowrap;
  /* min-width: 80px; */
}

.is-table-wrap-responsive::before,
.is-table-wrap-responsive::after {
  padding: 0.1em;
  margin-bottom: 10px;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
  content: ' <　左右にスクロールできます　>';
  position: -webkit-sticky;
  position: sticky;
  border: solid 1px #C3C3C3;
  color: #666666;
  font-size: 0.7rem;
  display: none;
  background-color: #ffffff;
  left: 0;
}

.is-table-wrap-responsive::before {
  top: 0;
  z-index: var(--var-zindex-negative);
}

.is-table-wrap-responsive::after {
  margin-top: 10px;
  bottom: -1px;
}

.is-table-wrap-responsive::-webkit-scrollbar {
  height: 0;
}

.is-table-wrap-responsive::-webkit-scrollbar-track {
  background: #666666;
}

.is-table-wrap-responsive::-webkit-scrollbar-thumb {
  background: #C3C3C3;
}

@media print {
  .is-table-wrap-fixed {
    height: auto !important;
  }

  .is-table-wrap-responsive th,
  .is-table-wrap-responsive td {
    white-space: wrap !important;
  }
}

/* stylelint-enable no-irregular-whitespace */

/* jsでスクロール時に付与 */

.is-table-scroll-active::before,
.is-table-scroll-active::after {
  display: block;
}

@supports (-webkit-touch-callout: none) {

  .is-table-scroll-active::before,
  .is-table-scroll-active::after {
    display: none;
  }
}

.c-form>*+* {
  margin-top: 24px;
}

.c-form {

  border-top: solid 1px #C3C3C3;

}

/* 非活性 */

.c-form-control[disabled],
.c-form-control[readonly],
fieldset[disabled] .c-form-control {
  background-color: #eaeff2;
  cursor: not-allowed;
}

.c-form-req,
.c-form-any {
  font-size: 12px;
  padding: 4px 8px;
  line-height: 1;
  display: inline-block;
  color: #ffffff;
  background-color: #d54309;
  font-weight: bold;
}

.c-form-any {
  background-color: #1c831c;
  color: #ffffff;
}

/* 枠　*/

table .c-form-req,
table .c-form-any {
  margin-left: 8px;
}

/* 枠　*/

.c-form-fieldset {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 17px 0 20px;
  border-bottom: solid 1px #C3C3C3;
  font-size: 12px;

  @media (width > 769px) {
    display: grid;
    grid-template-columns: 165px 1fr;
    padding: 20px 0 20px;
    font-size: 16px;
    align-items: center;
  }

  legend {
    @media (width > 769px) {
      float: left;
    }
  }

}

.c-form-fieldset .c-form-req,
.c-form-fieldset .c-form-any {
  margin-left: 8px;
}

.c-form-error-box {
  padding: 8px;
  border: solid 2px #d54309;
}

/* エラーテキストの レイアウトシフトを防ぐ */

.c-form-unit {
  position: relative;
}

.c-form-unit .c-form-text-error {
  width: 100%;
}

.c-form-text-error {
  font-size: 12px;
  color: #d54309;
  font-weight: 700;
  margin-top: 4px;
  position: relative;
  padding-left: 1.6em;

  &::before {
    position: absolute;
    left: 0;
    top: 0.4em;
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background: url('../img/common/icon-error.svg') no-repeat left center;
    background-size: 100%;
  }

  @media (width > 769px) {
    padding-left: 1.6em;
    font-size: 16px;

    &::before {
      width: 20px;
      height: 20px;
    }
  }


}

.is-form-error-hidden {
  visibility: hidden;
  opacity: 0;
}

/* inputなどの幅 */

.c-form-control {
  font-size: 16px;
}

.is-form-control-width-small.c-form-control:not([type='radio'], [type='checkbox'], [type='color'], [type='image'], [type='range'], [type='file']) {
  width: 110px;
}

.is-form-control-width-medium.c-form-control:not([type='radio'], [type='checkbox'], [type='color'], [type='image'], [type='range'], [type='file']) {
  min-width: 165px;
  width: 70%;
}

@media (width > 769px) {
  .is-form-control-width-full-medium.c-form-control:not([type='radio'], [type='checkbox'], [type='color'], [type='image'], [type='range'], [type='file']) {
    min-width: 165px;
    width: 70%;
  }
}

select.c-form-control {
  background-image: url('../img/common/icon-select-down.svg');
  background-position: calc(100% - 10px) center;
  padding: calc(8px * 1.5) calc(8px * 1.2) calc(8px * 1.5) 8px;
  background-repeat: no-repeat;
  text-align: left;
  text-indent: 0.01px;
  text-overflow: '';
  cursor: pointer;
}

select.c-form-control:focus {
  background-image: url('../img/common/icon-select-up.svg');
}

@media (any-hover: hover) {
  select.c-form-control:hover {
    transition: 0.3s;
    text-decoration: none;
    background-color: #ffffff;
  }
}

@media (any-hover: none) {
  select.c-form-control:active {
    text-decoration: none;
    background-color: #ffffff;
  }
}

.c-form-control:not([type='radio'],
  [type='checkbox'],
  [type='color'],
  [type='image'],
  [type='range'],
  [type='file']) {
  padding: 5px;
  border: 1px solid #C3C3C3;
  border-radius: 5px;
  background-color: #ffffff;
  box-shadow: none;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 100%;
  /* border-radius: 5px; */

  @media (width > 769px) {
    padding: 10px;
  }
}

.c-form-control:not([type='radio'],
  [type='checkbox'],
  [type='color'],
  [type='image'],
  [type='range'],
  [type='file']):focus {
  /* box-shadow:
   0 0 3px #3e94cf,
   0 0 7px #3e94cf;
   outline: 0; */
}

.c-form-control:not([type='radio'],
  [type='checkbox'],
  [type='color'],
  [type='image'],
  [type='range'],
  [type='file']):required:invalid:not(:-moz-placeholder) {
  color: #d54309;
  border-color: #d54309;
  background-color: #f4e3db;
}

.c-form-control:not([type='radio'],
  [type='checkbox'],
  [type='color'],
  [type='image'],
  [type='range'],
  [type='file'])[class*='is-form-error'],
.c-form-control:not([type='radio'],
  [type='checkbox'],
  [type='color'],
  [type='image'],
  [type='range'],
  [type='file']):required:invalid:not(:placeholder-shown),
.c-form-control:not([type='radio'],
  [type='checkbox'],
  [type='color'],
  [type='image'],
  [type='range'],
  [type='file']):required:invalid:focus {
  color: #d54309;
  border-color: #d54309;
  background-color: #f4e3db;
}

/* required属性のエラーメッセージ表示（data-error-message属性を使用） */

.c-form-unit:has(.c-form-control:required:invalid:not(:-moz-placeholder))::after, .c-form-unit:has(.c-form-control:required:invalid:focus:not(:-moz-placeholder))::after {
  content: attr(data-error-message);
  display: block;
  font-size: 12px;
  color: #d54309;
  font-weight: 700;
  margin-top: 4px;
  position: relative;
  padding-left: 1.6em;
  background-image: url('../img/common/icon-error.svg');
  background-repeat: no-repeat;
  background-position: left 0.4em;
  background-size: 16px 16px;
}

.c-form-unit:has(.c-form-control:required:invalid:not(:placeholder-shown))::after,
.c-form-unit:has(.c-form-control:required:invalid:focus:not(:placeholder-shown))::after {
  content: attr(data-error-message);
  display: block;
  font-size: 12px;
  color: #d54309;
  font-weight: 700;
  margin-top: 4px;
  position: relative;
  padding-left: 1.6em;
  background-image: url('../img/common/icon-error.svg');
  background-repeat: no-repeat;
  background-position: left 0.4em;
  background-size: 16px 16px;
}

@media (width > 769px) {
  .c-form-unit:has(.c-form-control:required:invalid:not(:-moz-placeholder))::after, .c-form-unit:has(.c-form-control:required:invalid:focus:not(:-moz-placeholder))::after {
    font-size: 16px;
    padding-left: 1.6em;
    background-size: 20px 20px;
  }
  .c-form-unit:has(.c-form-control:required:invalid:not(:placeholder-shown))::after,
  .c-form-unit:has(.c-form-control:required:invalid:focus:not(:placeholder-shown))::after {
    font-size: 16px;
    padding-left: 1.6em;
    background-size: 20px 20px;
  }
}

.c-form-control:not([type='radio'],
  [type='checkbox'],
  [type='color'],
  [type='image'],
  [type='range'],
  [type='file'])::placeholder,
.c-form-control:not([type='radio'],
  [type='checkbox'],
  [type='color'],
  [type='image'],
  [type='range'],
  [type='file'])::-webkit-input-placeholder {
  /* color: #C3C3C3; */
  color: inherit;
  opacity: 0.54;
}

textarea.c-form-control {
  height: auto;
  resize: vertical;
  min-height: 240px;

  @media (width > 769px) {
    min-height: 300px;
  }
}

.c-form-rc-box {
  --accent-color: #5b7fa7;
}

.c-form-rc-box li {
  /* display: flex; */
  position: relative;
  padding-left: 26px;

}

.c-form-rc-box input[type='radio'],
.c-form-rc-box input[type='checkbox'] {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  top: 8px;
  cursor: pointer;
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
  /* appearance: none; */
  /* border: 1px solid #666666; */
  /* background-color: #ffffff; */
  position: absolute;
  left: -0.2em;
}

.c-form-rc-box input[type='radio'] {
  border-radius: 50%;
}

.c-form-rc-box input[type='radio']:checked,
.c-form-rc-box input[type='checkbox']:checked {
  /* appearance: auto; */
  accent-color: #d54309;
}

.c-form-rc-box label {
  margin-right: 4px;
  cursor: pointer;
  font-size: 12px;

  @media (width > 769px) {
    font-size: 18px;
  }
}

.c-form-rc-box input[type='radio'][class*='is-form-error'],
.c-form-rc-box input[type='checkbox'][class*='is-form-error'] {
  accent-color: #d54309;
  background-color: #f4e3db;
}

.c-form-rc-box input[type='radio'][class*='is-form-error']+label,
.c-form-rc-box input[type='checkbox'][class*='is-form-error']+label {
  color: #d54309;
}

.c-form-rc-box input[type='radio']:checked+label,
.c-form-rc-box input[type='checkbox']:checked+label {
  /* color: #008147; */
}

.c-form-rc-box input[type='radio']:disabled+label,
.c-form-rc-box input[type='checkbox']:disabled+label {
  color: #C3C3C3;
}

.c-form-rc-box input[type='radio']:disabled:checked+label,
.c-form-rc-box input[type='checkbox']:disabled:checked+label {
  color: #C3C3C3;
}

/* 通常 横 */

/* stylelint-disable no-duplicate-selectors */

/* 管理しやすくするために別に書いている */

.c-form-rc-box {
  display: flex;
  flex-flow: wrap;
  row-gap: 4px;
  margin-right: -0.5em;
}

.c-form-rc-box li {
  margin-right: 0.5em;
}

/* stylelint-enable no-duplicate-selectors */

/* 縦 */

.is-form-rc-box-vertical {
  display: block;
}

.is-form-rc-box-vertical>*+* {
  margin-top: 8px;
}

/* 中央揃え */

.is-form-rc-center-horizontal {
  justify-content: center;
}

.d {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/* ========================================
   Top Page Styles
   ======================================== */

/* ----------------------------------------
   Main Visual
   ---------------------------------------- */

.top-mv {
  position: relative;

  margin-left: auto;
  margin-right: auto;
  background-color: #D8EFCF;
  padding-bottom: 57px;

  @media (width > 769px) {
    padding-bottom: 0;
  }

  &::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/common/circle-bg2.svg') no-repeat bottom center;
    background-size: 100%;

  }
}

.top-mv__img {
  display: block;
  margin-bottom: 10px;

  @media (width > 769px) {
    margin-bottom: 0;
  }

  img {
    width: 100%;
  }
}

.top-mv-box {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  z-index: var(--var-zindex-element);
  margin-top: 15px;
  position: relative;

  @media (width > 769px) {
    padding: 25px;
    position: absolute;
    left: 47%;
    top: 22px;
    zoom: clamp(0.6, 100vw / var(--var-width-lg), 1);
    margin-top: 0px;
  }
}

.top-mv-box__inner {
  padding: 15px;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 25px;
  box-shadow: 0 0 6px 0 rgba(0, 129, 71, 0.39);
  margin-left: 16px;
  margin-right: 16px;

  @media (width > 769px) {
    padding: 15px 25px;
  }
}

.top-mv-box__lead {
  font-size: 15px;
  color: #ffffff;
  background-color: #008147;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  padding: 6px 10px;
  margin-top: -30px;
  margin-left: 16px;
  margin-right: 16px;

  @media (width > 769px) {
    font-size: 24px;
    margin-top: -35px;
    margin-right: 0;
    margin-left: 0;
  }

  @media screen and (max-width: 374px) {
    font-size: 14px;
  }
}

.top-mv-box__title {
  margin-top: 10px;
  font-size: 33px;
  color: #008147;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  margin-left: -0.5em;
  margin-right: -0.5em;

  @media (width > 769px) {
    font-size: 50px;
  }

  @media screen and (max-width: 374px) {
    font-size: 28px;
  }
}

.top-mv-box__img {
  position: relative;
  margin-top: 16px;

  @media (width > 769px) {
    margin-top: 20px;
  }
}

.top-mv-box__img-fukidashi {
  position: absolute;
  right: -30px;
  top: -15px;
  width: 99px;

  @media (width > 769px) {
    width: 128px;
    right: -35px;
    top: -15px;
  }

  @media screen and (max-width: 374px) {
    width: 80px;
  }
}

.top-mv-box__button {
  margin-top: 20px;

  a {
    display: block;
    width: 100%;
    padding: 8px 12px;
    box-sizing: border-box;
    line-height: 1.38;
    text-align: center;
    text-decoration: inherit;
    color: #ffffff;
    background-color: #E8463C;
    border: solid 2px #E8463C;
    border-radius: 50px;
    font-size: 20px;
    font-weight: 900;
    overflow: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  @media (width > 769px) {
    a {
      padding: 13px;
      font-size: 30px;
    }
  }

  @media (any-hover: hover) {
    a:hover {
      transition: var(--var-duration) var(--var-easing);
      opacity: var(--var-opacity);
    }
  }

  span {
    position: relative;

    &::after {
      content: '';
      position: absolute;
      right: -8%;
      top: 54%;
      width: 10px;
      height: 10px;
      border-top: 3px solid #ffffff;
      border-left: 3px solid #ffffff;
      transform: translateY(-50%) rotate(135deg);
    }

    @media (width > 769px) {
      &::after {
        width: 14px;
        height: 14px;
        border-width: 4px;
      }
    }
  }
}

.top-mv-box__link {
  font-size: 11px;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4px;

  a {
    color: #000000;
    padding-left: 1.2em;
    display: block;
    position: relative;

    &::before {
      position: absolute;
      left: 0;
      top: 0.4em;
      content: '';
      display: block;

      width: 10px;
      height: 12px;
      background: url('../img/common/icon-pdf.png') no-repeat left center;
      background-size: 100%;

    }
  }

  @media (width > 769px) {
    font-size: 16px;

    a {
      padding-left: 1em;

      &::before {
        width: 12px;
        height: 16px;
      }
    }
  }

  @media (any-hover: hover) {
    a:hover {}
  }
}

/* ----------------------------------------
   Common Section Parts
   ---------------------------------------- */

.top-section__title {
  font-size: 30px;
  font-weight: 900;
  text-align: center;
  color: #008147;
  line-height: 1.2;

  @media (width > 769px) {
    font-size: 60px;
  }
}

.top-section__description {
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
  margin-top: 20px;

  @media (width > 769px) {
    margin-top: 35px;
    font-size: 20px;
  }
}

.top-section__sub-title {
  font-size: 20px;
  font-weight: 900;
  text-align: center;
  color: #008147;
  background-color: #D8EFCF;
  line-height: 1.2;
  padding: 16px;

  margin-top: 10px;

  @media (width > 769px) {
    font-size: 40px;
    margin-top: 30px;
  }
}

.top-section__sub-title2 {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 200px;
  padding: 10px;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  color: #fff;
  background-color: #008147;
  border-radius: 100px;

  @media (width > 769px) {
    font-size: 30px;
    padding: 19px 40px;
    min-width: 400px;
  }
}

.top-section__note-box {

  margin-top: 20px;

  @media (width > 769px) {
    margin-top: 33px;
  }
}

.top-section__note {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 11px;
  line-height: 1.4;
  position: relative;
  padding-left: 1em;
  margin-top: 8px;

  &::before {
    content: '※';
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 1em;
    height: 1em;
  }

  @media (width > 769px) {
    font-size: 16px;
  }
}

.top-section__note2 {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 11px;
  line-height: 1.8;
  margin-top: 10px;

  span {
    color: #008147;
    font-weight: 700;
  }

  @media (width > 769px) {
    font-size: 16px;
    margin-top: 20px;
  }
}

/* ----------------------------------------
   About Section
   ---------------------------------------- */

.top-about {
  margin-top: 65px;
  margin-bottom: 90px;

  @media (width > 769px) {
    margin-top: 70px;
    margin-bottom: 150px;
  }
}

.top-about__features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 35px;
  margin-top: 30px;
  position: relative;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;

  max-width: 460px;

  &::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 65%;
    width: 24px;
    height: 6px;
    background-color: #64BE41;
    z-index: 1;
    transform: translate(-50%, -50%);
  }

  &::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 65%;
    width: 6px;
    height: 24px;
    background-color: #64BE41;
    z-index: 1;
    transform: translate(-50%, -50%);
  }

  @media (width > 769px) {
    gap: 80px;
    margin-top: 60px;
    max-width: none;

    &::before {
      top: 60%;
      width: 36px;
      height: 8px;
    }

    &::after {
      top: 60%;
      width: 8px;
      height: 36px;
    }
  }
}

.top-about__feature {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.top-about__feature-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px 4px;
}

.top-about__feature-text {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 14px;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;

  &::before {
    content: '';
    display: block;
    width: 2px;
    height: 30px;
    background-color: #666666;
    transform: rotate(-15deg);
  }

  &::after {
    content: '';
    display: block;
    width: 2px;
    height: 30px;
    background-color: #666666;
    transform: rotate(15deg);
  }

  @media (width > 769px) {
    font-size: clamp(18px, calc(18px + (100vw - 768px) / 30), 24px);
    gap: 20px;
    margin-bottom: 16px;
  }
}

.top-about__feature-title {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;

  @media (width > 769px) {
    font-size: clamp(30px, calc(30px + (100vw - 768px) / 30), 40px);
  }
}

.top-about__feature-note {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;

  @media (width > 769px) {
    font-size: clamp(24px, calc(24px + (100vw - 768px) / 30), 30px);
  }
}

.top-about__feature-plan {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;

  @media (width > 769px) {
    font-size: clamp(16px, calc(16px + (100vw - 768px) / 30), 18px);
  }
}

.is-about-feature-box1 {
  background-color: #64BE41;
  border: solid 4px #64BE41;

  .top-about__feature-title {
    color: #ffffff;
  }
}

.is-about-feature-box2 {
  background-color: #ffffff;
  border: solid 3px #64BE41;

  @media (width > 769px) {
    border-width: 4px;
  }

  .top-about__feature-title {
    color: #64BE41;
  }

  .top-about__feature-note {
    color: #64BE41;
  }

  .top-about__feature-plan {
    color: #64BE41;
  }
}

/* ----------------------------------------
   Trouble Section
   ---------------------------------------- */

.top-trouble {
  position: relative;
  z-index: var(--var-zindex-element);

  margin-bottom: 70px;

  @media (width > 769px) {
    margin-bottom: 120px;
  }

}

.top-trouble__title {
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;

  margin-top: -68px;

  @media (width > 769px) {
    margin-top: -100px;
    max-width: none;
  }

  img {
    margin-left: auto;
    margin-right: auto;
  }
}

.top-trouble__items {
  position: relative;
  justify-content: space-between;
  margin-top: 16px;
  margin-bottom: 80px;

  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
  z-index: var(--var-zindex-element);

  @media (width > 769px) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 16px;
    margin-bottom: 55px;
    max-width: none;

    zoom: clamp(0.6, 100vw / var(--var-width-lg), 1);
  }

  &::after {
    content: '';
    position: absolute;
    left: 40px;
    bottom: -50px;
    width: 60px;
    height: 129px;
    margin: auto;
    background: url('../img/top/trouble-arrow.svg') no-repeat center center;
    background-size: 100%;

    @media (width > 769px) {
      left: 0;
      right: 60px;
      bottom: -65px;
      width: 120px;
      height: 258px;

    }
  }

  .top-trouble__item:last-child {
    margin-left: auto;

    .top-trouble__item-balloon {
      left: auto;
      right: -45px;

      &::after {
        bottom: 0;
        right: auto;
        left: 0;
        transform: rotate(90deg);
      }
    }

    @media (width > 769px) {
      margin-top: 80px;

      .top-trouble__item-balloon {
        left: auto;
        right: -90px;
        top: -70px;
      }
    }
  }
}

.top-trouble__item {
  width: 248px;
  height: 248px;
  padding: 34px;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  background: url('../img/top/trouble-bg.svg') no-repeat center center;
  background-size: 100% 100%;


  @media (width > 769px) {
    width: 495px;
    height: 495px;
    padding: 64px;
  }
}

.top-trouble__item-inner {
  position: relative;
}

.top-trouble__item-balloon {
  position: absolute;
  left: -45px;
  top: -45px;
  width: 75px;
  height: 75px;
  padding: 4px;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #ffffff;
  background: #E8463C;
  border-radius: 100px;

  @media (width > 769px) {
    font-size: 30px;
    width: 150px;
    height: 150px;
    left: -90px;
    top: -90px;
  }

  &::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 18px;
    height: 24px;
    background: url('../img/top/trouble-fukidashi.svg') no-repeat bottom center;
    background-size: 100%;

    @media (width > 769px) {
      width: 36px;
      height: 48px;
    }
  }
}

.top-trouble__item-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;

  @media (width > 769px) {
    font-size: 30px;
  }
}

.top-trouble__item-img {
  margin-top: 14px;

  @media (width > 769px) {
    margin-top: 30px;
  }

  img {
    width: 100%;
  }
}

.top-trouble__box {
  border-radius: 15px;
  border: solid 3px #008147;
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;

  @media (width > 769px) {
    border-width: 6px;
    border-radius: 20px;
    max-width: none;
  }
}

.top-trouble__box-title {
  padding: 10px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #ffffff;
  background-color: #008147;
  border-radius: 5px 5px 0 0;

  @media (width > 769px) {
    font-size: 40px;
  }
}

.top-trouble__box-body {
  padding: 16px;
  background-color: #fff;
  border-radius: 0 0 15px 15px;

  @media (width > 769px) {
    padding: 36px 36px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
  }
}

.top-trouble__box-text {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;

  @media (width > 769px) {
    text-align: left;
    font-size: clamp(28px, calc(28px + (100vw - 768px) / 30), 40px);
  }
}

.top-trouble__box-img {
  margin-top: 20px;

  img {
    width: 190px;
    margin-left: auto;
    margin-right: auto;
  }

  @media (width > 769px) {
    margin-top: 0;

    img {
      width: 380px;
    }
  }
}

/* ----------------------------------------
   Service Section
   ---------------------------------------- */

.top-service {
  margin-top: 15px;

  @media (width > 769px) {
    margin-top: 100px;
    margin-bottom: 130px;
  }
}

.top-service__content {
  margin-left: auto;
  margin-right: auto;
  margin-top: 39px;
  margin-bottom: 19px;

  @media (width > 769px) {
    max-width: none;
    margin-top: 50px;
    margin-bottom: 60px;
  }
}

.top-service__title-box {
  position: relative;
  padding: 13px 10px;
  border-top: solid 3px #008147;
  border-bottom: solid 3px #008147;

  @media (width > 769px) {
    padding: 33px 10px;
    border-width: 6px;
    zoom: clamp(0.8, 100vw / var(--var-width-lg), 1);
  }

}

.top-service__title {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  color: #008147;

  @media (width > 769px) {
    font-size: 48px;
  }
}

.top-service__title-text {
  margin-top: 3px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  color: #008147;

  span {
    padding: 3px 10px;
    font-size: 9px;
    color: #ffffff;
    background-color: #008147;
  }

  @media (width > 769px) {
    font-size: 28px;

    span {
      font-size: 20px;
    }
  }
}

.top-service__balloon {
  position: absolute;
  top: -23px;
  left: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 30px;
  box-sizing: border-box;
  margin: auto;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  color: #ffffff;
  background: #E8463C;
  border-radius: 50px;
  z-index: var(--var-zindex-element);

  @media (width > 769px) {
    top: 0;
    bottom: 0;
    left: auto;
    right: -60px;
    width: 200px;
    height: 200px;
    padding: 0;
    line-height: 1.2;
    display: grid;
    place-items: center;
    border-radius: 100px;
    font-size: 28px;
  }

  @media (width < 1090px) {
    right: -28px;
  }
}

.top-service__examples {
  position: relative;
  justify-content: space-between;
  justify-content: center;
  position: relative;
  margin-top: 16px;
  margin-bottom: 80px;

  max-width: 460px;
  margin-left: auto;
  margin-right: auto;

  @media (width > 769px) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 20px;
    max-width: none;
    margin-top: 150px;
  }
}

.top-service__example-item {
  width: 245px;
  margin-bottom: 10px;


  @media (width > 769px) {
    width: 100%;
  }
}

.top-service__example-item:nth-child(2n) {
  margin-left: auto;
}

.top-service__example-item:first-child {
  margin-top: 0;
}

.top-service__example-item:nth-child(2n+1) {

  @media (width > 769px) {
    margin-top: -110px;
  }
}

/* ----------------------------------------
   Osusume Section
   ---------------------------------------- */

.top-osusume {
  position: relative;
  z-index: var(--var-zindex-element);
  margin-bottom: 70px;

  @media (width > 769px) {
    margin-top: 30px;
    margin-bottom: 80px;
  }
}

.top-osusume__title {
  margin-left: auto;
  margin-right: auto;

  img {
    max-width: 316px;
    margin-left: auto;
    margin-right: auto;
  }

  @media (width > 769px) {
    img {
      max-width: none;
    }
  }
}

.top-osusume__items {
  margin-top: 30px;
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;

  @media (width > 769px) {
    margin-top: 20px;
    max-width: none;

  }
}

.top-osusume__item {
  position: relative;
  min-height: 180px;
  padding: 50px 14px 20px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 56% 1fr;
  gap: 4px;
  align-items: center;
  justify-content: space-between;
  background-color: #ffffff;
  border: solid 3px #008147;
  border-radius: 15px;
  margin-top: -12px;

  &:first-child {
    margin-top: 0;
  }

  &:nth-child(2n - 1) {
    margin-right: 20px;
  }

  &:nth-child(2n) {
    margin-left: 20px;

    @media (width > 769px) {
      margin-left: clamp(20px, calc(20px + (100vw - 768px) / 3.2), 160px);
    }
  }

  @media (width > 769px) {
    max-width: 800px;
    min-height: 320px;
    padding: 34px 42px;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    border-width: 6px;
    border-radius: 25px;
    margin-top: -20px;
  }
}

.is-osusume-item1,
.is-osusume-item3 {
  padding-top: 34px;
}

.top-osusume__item-number {
  position: absolute;
  top: 13px;
  left: -8px;
  z-index: 1;

  img {
    display: block;
  }

  @media (width > 769px) {
    left: -15px;
    top: 23px;
  }
}

.top-osusume__item-content {
  @media (width > 769px) {
    margin-top: 60px;
  }
}

.top-osusume__item-title {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;

  @media (width > 769px) {
    font-size: 22px;
  }
}

.top-osusume__item-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;

  @media (width > 769px) {
    font-size: 30px;
  }
}

.top-osusume__item-highlight {
  color: #E8463C;
  font-weight: bold;
}

.top-osusume__item-note {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;

  @media (width > 769px) {
    font-size: 18px;
  }
}

.top-osusume__item-img {
  img {
    display: block;

    height: auto;
  }

  @media (width > 769px) {
    img {
      width: auto;
    }
  }
}

/* ----------------------------------------
   Plan Section
   ---------------------------------------- */

.plan {
  margin-top: 60px;
  margin-bottom: 40px;

  @media (width > 769px) {
    margin-top: 80px;
    margin-bottom: 200px;
  }
}

.plan__header {
  margin-bottom: 18px;

  @media (width > 769px) {
    margin-bottom: 58px;
  }
}

.plan__footer {
  margin-top: 30px;

  @media (width > 769px) {
    margin-top: 40px;
  }
}

.plan__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;

  @media (width > 769px) {
    grid-template-columns: repeat(2, 1fr);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    max-width: none;
  }
}

.plan__item {
  position: relative;
  padding: 0;
  background-color: #ffffff;
  border: solid 3px #ffffff;
  border-radius: 15px;

  @media (width > 769px) {
    border-width: 6px;
    border-radius: 20px;
  }
}

.plan__item--s {
  border-color: #64BE41;

  .plan__item-title {
    background-color: #64BE41;
  }

  .plan__item-label {
    &::before {
      background-color: #64BE41;
    }
  }

  .plan__item-footer {
    border-color: #64BE41;
  }
}

.plan__item--m {
  border-color: #008147;

  .plan__item-title {
    background-color: #008147;
  }

  .plan__item-label {
    &::before {
      background-color: #008147;
    }
  }

  .plan__item-footer {
    border-color: #008147;
  }
}

.plan__item-fukidashi {
  position: absolute;
  top: -17px;
  right: -15px;
  z-index: var(--var-zindex-element);
  margin: 0;

  img {
    display: block;
    width: 75px;
  }

  @media (width > 769px) {
    top: -25px;
    right: -25px;

    img {
      width: 120px;
    }
  }
}

.plan__item-balloon {
  position: absolute;
  right: -14px;
  top: -17px;
  width: 75px;
  height: 75px;
  padding: 4px;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #ffffff;
  background: #E8463C;
  border-radius: 100px;

  @media (width > 769px) {
    font-size: 26px;
    width: 120px;
    height: 120px;
    left: auto;
    right: -25px;
    top: -25px;

  }

  &::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 24px;
    background: url('../img/top/trouble-fukidashi.svg') no-repeat bottom center;
    background-size: 100%;
    bottom: -3px;
    right: auto;
    left: 4px;
    transform: rotate(85deg);

    @media (width > 769px) {
      width: 36px;
      height: 48px;
    }
  }
}

.plan__item-title {
  padding: 9px 10px;
  text-align: center;
  border-radius: 5px 5px 0 0;

  h3 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
  }

  img {
    display: block;
    width: 100px;
    margin-left: auto;
    margin-right: auto;
  }

  @media (width > 769px) {
    padding: 14px;

    img {
      width: 154px;
    }
  }
}

.plan__item-body {
  padding: 16px 16px;

  @media (width > 769px) {
    padding: 25px 24px 30px;
  }
}

.plan__item-section {
  margin-bottom: 0;

  &:last-child {
    margin-bottom: 0;
  }
}

.plan__item-label {
  position: relative;
  padding-left: 0.6em;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;

  &::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.2em;
    bottom: 0;
    width: 4px;
    height: 0.9em;
    margin: auto;
    background-color: #fff;
  }

  @media (width > 769px) {
    font-size: 30px;

    &::before {
      width: 6px;
    }
  }
}

.plan__item-img {
  margin-top: 14px;

  img {
    display: block;
    width: 100%;
    height: auto;
  }

  @media (width > 769px) {
    margin-top: 34px;

  }
}

.plan__item-hr {
  height: 1px;
  margin-top: 20px;
  margin-bottom: 20px;
  border-width: 0;
  border-top: 1px solid #C3C3C3;

  @media (width > 769px) {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.plan__item-footer {
  padding: 10px 10px 7px;
  border-top: solid 3px #ffffff;

  @media (width > 769px) {
    padding: 14px 14px 10px;
    border-width: 6px;
  }
}

.plan__item-price {
  text-align: center;

  img {
    display: block;
    width: 280px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  @media (width > 769px) {
    img {
      width: 400px;
    }
  }
}

[data-animation] {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 1s ease,
    transform 1s ease;
}

[data-animation].is-inview {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-animation] {
    transition: none;
    /* アニメーションを無効に */
    opacity: 1;
    transform: none;
  }
}

/* hr */

.section-hr {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  border: none;
  border-top: 1px solid #CEC6C3;
}

.bold {
  font-weight: 900;
}

.bold-red {
  color: #d8184d;
  font-weight: 900;
}

.align-center {
  text-align: center;
  display: block;
}

.align-right {
  text-align: right;
  display: block;
}

.is-center {
  text-align: center;
}

.is-max-w-800 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* margin */

.section-margin {
  padding-bottom: 4.8309178744vw;
}

@media only screen and (min-width: 48em) {
  .section-margin {
    padding-bottom: 30px;
  }
}

.is-mt0 {
  margin-top: 0 !important;
}

.is-mt-xsmall {
  margin-top: 8px !important;
}

.is-mt-small {
  margin-top: 16px !important;
}

.is-mt-medium {
  margin-top: 32px !important;
}

@media (width > 640px) {
  .is-mt-medium {
    margin-top: 48px !important;
  }
}

.is-mt-large {
  margin-top: 48px !important;
}

@media (width > 640px) {
  .is-mt-large {
    margin-top: 96px !important;
  }
}

.is-mb0 {
  margin-bottom: 0 !important;
}

.is-mb-small {
  margin-bottom: 16px !important;
}

.is-mb-medium {
  margin-bottom: 32px !important;
}

@media (width > 640px) {
  .is-mb-medium {
    margin-bottom: 48px !important;
  }
}

.is-mb-large {
  margin-bottom: 48px !important;
}

@media (width > 640px) {
  .is-mb-large {
    margin-bottom: 96px !important;
  }
}

.is-hidden {
  display: none;
}

.is-hidden-sp {}

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

.is-visible-sp {}

@media (width > 769px) {
  .is-visible-sp {
    display: none;
  }
}

.is-stack-editor>h2,
.is-stack-editor>h3 {
  margin-bottom: 32px;
}

.is-stack-editor>*+* {
  margin-top: 24px;
}

.entryFormColumn .entryFormColumnHead .entryFormColumnHeadLayoutBox input,
.entryFormColumn .entryFormColumnHead .entryFormColumnHeadLayoutBox select {
  color: #000;
}

/* entry body */

@media only screen and (min-width: 48em) {
  .entry-body {
    margin-right: -12px;
    margin-left: -12px;
  }
}

.entry-body [class*=column-map-] {
  margin: 4.8309178744vw auto 0;
  text-align: center;
}

@media only screen and (min-width: 48em) {
  .entry-body [class*=column-map-] {
    margin: 24px 12px 0;
    border: none;
  }
}

.entry-body [class*=column-map-]>* {
  display: inline-block;
}

.entry-body [class*=column-map-]>div {
  width: 100%;
  max-width: 100%;
}

.entry-body [class*=column-eximage-],
.entry-body [class*=column-image-],
.entry-body [class*=column-media-],
.entry-body [class*=column-map-],
.entry-body [class*=column-video-],
.entry-body [class*=column-yolp-],
.entry-body [class*=column-youtube-],
.entry-body [class*=column-table-] {
  margin: 4.8309178744vw auto 0;
  max-width: 100%;
}

@media only screen and (max-width: 47.9375em) {

  .entry-body [class*=column-eximage-],
  .entry-body [class*=column-image-],
  .entry-body [class*=column-media-],
  .entry-body [class*=column-map-],
  .entry-body [class*=column-video-],
  .entry-body [class*=column-yolp-],
  .entry-body [class*=column-youtube-],
  .entry-body [class*=column-table-] {
    display: block;
    float: none;
    clear: both;
    width: auto !important;
  }
}

@media only screen and (min-width: 48em) {

  .entry-body [class*=column-eximage-],
  .entry-body [class*=column-image-],
  .entry-body [class*=column-media-],
  .entry-body [class*=column-map-],
  .entry-body [class*=column-video-],
  .entry-body [class*=column-yolp-],
  .entry-body [class*=column-youtube-],
  .entry-body [class*=column-table-] {
    margin: 24px 0 0;
    padding: 0 12px;
  }
}

.entry-body [class*=column-eximage-] .entry-container,
.entry-body [class*=column-image-] .entry-container,
.entry-body [class*=column-media-] .entry-container,
.entry-body [class*=column-map-] .entry-container,
.entry-body [class*=column-video-] .entry-container,
.entry-body [class*=column-yolp-] .entry-container,
.entry-body [class*=column-youtube-] .entry-container,
.entry-body [class*=column-table-] .entry-container {
  margin: 0;
}

.entry-body [class*=column-eximage-] a[href*=".png"],
.entry-body [class*=column-eximage-] a[href*=".jpg"],
.entry-body [class*=column-eximage-] a[href*=".gif"],
.entry-body [class*=column-image-] a[href*=".png"],
.entry-body [class*=column-image-] a[href*=".jpg"],
.entry-body [class*=column-image-] a[href*=".gif"],
.entry-body [class*=column-media-] a[href*=".png"],
.entry-body [class*=column-media-] a[href*=".jpg"],
.entry-body [class*=column-media-] a[href*=".gif"],
.entry-body [class*=column-map-] a[href*=".png"],
.entry-body [class*=column-map-] a[href*=".jpg"],
.entry-body [class*=column-map-] a[href*=".gif"],
.entry-body [class*=column-video-] a[href*=".png"],
.entry-body [class*=column-video-] a[href*=".jpg"],
.entry-body [class*=column-video-] a[href*=".gif"],
.entry-body [class*=column-yolp-] a[href*=".png"],
.entry-body [class*=column-yolp-] a[href*=".jpg"],
.entry-body [class*=column-yolp-] a[href*=".gif"],
.entry-body [class*=column-youtube-] a[href*=".png"],
.entry-body [class*=column-youtube-] a[href*=".jpg"],
.entry-body [class*=column-youtube-] a[href*=".gif"],
.entry-body [class*=column-table-] a[href*=".png"],
.entry-body [class*=column-table-] a[href*=".jpg"],
.entry-body [class*=column-table-] a[href*=".gif"] {
  display: block;
}

@media only screen and (max-width: 47.9375em) {

  .entry-body [class*=column-eximage-] img,
  .entry-body [class*=column-image-] img,
  .entry-body [class*=column-media-] img,
  .entry-body [class*=column-map-] img,
  .entry-body [class*=column-video-] img,
  .entry-body [class*=column-yolp-] img,
  .entry-body [class*=column-youtube-] img,
  .entry-body [class*=column-table-] img {
    display: block;
    margin: 0 auto;
  }
}

.entry-body [class*=column-eximage-],
.entry-body [class*=column-image-],
.entry-body [class*=column-media-],
.entry-body [class*=column-video-],
.entry-body [class*=column-yolp-],
.entry-body [class*=column-youtube-],
.entry-body [class*=column-table-] {
  box-sizing: border-box;
}

.entry-body [class*=column-eximage-center],
.entry-body [class*=column-image-center],
.entry-body [class*=column-media-center],
.entry-body [class*=column-video-center],
.entry-body [class*=column-yolp-center],
.entry-body [class*=column-youtube-center],
.entry-body [class*=column-table-center] {
  float: none;
  margin: 4.8309178744vw auto 0;
}

@media only screen and (min-width: 48em) {

  .entry-body [class*=column-eximage-center],
  .entry-body [class*=column-image-center],
  .entry-body [class*=column-media-center],
  .entry-body [class*=column-video-center],
  .entry-body [class*=column-yolp-center],
  .entry-body [class*=column-youtube-center],
  .entry-body [class*=column-table-center] {
    margin: 24px auto 0;
  }
}

.entry-body .acms-entry-unit-full.entry-body-clear [class*=column-eximage-center],
.entry-body .acms-entry-unit-full.entry-body-clear [class*=column-image-center],
.entry-body .acms-entry-unit-full.entry-body-clear [class*=column-media-center],
.entry-body .acms-entry-unit-full.entry-body-clear [class*=column-video-center],
.entry-body .acms-entry-unit-full.entry-body-clear [class*=column-yolp-center],
.entry-body .acms-entry-unit-full.entry-body-clear .acms-entry [class*=column-youtube-center],
.entry-body .acms-entry-unit-full.entry-body-clear [class*=column-table-center] {
  width: unset !important;
}

.entry-body .heading-large,
.entry-body .heading-middle,
.entry-body .heading-small {
  margin: 4.0257648953vw 0 0;
}

@media only screen and (min-width: 48em) {

  .entry-body .heading-large,
  .entry-body .heading-middle,
  .entry-body .heading-small {
    margin: 20px 12px 0;
  }
}

.entry-body .section-p,
.entry-body .section-hr,
.entry-body ol,
.entry-body ul,
.entry-body .entry-container {
  margin: 4.8309178744vw 0 0;
}

@media only screen and (min-width: 48em) {

  .entry-body .section-p,
  .entry-body .section-hr,
  .entry-body ol,
  .entry-body ul,
  .entry-body .entry-container {
    margin: 24px 12px 0;
  }
}

.entry-body table ol,
.entry-body table ul {
  margin: 0;
}

@media only screen and (min-width: 48em) {
  .entry-body .section-faq {
    margin-right: 12px;
    margin-left: 12px;
  }
}

.entry-body .caption {
  max-width: 100%;
  margin: 2.4154589372vw 0 0;
  font-size: 0.9em;
}

@media only screen and (min-width: 48em) {
  .entry-body .caption {
    margin: 8px 0 0;
  }
}

.entry .entry-body-col2,
.entry .entry-body-col3,
.entry .entry-body-col3_2 {
  overflow: hidden;
  margin: 0;
}

@media only screen and (max-width: 47.9375em) {

  .entry .entry-body-col2,
  .entry .entry-body-col3,
  .entry .entry-body-col3_2 {
    float: none;
    clear: both;
  }
}

@media only screen and (min-width: 48em) {

  .entry .entry-body-col2:not([class*=right]),
  .entry .entry-body-col3:not([class*=right]),
  .entry .entry-body-col3_2:not([class*=right]) {
    float: left;
  }
}

@media only screen and (min-width: 48em) {
  .entry .entry-body-col2 {
    width: 50% !important;
  }

  .entry .entry-body-col2:not([class*=right]) {
    float: left;
  }
}

@media only screen and (min-width: 48em) {
  .entry .entry-body-col3 {
    width: 33.333% !important;
  }
}

@media only screen and (min-width: 48em) {
  .entry .entry-body-col3_2 {
    width: 66.666% !important;
  }
}

.entry .entry-body-clear {
  overflow: hidden;
  clear: both;
  margin: 0;
}