@charset "UTF-8";
.gnav-wrap :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.gnav-wrap {
  position: relative;
  border-top: 1px solid #e5dcc0;
  background: #ffffff;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}

.gnav__chk,
.gnav__burger {
  display: none;
}

.gnav__list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: 1200px;
  height: 46px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.gnav__item {
  position: relative;
  display: flex;
  align-items: center;
}
.gnav__item + .gnav__item {
  border-left: 1px solid #e5dcc0;
}
.gnav__item:has(.gnav__sub) > .gnav__link::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;
  border: 4px solid transparent;
  border-top-color: currentColor;
  transform: translateY(2px);
}
.gnav__item:hover > .gnav__sub, .gnav__item:focus-within > .gnav__sub {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.gnav__link {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 1.15em;
  color: #3e341e;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s, background-color 0.2s;
}
.gnav__link:hover {
  background: #fcf7e1;
  color: #35a500;
}

.gnav__sub {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 60;
  min-width: 230px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  background: #ffffff;
  border: 1px solid #e5dcc0;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  visibility: hidden;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.gnav__sub a {
  display: block;
  padding: 10px 18px;
  color: #3e341e;
  font-size: 13.5px;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
}
.gnav__sub a:hover {
  background: #fcf7e1;
  color: #35a500;
}

@media screen and (max-width: 768px) {
  .gnav-wrap {
    border-top: 0;
  }
  .gnav-wrap {
    position: static;
    background: none;
  }
  .gnav__burger {
    display: block;
    position: fixed;
    right: 2px;
    top: 8px;
    z-index: 9999;
    width: 34px;
    height: 39px;
    background: none;
    cursor: pointer;
  }
  .gnav__burger span,
  .gnav__burger span::before,
  .gnav__burger span::after {
    content: "";
    position: absolute;
    left: 6px;
    width: 23px;
    height: 2px;
    background: #3e341e;
    transition: transform 0.25s, opacity 0.25s;
  }
  .gnav__burger span {
    top: 18px;
  }
  .gnav__burger span::before {
    top: -8px;
    left: 0;
  }
  .gnav__burger span::after {
    top: 8px;
    left: 0;
  }
  .gnav {
    position: fixed;
    left: 0;
    top: 55px;
    z-index: 9998;
    width: 100%;
    max-height: calc(100vh - 55px);
    overflow-y: auto;
    background: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    padding-bottom: 84px;
    transform: translateY(-120%);
    transition: transform 0.3s ease;
  }
  .gnav__chk:checked ~ .gnav {
    transform: translateY(0);
  }
  .gnav__chk:checked ~ .gnav__burger span {
    background: transparent;
  }
  .gnav__chk:checked ~ .gnav__burger span::before {
    transform: translateY(8px) rotate(45deg);
  }
  .gnav__chk:checked ~ .gnav__burger span::after {
    transform: translateY(-8px) rotate(-45deg);
  }
  .gnav__list {
    display: block;
    height: auto;
    border-top: 1px solid #e5dcc0;
  }
  .gnav__item {
    display: block;
    border-left: 0;
  }
  .gnav__item + .gnav__item {
    border-left: 0;
    border-top: 1px solid #e5dcc0;
  }
  .gnav__item:has(.gnav__sub) > .gnav__link::after {
    margin-left: auto;
  }
  .gnav__link {
    height: auto;
    padding: 14px 18px;
    font-size: 14.5px;
  }
  .gnav__sub {
    position: static;
    visibility: visible;
    opacity: 1;
    transform: none;
    min-width: 0;
    border: 0;
    box-shadow: none;
    background: #fcf7e1;
    padding: 0;
  }
  .gnav__sub a {
    padding: 11px 18px 11px 32px;
    font-size: 13px;
  }
}
header#siteheader {
  height: calc(90px + 47px);
}
@media screen and (max-width: 768px) {
  header#siteheader {
    height: 55px;
  }
}

div#INDEX.main_container {
  padding-top: calc(90px + 47px);
}
@media screen and (max-width: 768px) {
  div#INDEX.main_container {
    padding-top: 55px;
  }
}

.p-kv :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-kv {
  padding: 72px 20px;
  background: #35a500;
  color: #ffffff;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-kv {
    padding: 44px 16px;
  }
}
.p-kv__en {
  margin: 0 0 8px;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 15px;
  letter-spacing: 0.16em;
  color: #f2f8c8;
}
.p-kv__ja {
  margin: 0;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 38px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-kv__ja {
    font-size: 23px;
  }
}

.p-crumb :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-crumb {
  background: #eee7d2;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
.p-crumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 12px 24px;
  list-style: none;
  font-size: 12.5px;
  color: #6b6248;
}
.p-crumb li + li::before {
  content: "›";
  margin-right: 8px;
}
.p-crumb a {
  color: #35a500;
  text-decoration: none;
}
.p-crumb a:hover {
  text-decoration: underline;
}

.p-doc :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-doc {
  padding: 72px 0 96px;
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .p-doc {
    padding: 44px 0 60px;
  }
}
.p-doc__inner {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-doc__inner {
    padding: 0 20px;
  }
}
.p-doc__title {
  margin: 0 0 10px;
  padding-left: 14px;
  border-left: 4px solid #35a500;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-doc__title {
    font-size: 16px;
  }
}
.p-doc__text {
  margin: 0 0 34px;
  font-size: 15.5px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-doc__text {
    font-size: 13.5px;
    margin-bottom: 26px;
  }
}
.p-doc__note {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.7;
  color: #6b6248;
}

.p-sub :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-sub {
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
.p-sub .sec {
  padding: 64px 0;
}
@media screen and (max-width: 768px) {
  .p-sub .sec {
    padding: 40px 0;
  }
}
.p-sub .sec:nth-of-type(even) {
  background: #eee7d2;
}
.p-sub .sec__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-sub .sec__inner {
    padding: 0 20px;
  }
}
.p-sub .sec__en {
  margin: 0 0 6px;
  color: #35a500;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 15px;
  letter-spacing: 0.16em;
  text-align: center;
}
.p-sub .sec__ja {
  margin: 0 0 32px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-sub .sec__ja {
    font-size: 21px;
    margin-bottom: 22px;
  }
}
.p-sub .sec__lead, .p-sub .sec__tip {
  margin: 0 auto 24px;
  max-width: 800px;
  font-size: 15.5px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-sub .sec__lead, .p-sub .sec__tip {
    font-size: 13.5px;
  }
}
.p-sub .sec__tip {
  font-size: 12.5px;
  color: #6b6248;
}
.p-sub h2, .p-sub h3 {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
}
.p-sub p {
  font-size: 15.5px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-sub p {
    font-size: 13.5px;
  }
}
.p-sub a {
  color: #35a500;
}
.p-sub .cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-sub .cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.p-sub .card {
  background: #ffffff;
  border: 1px solid #e5dcc0;
  overflow: hidden;
}
.p-sub .card__img {
  width: 100%;
  height: auto;
  display: block;
}
.p-sub .card__body {
  padding: 18px 18px 22px;
}
.p-sub .card__en, .p-sub .card__role {
  display: block;
  margin-bottom: 4px;
  color: #35a500;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
}
.p-sub .card__title {
  margin: 0 0 10px;
  font-size: 19px;
  font-weight: 700;
}
.p-sub .card__lead {
  margin: 0;
  font-size: 14px;
  line-height: 1.85;
}
.p-sub .card__more {
  display: inline-block;
  margin-top: 12px;
  color: #35a500;
  font-size: 13.5px;
}
.p-sub .course {
  background: #ffffff;
  border: 1px solid #e5dcc0;
  padding: 22px;
}
.p-sub .course + .course {
  margin-top: 20px;
}
.p-sub .course__name {
  margin: 0 0 8px;
  color: #35a500;
  font-size: 21px;
  font-weight: 700;
}
.p-sub .course__catch {
  margin: 0 0 10px;
  font-weight: 700;
}
.p-sub .course__img {
  width: 100%;
  height: auto;
}
.p-sub .course__list {
  margin: 0;
  padding-left: 1.2em;
  font-size: 14.5px;
  line-height: 1.9;
}
.p-sub .faq__item {
  background: #ffffff;
  border: 1px solid #e5dcc0;
  padding: 18px 20px;
}
.p-sub .faq__item + .faq__item {
  margin-top: 12px;
}
.p-sub .faq__q {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 16px;
}
.p-sub .faq__q::before {
  content: "Q";
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  border-radius: 50%;
  background: #35a500;
  color: #ffffff;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 13px;
  line-height: 22px;
  text-align: center;
}
.p-sub .faq__a {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.9;
}
.p-sub .contact__item {
  display: flex;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #e5dcc0;
}
@media screen and (max-width: 768px) {
  .p-sub .contact__item {
    flex-direction: column;
    gap: 4px;
  }
}
.p-sub .contact__label {
  flex: 0 0 170px;
  font-weight: 700;
  color: #35a500;
}
.p-sub .contact__note {
  font-size: 12.5px;
  color: #6b6248;
}
.p-sub .checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-sub .checklist li {
  padding-left: 24px;
  position: relative;
  line-height: 2;
}
.p-sub .checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><path d='M3 9.4l4 4L15 4.6' fill='none' stroke='%2335a500' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}


.gnav__acc {
  display: none;
}

@media screen and (max-width: 768px) {
  .gnav__item {
    position: static;
  }
  .gnav__link--label {
    position: relative;
    cursor: pointer;
  }
  .gnav__link--label::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    margin: 0;
    border: 5px solid transparent;
    border-top-color: currentColor;
    margin-top: -2px;
    transition: transform 0.2s;
  }
  .gnav__item:has(.gnav__sub) > .gnav__link--label::after {
    content: "";
    display: block;
    position: absolute;
    right: 18px;
    top: 50%;
    margin: -2px 0 0;
    border: 5px solid transparent;
    border-top-color: currentColor;
  }
  .gnav__item:has(.gnav__sub) > .gnav__acc:checked + .gnav__link--label::after {
    margin-top: -8px;
    border-top-color: transparent;
    border-bottom-color: currentColor;
  }
  .gnav__sub {
    display: none;
  }
  .gnav__acc:checked ~ .gnav__sub {
    display: block;
  }
  .gnav__sub-head {
    display: none;
  }
  .gnav__sub a {
    text-align: left;
    padding: 12px 18px 12px 32px;
  }
}
@media screen and (min-width: 769px) {
  .gnav-wrap {
    border-top: 1px solid #e6ded0;
    background: #fff;
  }
  .gnav__item + .gnav__item {
    border-left: 1px solid #e6ded0;
  }
  .gnav__link {
    color: #5b4a35;
    font-size: 14px;
  }
  .gnav__link:hover {
    background: #faf5ed;
    color: #6c9048;
  }
  .gnav__link--label {
    cursor: default;
    color: #5b4a35;
  }
  .gnav__link--label:hover {
    background: transparent;
    color: #5b4a35;
  }
  .gnav__sub {
    z-index: 10;
    min-width: 100%;
    padding: 0;
    border: 1px solid #e6ded0;
    border-top: 0;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
    transform: translateY(-6px);
  }
  .gnav__item:hover > .gnav__sub,
  .gnav__item:focus-within > .gnav__sub {
    transform: translateY(0);
  }
  .gnav__sub li + li {
    border-top: 1px solid #e6ded0;
  }
  .gnav__sub a {
    display: block;
    padding: 0.85em 1.2em;
    color: #5b4a35;
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap;
  }
  .gnav__sub a:hover {
    background: #faf5ed;
    color: #6c9048;
  }
  .gnav__sub-head {
    display: list-item;
    padding: 0.8em 1.2em;
    background: #6c9048;
    color: #fff;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-align: center;
    white-space: nowrap;
  }
  .gnav__sub-head + li {
    border-top: 0;
  }
}
.c-more :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.c-more {
  background: #fcf7e1;
  padding: 0 20px 64px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-more {
    padding-bottom: 40px;
  }
}
.c-more a.c-more__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 320px;
  padding: 20px 56px 20px 32px;
  border-radius: 5px;
  background: #35a500;
  color: #ffffff;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s, transform 0.2s;
}
@media screen and (max-width: 768px) {
  .c-more a.c-more__btn {
    min-width: 0;
    width: 100%;
    max-width: 340px;
    padding: 17px 46px 17px 24px;
    font-size: 15px;
  }
}
.c-more a.c-more__btn::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .c-more a.c-more__btn::after {
    right: 20px;
  }
}
.c-more a.c-more__btn:hover {
  background: #2e8a06;
  color: #ffffff;
  transform: translateY(-2px);
}
.c-more a.c-more__btn span {
  color: inherit;
  font-family: inherit;
}

body {
  line-break: strict;
  word-break: auto-phrase;
  overflow-wrap: break-word;
}

.p-message :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-message {
  position: relative;
  overflow: hidden;
  padding: 86px 0 0;
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-message {
    padding: 52px 0 0;
  }
}
.p-message__inner {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 56px 24px 0;
  border: 1px solid #e5dcc0;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-message__inner {
    padding: 36px 18px 0;
  }
}
.p-message__en {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  margin: 0 0 14px;
  color: #35a500;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-weight: 500;
  font-size: 62px;
  line-height: 1;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-message__en {
    font-size: 34px;
    gap: 14px;
  }
}
.p-message__en::before, .p-message__en::after {
  content: "";
  width: 84px;
  height: 1px;
  background: #e5dcc0;
}
@media screen and (max-width: 768px) {
  .p-message__en::before, .p-message__en::after {
    width: 34px;
  }
}
.p-message__ja {
  margin: 0 0 40px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 24px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-message__ja {
    margin-bottom: 26px;
    font-size: 16px;
  }
}
.p-message__ja::before, .p-message__ja::after {
  content: "・";
  color: #35a500;
}
.p-message__catch {
  margin: 0 0 40px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 38px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-message__catch {
    margin-bottom: 26px;
    font-size: 21px;
  }
}
.p-message__text {
  margin: 0 auto;
  max-width: 760px;
  font-size: 16px;
  line-height: 2.1;
}
@media screen and (max-width: 768px) {
  .p-message__text {
    font-size: 13.5px;
    line-height: 1.95;
    text-align: left;
  }
}
.p-message__text + .p-message__text {
  margin-top: 1.8em;
}
.p-message__photo {
  display: block;
  width: calc(100% + 48px);
  max-width: none;
  margin: 56px -24px 0;
  aspect-ratio: 1600/768;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-message__photo {
    width: calc(100% + 36px);
    margin: 32px -18px 0;
    aspect-ratio: 3/2;
  }
}

.p-caution :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-caution {
  position: relative;
  overflow: hidden;
  background: #2e8a06;
  color: #ffffff;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
.p-caution__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-caution__scrim {
  position: absolute;
  inset: 0;
  background: rgba(38, 74, 12, 0.88);
}
.p-caution__inner {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 62px 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-caution__inner {
    padding: 40px 18px;
  }
}
.p-caution__tag {
  display: inline-block;
  margin: 0 0 22px;
  padding: 7px 26px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  font-size: 15px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-caution__tag {
    font-size: 12px;
    padding: 5px 16px;
  }
}
.p-caution__title {
  margin: 0 0 30px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 44px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-caution__title {
    margin-bottom: 20px;
    font-size: 24px;
  }
}
.p-caution__title em {
  font-style: normal;
  color: #d9e86a;
  border-bottom: 3px solid #d9e86a;
  padding-bottom: 0.02em;
}
.p-caution__title strong {
  font-weight: 600;
  color: #f2f8c8;
}
.p-caution__text {
  margin: 0 auto;
  max-width: 820px;
  font-size: 15.5px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-caution__text {
    font-size: 13px;
    line-height: 1.9;
    text-align: left;
  }
}
.p-caution__text strong {
  color: #f2f8c8;
  font-weight: 700;
}

.p-problem :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-problem {
  background: #fcf7e1;
  color: #3e341e;
  padding: 96px 0;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-problem {
    padding: 56px 0;
  }
}
.p-problem__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-problem__inner {
    padding: 0 20px;
  }
}
.p-problem__eyebrow {
  display: inline-block;
  margin: 0 0 18px;
  color: #35a500;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 20px;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 768px) {
  .p-problem__eyebrow {
    font-size: 15px;
  }
}
.p-problem__eyebrow::before, .p-problem__eyebrow::after {
  content: "";
  display: inline-block;
  width: 46px;
  height: 1px;
  margin: 0 16px 8px;
  background: #d9e86a;
}
.p-problem__title {
  margin: 0 0 64px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 44px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-problem__title {
    margin-bottom: 40px;
    font-size: 25px;
  }
}
.p-problem__title small {
  font-size: 0.62em;
  font-weight: 400;
}
.p-problem__title mark {
  display: inline-block;
  margin-left: 0.3em;
  padding: 0.1em 0.5em;
  background: linear-gradient(180deg, #f2f8c8, #d9e86a 60%, #a8bf3a);
  color: #0b0b0b;
  font-weight: 700;
}

.p-prob {
  margin-bottom: 72px;
}
@media screen and (max-width: 768px) {
  .p-prob {
    margin-bottom: 48px;
  }
}
.p-prob__no {
  display: inline-block;
  margin-bottom: 20px;
  padding: 7px 26px 7px 20px;
  background: linear-gradient(180deg, #f2f8c8, #d9e86a 60%, #a8bf3a);
  clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
  color: #0b0b0b;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0.12em;
}
.p-prob__head {
  margin: 0 0 22px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 38px;
  line-height: 1.45;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .p-prob__head {
    font-size: 23px;
  }
}
.p-prob__head em {
  font-style: normal;
  color: #e10e0e;
  border-bottom: 3px solid #d9e86a;
  padding-bottom: 0.04em;
}
.p-prob__text {
  margin: 0 auto;
  max-width: 760px;
  font-size: 17px;
  line-height: 1.9;
  color: #3e341e;
}
@media screen and (max-width: 768px) {
  .p-prob__text {
    font-size: 15px;
    text-align: left;
  }
}
.p-prob__text strong {
  color: #2e8a06;
  font-weight: 700;
}
.p-prob__text + .p-prob__text {
  margin-top: 1em;
}
.p-prob__cols {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-top: 32px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-prob__cols {
    flex-direction: column;
    gap: 22px;
  }
}
.p-prob__photo {
  flex: 0 0 42%;
  width: 42%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border: 1px solid #e5dcc0;
}
@media screen and (max-width: 768px) {
  .p-prob__photo {
    width: 100%;
    flex: none;
    aspect-ratio: 4/3;
  }
}
.p-prob__colsBody {
  flex: 1 1 auto;
}

.p-check {
  position: relative;
  margin: 40px 0 0;
  padding: 46px 32px 34px;
  background: #35a500;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.14);
}
@media screen and (max-width: 768px) {
  .p-check {
    padding: 38px 18px 26px;
  }
}
.p-check::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-bottom: 14px solid #35a500;
}
.p-check__label {
  position: absolute;
  top: 14px;
  left: 22px;
  color: #f2f8c8;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-style: italic;
  font-size: 26px;
  line-height: 1;
}
.p-check__title {
  margin: 0 0 26px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 26px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-check__title {
    font-size: 18px;
  }
}
.p-check__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-check__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
  }
}
.p-check__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.p-check__photo {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.85);
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-check__photo {
    width: 68px;
    height: 68px;
  }
}
.p-check__name {
  font-size: 15px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-check__name {
    font-size: 13px;
  }
}
.p-check__name::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 7px;
  border: 1px solid #f2f8c8;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3.4 3.4L13 4.6' fill='none' stroke='%23d8b866' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/100%;
  vertical-align: -1px;
}

.p-band {
  margin: 72px 0 0;
  padding: 44px 20px;
  background: #2e8a06;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-band {
    margin-top: 48px;
    padding: 32px 16px;
  }
}
.p-band--dark {
  background: #35a500;
}
.p-band__tag {
  display: inline-block;
  margin-bottom: 18px;
  padding: 6px 20px;
  background: linear-gradient(180deg, #f2f8c8, #d9e86a);
  color: #0b0b0b;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
}
.p-band__text {
  margin: 0;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 34px;
  line-height: 1.55;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-band__text {
    font-size: 20px;
  }
}
.p-band__text em {
  font-style: normal;
  color: #f2f8c8;
}

.p-survey {
  margin-top: 56px;
  padding: 44px 32px;
  background: #f1f8e6;
  color: #3e341e;
}
.p-survey :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
@media screen and (max-width: 768px) {
  .p-survey {
    margin-top: 36px;
    padding: 28px 16px;
  }
}
.p-survey__q {
  margin: 0 0 28px;
  padding-bottom: 16px;
  border-bottom: 2px solid #2e8a06;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 30px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-survey__q {
    font-size: 19px;
  }
}
.p-survey__q span {
  color: #c8536a;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  margin-right: 0.3em;
}
.p-survey__body {
  display: flex;
  align-items: center;
  gap: 36px;
}
@media screen and (max-width: 768px) {
  .p-survey__body {
    flex-direction: column;
    gap: 22px;
  }
}
.p-survey--rev .p-survey__body {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .p-survey--rev .p-survey__body {
    flex-direction: column;
  }
}
.p-survey__note {
  margin: 16px 0 0;
  font-size: 12px;
  line-height: 1.6;
  color: #5b6670;
  text-align: right;
}
.p-survey__chartImg {
  flex: 0 0 300px;
  width: 300px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-survey__chartImg {
    flex: none;
    width: 74%;
  }
}
.p-survey__voices {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.p-survey__voice {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  padding: 12px 16px 12px 14px;
  background: #fdf9e8;
  border: 1px solid #e6dcb8;
  font-size: 15px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-survey__voice {
    font-size: 13.5px;
  }
}
.p-survey__voice strong {
  font-weight: 700;
}
.p-survey__voiceIcon {
  flex: 0 0 46px;
  width: 46px;
  height: auto;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .p-survey__voiceIcon {
    flex: 0 0 36px;
    width: 36px;
  }
}

.p-problem:has(> .p-method:last-child) {
  padding-bottom: 0;
}

.p-method {
  position: relative;
  margin-top: 0;
  padding: 0;
  background: #fcf7e1;
}
.p-method__media {
  display: block;
  width: 100%;
  aspect-ratio: 2560/1400;
  object-fit: cover;
  object-position: 78% center;
}
@media screen and (max-width: 768px) {
  .p-method__media {
    aspect-ratio: 2560/1400;
    object-position: center;
  }
}
.p-method__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(250, 247, 238, 0.96) 0%, rgba(250, 247, 238, 0.88) 42%, rgba(250, 247, 238, 0.3) 66%, transparent 80%);
}
@media screen and (max-width: 768px) {
  .p-method__scrim {
    background: linear-gradient(180deg, rgba(250, 247, 238, 0.95) 0%, rgba(250, 247, 238, 0.45) 48%, rgba(250, 247, 238, 0.92) 100%);
  }
}
.p-method__body {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-method__body {
    justify-content: flex-start;
    padding: 32px 20px 0;
  }
}
.p-method__lead {
  margin: 0 0 14px;
  color: #3e341e;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 24px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-method__lead {
    font-size: 16px;
  }
}
.p-method__lead em {
  font-style: normal;
  color: #f2f8c8;
}
.p-method__title {
  margin: 0 0 28px;
  color: #35a500;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 56px;
  line-height: 1.25;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .p-method__title {
    font-size: 30px;
  }
}
.p-method__title em {
  font-style: normal;
  color: #2e8a06;
}
.p-method__title small {
  display: block;
  font-size: 0.42em;
  font-weight: 400;
  letter-spacing: 0.2em;
  color: #f2f8c8;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-style: italic;
}
.p-method__points {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-method__points {
    gap: 8px;
  }
}
.p-method__point {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 132px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid #e5dcc0;
  background: rgba(255, 255, 255, 0.86);
  color: #3e341e;
  font-size: 12.5px;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-method__point {
    width: 92px;
    font-size: 9.5px;
  }
}
.p-method__point strong {
  display: block;
  color: #2e8a06;
  font-weight: 700;
  font-size: 1.16em;
}
.p-method__sep {
  color: #d9e86a;
  font-size: 15px;
}

.c-donut {
  flex: 0 0 300px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .c-donut {
    flex: none;
    width: 74%;
  }
}
.c-donut__ring {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(#35a500 0 calc(var(--p) - 0.5%), #ffffff calc(var(--p) - 0.5%) var(--p), #e2e8d8 var(--p) 100%);
}
.c-donut__hole {
  position: absolute;
  inset: 22%;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.c-donut__lead {
  color: #6b6248;
  font-size: 15px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-donut__lead {
    font-size: 12px;
  }
}
.c-donut__num {
  margin-top: 4px;
  color: #2e8a06;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 46px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-donut__num {
    font-size: 34px;
  }
}
.c-donut__num small {
  font-size: 0.42em;
  margin-left: 0.1em;
  color: #3e341e;
}
.c-donut__legend {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 14px;
  font-size: 13px;
  color: #3e341e;
}
@media screen and (max-width: 768px) {
  .c-donut__legend {
    font-size: 11.5px;
    gap: 12px;
  }
}
.c-donut__key::before {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  margin-right: 6px;
  border-radius: 2px;
  vertical-align: -1px;
}
.c-donut__key--on::before {
  background: #35a500;
}
.c-donut__key--off::before {
  background: #e2e8d8;
}

.p-reason :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-reason {
  background: #fcf7e1;
  color: #3e341e;
  padding: 96px 0;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-reason {
    padding: 56px 0;
  }
}
.p-reason__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-reason__inner {
    padding: 0 20px;
  }
}
.p-reason__eyebrow {
  position: relative;
  display: inline-block;
  margin: 0 0 26px;
  padding: 9px 30px;
  border-radius: 999px;
  background: #35a500;
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-reason__eyebrow {
    font-size: 13px;
    padding: 8px 20px;
  }
}
.p-reason__eyebrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -9px;
  transform: translateX(-50%);
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 9px solid #35a500;
}
.p-reason__title {
  margin: 0 0 64px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 44px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-reason__title {
    margin-bottom: 40px;
    font-size: 25px;
  }
}
.p-reason__title em {
  font-style: normal;
  margin: 0 0.06em;
  color: #35a500;
  font-size: 1.45em;
  font-weight: 700;
}

.p-reasonItem {
  display: flex;
  align-items: center;
  gap: 48px;
  margin-bottom: 72px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-reasonItem {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 48px;
  }
}
.p-reasonItem--rev {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .p-reasonItem--rev {
    flex-direction: column;
  }
}
.p-reasonItem:last-child {
  margin-bottom: 0;
}
.p-reasonItem__photo {
  flex: 0 0 44%;
  width: 44%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-reasonItem__photo {
    width: 100%;
    flex: none;
  }
}
.p-reasonItem__body {
  flex: 1 1 auto;
}
.p-reasonItem__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}
.p-reasonItem__no {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 76px;
  background: #35a500;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  color: #ffffff;
  line-height: 1;
}
.p-reasonItem__no small {
  font-size: 10px;
  letter-spacing: 0.08em;
}
.p-reasonItem__no strong {
  margin-top: 4px;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 27px;
  font-weight: 700;
}
.p-reasonItem__lead {
  margin: 0 0 4px;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .p-reasonItem__lead {
    font-size: 15px;
  }
}
.p-reasonItem__title {
  margin: 0;
  color: #35a500;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-reasonItem__title {
    font-size: 21px;
  }
}
.p-reasonItem__text {
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-reasonItem__text {
    font-size: 15px;
  }
}
.p-reasonItem__text strong {
  color: #e10e0e;
  font-weight: 700;
}
.p-reasonItem__text + .p-reasonItem__text {
  margin-top: 1em;
}

.p-feaHead :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-feaHead {
  padding: 62px 20px 96px;
  background: #35a500;
  color: #ffffff;
  text-align: center;
  clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%);
}
@media screen and (max-width: 768px) {
  .p-feaHead {
    padding: 40px 16px 64px;
  }
}
.p-feaHead__no {
  margin: 0 0 18px;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 18px;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 768px) {
  .p-feaHead__no {
    font-size: 14px;
  }
}
.p-feaHead__lead {
  margin: 0 0 10px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 30px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-feaHead__lead {
    font-size: 18px;
  }
}
.p-feaHead__title {
  margin: 0;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 1.35;
  letter-spacing: 0.05em;
  color: #f2f8c8;
}
@media screen and (max-width: 768px) {
  .p-feaHead__title {
    font-size: 27px;
  }
}

.p-feature :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-feature {
  background: #fcf7e1;
  color: #3e341e;
  padding: 0 0 96px;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .p-feature {
    padding-bottom: 56px;
  }
}
.p-feature__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-feature__inner {
    padding: 0 20px;
  }
}
.p-feature__cols {
  display: flex;
  align-items: flex-start;
  gap: 44px;
  padding-top: 8px;
}
@media screen and (max-width: 768px) {
  .p-feature__cols {
    flex-direction: column;
    gap: 22px;
  }
}
.p-feature__body {
  flex: 1 1 auto;
}
.p-feature__photo {
  flex: 0 0 44%;
  width: 44%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-feature__photo {
    width: 100%;
    flex: none;
  }
}
.p-feature__catch {
  margin: 0 0 20px;
}
.p-feature__catch span {
  display: block;
  width: fit-content;
  margin-bottom: 6px;
  padding: 8px 20px;
  background: #35a500;
  color: #ffffff;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 27px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-feature__catch span {
    font-size: 18px;
    padding: 6px 14px;
  }
}
.p-feature__text {
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-feature__text {
    font-size: 15px;
  }
}
.p-feature__text strong {
  color: #e10e0e;
  font-weight: 700;
}
.p-feature__text + .p-feature__text {
  margin-top: 1em;
}
.p-feature__ask {
  margin: 72px 0 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-feature__ask {
    margin-top: 48px;
  }
}
.p-feature__askTag {
  position: relative;
  display: inline-block;
  margin-bottom: 22px;
  padding: 7px 24px;
  border-radius: 999px;
  background: #dcd8cb;
  color: #3e341e;
  font-size: 15px;
}
.p-feature__askTag::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #dcd8cb;
}
.p-feature__askText {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 34px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-feature__askText {
    font-size: 19px;
    gap: 10px;
  }
}
.p-feature__askText em {
  font-style: normal;
  color: #35a500;
}
.p-feature__askText::before, .p-feature__askText::after {
  content: "";
  width: 2px;
  height: 1.1em;
  background: #3e341e;
}
.p-feature__askText::before {
  transform: rotate(-20deg);
}
.p-feature__askText::after {
  transform: rotate(20deg);
}

.p-answer :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-answer {
  margin-top: 44px;
  padding: 56px 20px 0;
  background: #35a500;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-answer {
    margin-top: 30px;
    padding: 36px 16px 0;
  }
}
.p-answer__title {
  margin: 0 0 26px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 42px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-answer__title {
    font-size: 24px;
  }
}
.p-answer__lines {
  margin: 0 0 44px;
}
@media screen and (max-width: 768px) {
  .p-answer__lines {
    margin-bottom: 30px;
  }
}
.p-answer__lines span {
  display: inline-block;
  margin-bottom: 10px;
  padding: 9px 22px;
  background: #ffffff;
  color: #3e341e;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 24px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .p-answer__lines span {
    font-size: 15px;
    padding: 7px 14px;
  }
}
.p-answer__lines span strong {
  color: #e10e0e;
  font-weight: 700;
}
.p-answer__card {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 0 34px;
  background: #ffffff;
  color: #3e341e;
  text-align: left;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 34px), 50% 100%, 0 calc(100% - 34px));
}
.p-answer__cardTitle {
  margin: 0 0 22px;
  padding: 14px 20px;
  background: #2e8a06;
  color: #ffffff;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 24px;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-answer__cardTitle {
    font-size: 17px;
    padding: 11px 14px;
  }
}
.p-answer__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 24px 24px;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-answer__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin: 0 16px 18px;
  }
}
.p-answer__item {
  padding: 13px 10px;
  background: #f1f8e6;
  font-size: 16px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-answer__item {
    font-size: 13px;
    padding: 10px 6px;
  }
}
.p-answer__item::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 8px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><rect x='1' y='1' width='16' height='16' fill='none' stroke='%234e6232' stroke-width='1.6'/><path d='M4.5 9.4l3 3L14 5.6' fill='none' stroke='%234e6232' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  vertical-align: -2px;
}
.p-answer__note {
  margin: 0 24px;
  font-size: 15.5px;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-answer__note {
    margin: 0 16px;
    font-size: 13.5px;
  }
}
.p-answer__note strong {
  color: #e10e0e;
  font-weight: 700;
}

.p-feaBridge :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-feaBridge {
  padding: 64px 20px 0;
  background: #fcf7e1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-feaBridge {
    padding-top: 40px;
  }
}
.p-feaBridge__lead {
  display: inline-block;
  margin: 0 0 8px;
  padding-bottom: 12px;
  color: #3e341e;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 22px;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #3e341e;
}
@media screen and (max-width: 768px) {
  .p-feaBridge__lead {
    font-size: 15px;
  }
}
.p-feaBridge__title {
  margin: 12px 0 0;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 42px;
  letter-spacing: 0.04em;
  color: #3e341e;
}
@media screen and (max-width: 768px) {
  .p-feaBridge__title {
    font-size: 24px;
  }
}
.p-feaBridge__title em {
  font-style: normal;
  color: #e10e0e;
}

.p-fea02 :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-fea02 {
  background: #fcf7e1;
  color: #3e341e;
  padding: 0 0 0;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
.p-fea02__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-fea02__inner {
    padding: 0 20px;
  }
}
.p-fea02__cols {
  display: flex;
  align-items: flex-start;
  gap: 44px;
  padding: 56px 0 0;
}
@media screen and (max-width: 768px) {
  .p-fea02__cols {
    flex-direction: column;
    gap: 20px;
    padding-top: 32px;
  }
}
.p-fea02__photo {
  flex: 0 0 45%;
  width: 45%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-fea02__photo {
    width: 100%;
    flex: none;
  }
}
.p-fea02__body {
  flex: 1 1 auto;
}
.p-fea02__catch {
  margin: 0 0 20px;
}
.p-fea02__catch span {
  display: block;
  width: fit-content;
  margin-bottom: 6px;
  padding: 8px 20px;
  background: #35a500;
  color: #ffffff;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 27px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-fea02__catch span {
    font-size: 18px;
    padding: 6px 14px;
  }
}
.p-fea02__text {
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-fea02__text {
    font-size: 15px;
  }
}
.p-fea02__text strong {
  color: #e10e0e;
  font-weight: 700;
}
.p-fea02__text + .p-fea02__text {
  margin-top: 1em;
}

.p-fea02Bridge :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-fea02Bridge {
  margin-top: 64px;
  padding: 52px 20px 44px;
  background: #f1f8e6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-fea02Bridge {
    margin-top: 40px;
    padding: 32px 16px 28px;
  }
}
.p-fea02Bridge__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  margin-bottom: 22px;
  border: 1px solid #35a500;
  border-radius: 50%;
  color: #35a500;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 21px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-fea02Bridge__mark {
    width: 68px;
    height: 68px;
    font-size: 15px;
    margin-bottom: 14px;
  }
}
.p-fea02Bridge__lead {
  margin: 0 0 14px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 26px;
  letter-spacing: 0.04em;
  color: #3e341e;
}
@media screen and (max-width: 768px) {
  .p-fea02Bridge__lead {
    font-size: 17px;
  }
}
.p-fea02Bridge__lead em {
  font-style: normal;
  display: inline-block;
  margin-right: 0.3em;
  padding: 4px 14px;
  background: #35a500;
  color: #ffffff;
  font-weight: 600;
}
.p-fea02Bridge__title {
  margin: 0;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 46px;
  line-height: 1.35;
  letter-spacing: 0.05em;
  color: #3e341e;
}
@media screen and (max-width: 768px) {
  .p-fea02Bridge__title {
    font-size: 26px;
  }
}

.p-fea03 :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-fea03 {
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
.p-fea03__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-fea03__inner {
    padding: 0 20px;
  }
}
.p-fea03__cols {
  display: flex;
  align-items: flex-start;
  gap: 44px;
  padding: 56px 0 0;
}
@media screen and (max-width: 768px) {
  .p-fea03__cols {
    flex-direction: column;
    gap: 20px;
    padding-top: 32px;
  }
}
.p-fea03__photo {
  flex: 0 0 45%;
  width: 45%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-fea03__photo {
    width: 100%;
    flex: none;
  }
}
.p-fea03__body {
  flex: 1 1 auto;
}
.p-fea03__catch {
  margin: 0 0 20px;
}
.p-fea03__catch span {
  display: block;
  width: fit-content;
  margin-bottom: 6px;
  padding: 8px 20px;
  background: #35a500;
  color: #ffffff;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 27px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-fea03__catch span {
    font-size: 18px;
    padding: 6px 14px;
  }
}
.p-fea03__text {
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-fea03__text {
    font-size: 15px;
  }
}
.p-fea03__text strong {
  color: #e10e0e;
  font-weight: 700;
}
.p-fea03__text + .p-fea03__text {
  margin-top: 1em;
}

.p-treat :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-treat {
  padding: 76px 20px 0;
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-treat {
    padding-top: 48px;
  }
}
.p-treat__lead {
  margin: 0 0 6px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 24px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-treat__lead {
    font-size: 15px;
  }
}
.p-treat__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin: 0 0 12px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 42px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-treat__title {
    font-size: 23px;
    gap: 10px;
  }
}
.p-treat__title::before, .p-treat__title::after {
  content: "";
  width: 46px;
  height: 78px;
  border: 2px solid #a8bf3a;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .p-treat__title::before, .p-treat__title::after {
    width: 24px;
    height: 44px;
  }
}
.p-treat__title::before {
  border-right: 0;
}
.p-treat__title::after {
  border-left: 0;
}
.p-treat__stars {
  color: #a8bf3a;
  font-size: 15px;
  letter-spacing: 0.6em;
}

.p-point :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-point {
  padding: 48px 0 0;
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
.p-point__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-point__inner {
    padding: 0 20px;
  }
}
.p-point__cols {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .p-point__cols {
    flex-direction: column;
    gap: 18px;
  }
}
.p-point--rev .p-point__cols {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .p-point--rev .p-point__cols {
    flex-direction: column;
  }
}
.p-point__photo {
  flex: 0 0 44%;
  width: 44%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-point__photo {
    width: 100%;
    flex: none;
  }
}
.p-point__body {
  flex: 1 1 auto;
}
.p-point__no {
  display: inline-block;
  margin-bottom: 12px;
  padding: 6px 26px 6px 18px;
  background: #35a500;
  clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
  color: #ffffff;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.08em;
}
.p-point__lead {
  margin: 0 0 2px;
  font-size: 17px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-point__lead {
    font-size: 14px;
  }
}
.p-point__title {
  margin: 0 0 16px;
  color: #35a500;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-point__title {
    font-size: 21px;
  }
}
.p-point__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.95;
}
@media screen and (max-width: 768px) {
  .p-point__text {
    font-size: 14px;
  }
}
.p-point__text strong {
  color: #e10e0e;
  font-weight: 700;
}
.p-point__text + .p-point__text {
  margin-top: 0.9em;
}

.p-staff :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-staff {
  padding: 72px 0 0;
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .p-staff {
    padding-top: 44px;
  }
}
.p-staff__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-staff__inner {
    padding: 0 20px;
  }
}
.p-staff__head {
  display: block;
  width: fit-content;
  margin: 0 auto 34px;
  padding: 11px 34px;
  background: #35a500;
  color: #ffffff;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-weight: 600;
  font-size: 22px;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 768px) {
  .p-staff__head {
    font-size: 15px;
    padding: 8px 20px;
    margin-bottom: 22px;
  }
}
.p-staff__card {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  padding: 34px 30px;
  background: #fbf8ee;
  border: 1px solid #e5dcc0;
}
@media screen and (max-width: 768px) {
  .p-staff__card {
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 22px 16px;
  }
}
.p-staff__card + .p-staff__card {
  margin-top: 28px;
}
.p-staff__figure {
  flex: 0 0 182px;
  width: 182px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-staff__figure {
    flex: none;
  }
}
.p-staff__photo {
  width: 100%;
  height: auto;
}
.p-staff__text {
  flex: 1 1 auto;
  margin: 0;
  font-size: 15.5px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-staff__text {
    font-size: 13.5px;
  }
}
.p-staff__text + .p-staff__text {
  margin-top: 1em;
}

.p-staff__name {
  display: block;
  margin: 10px auto 0;
  padding: 8px 10px;
  background: #35a500;
  color: #ffffff;
  font-size: 11.5px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
}
.p-staff__name strong {
  display: block;
  margin-top: 2px;
  font-size: 14px;
  font-weight: 700;
}

.p-case__inner, .p-trial__inner, .p-promise__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-case__inner, .p-trial__inner, .p-promise__inner {
    padding: 0 20px;
  }
}

.p-promise :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-promise {
  padding: 76px 0;
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-promise {
    padding: 48px 0;
  }
}
.p-promise__lead {
  margin: 0 0 8px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 23px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-promise__lead {
    font-size: 15px;
  }
}
.p-promise__title {
  margin: 0 0 46px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 42px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-promise__title {
    margin-bottom: 30px;
    font-size: 24px;
  }
}
.p-promise__title em {
  font-style: normal;
  color: #35a500;
  font-size: 1.2em;
}
.p-promise__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-promise__list {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
.p-promise__item {
  position: relative;
  padding: 46px 22px 26px;
  background: #ffffff;
  border: 1px solid #e5dcc0;
  border-radius: 6px;
}
.p-promise__no {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: #35a500;
  color: #ffffff;
  line-height: 1;
}
.p-promise__no small {
  font-size: 9.5px;
  letter-spacing: 0.06em;
}
.p-promise__no strong {
  margin-top: 3px;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 22px;
  font-weight: 700;
}
.p-promise__icon {
  width: 92px;
  height: auto;
  margin: 0 auto 14px;
  display: block;
}
.p-promise__name {
  margin: 0 0 12px;
  color: #35a500;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-promise__name {
    font-size: 18px;
  }
}
.p-promise__text {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.85;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-promise__text {
    font-size: 13.5px;
  }
}

.p-pay :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-pay {
  margin: 0 auto;
  max-width: 1000px;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
.p-pay__title {
  margin: 0;
  padding: 14px 10px;
  background: #2e8a06;
  color: #ffffff;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 24px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-pay__title {
    font-size: 16px;
    padding: 10px;
  }
}
.p-pay__text {
  margin: 0;
  padding: 22px 16px;
  background: #ffffff;
  border: 1px solid #e5dcc0;
  border-top: 0;
  color: #3e341e;
  font-size: 16px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-pay__text {
    font-size: 13px;
    padding: 16px 12px;
  }
}

.p-trial :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-trial {
  padding: 8px 0 0;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
.p-trial__shop {
  display: inline-block;
  margin: 0 6px 18px;
  padding: 6px 22px;
  border: 1px solid #35a500;
  border-radius: 999px;
  color: #35a500;
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .p-trial__shop {
    font-size: 12px;
    padding: 4px 14px;
  }
}
.p-trial__title {
  margin: 0 0 26px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 40px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-trial__title {
    font-size: 22px;
  }
}
.p-trial__title em {
  font-style: normal;
  color: #35a500;
}
.p-trial__points {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-trial__points {
    flex-direction: column;
    gap: 8px;
  }
}
.p-trial__point {
  padding: 12px 20px;
  background: #f1f8e6;
  border: 1px solid #e5dcc0;
  font-size: 15.5px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-trial__point {
    font-size: 13.5px;
    padding: 10px 14px;
  }
}
.p-trial__menuHead {
  margin: 0 0 16px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 24px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-trial__menuHead {
    font-size: 16px;
  }
}
.p-trial__menuHead em {
  font-style: normal;
  color: #35a500;
  font-weight: 700;
}
.p-trial__menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 34px;
  padding: 26px 20px;
  background: #eee7d2;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-trial__menu {
    gap: 6px;
    padding: 16px 12px;
  }
}
.p-trial__menu li {
  padding: 9px 18px;
  background: #35a500;
  color: #ffffff;
  font-size: 14.5px;
}
@media screen and (max-width: 768px) {
  .p-trial__menu li {
    font-size: 12px;
    padding: 7px 10px;
  }
}
.p-trial__qa {
  display: flex;
  align-items: center;
  gap: 26px;
  padding: 24px;
  background: #ffffff;
  border: 1px solid #e5dcc0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-trial__qa {
    flex-direction: column;
    gap: 14px;
    padding: 16px;
  }
}
.p-trial__qaPhoto {
  flex: 0 0 150px;
  width: 150px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-trial__qaPhoto {
    flex: none;
    width: 110px;
  }
}
.p-trial__qaHead {
  display: inline-block;
  margin: 0 0 14px;
  padding: 8px 22px;
  background: #35a500;
  color: #ffffff;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 20px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-trial__qaHead {
    font-size: 15px;
    padding: 6px 14px;
  }
}
.p-trial__qaList {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-trial__qaList li {
  position: relative;
  padding-left: 26px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-trial__qaList li {
    font-size: 13.5px;
    padding-left: 22px;
  }
}
.p-trial__qaList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 15px;
  height: 15px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><rect x='1' y='1' width='16' height='16' fill='none' stroke='%2335a500' stroke-width='1.6'/><path d='M4.5 9.4l3 3L14 5.6' fill='none' stroke='%2335a500' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}

.p-counsel :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-counsel {
  position: relative;
  overflow: hidden;
  background: #f1f8e6;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
}
.p-counsel__cols {
  display: flex;
  align-items: center;
  gap: 34px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 30px 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-counsel__cols {
    flex-direction: column;
    gap: 16px;
    padding: 22px 20px;
  }
}
.p-counsel__photo {
  flex: 0 0 32%;
  width: 32%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-counsel__photo {
    width: 100%;
    flex: none;
  }
}
.p-counsel__body {
  flex: 1 1 auto;
  text-align: center;
}
.p-counsel__ribbon {
  display: inline-block;
  margin: 0 0 14px;
  padding: 7px 34px;
  background: #2e8a06;
  color: #ffffff;
  font-size: 15px;
  letter-spacing: 0.06em;
  clip-path: polygon(6% 0, 94% 0, 100% 50%, 94% 100%, 6% 100%, 0 50%);
}
@media screen and (max-width: 768px) {
  .p-counsel__ribbon {
    font-size: 12px;
    padding: 6px 20px;
  }
}
.p-counsel__title {
  margin: 0 0 18px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 34px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-counsel__title {
    font-size: 20px;
  }
}
.p-counsel__title em {
  font-style: normal;
  display: inline-block;
  padding: 2px 12px;
  background: #ffffff;
  border: 1px solid #35a500;
  color: #35a500;
}
.p-counsel__list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
  max-width: 560px;
  margin-inline: auto;
}
.p-counsel__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dotted #b9c6a6;
  font-size: 15.5px;
}
@media screen and (max-width: 768px) {
  .p-counsel__list li {
    font-size: 13px;
  }
}
.p-counsel__list li strong {
  color: #35a500;
  font-weight: 700;
}
.p-counsel__no {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #35a500;
  color: #ffffff;
  line-height: 1;
}
.p-counsel__no small {
  font-size: 7px;
}
.p-counsel__no b {
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 15px;
}

.p-nopush :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-nopush {
  margin: 0 auto;
  max-width: 1000px;
  padding: 34px 24px;
  background: #2e8a06;
  color: #ffffff;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-nopush {
    padding: 24px 18px;
  }
}
.p-nopush__title {
  margin: 0 0 14px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-nopush__title {
    font-size: 19px;
  }
}
.p-nopush__title::before {
  content: "!";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  margin-right: 12px;
  border-radius: 4px;
  background: #d9e86a;
  color: #2e8a06;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 19px;
  font-weight: 700;
  vertical-align: 3px;
}
.p-nopush__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
  color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 768px) {
  .p-nopush__text {
    font-size: 13px;
    text-align: left;
  }
}

.p-egf :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-egf {
  margin: 0 auto;
  max-width: 1000px;
  padding: 40px 30px;
  background: #2e8a06;
  color: #ffffff;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-egf {
    padding: 26px 18px;
  }
}
.p-egf__tag {
  display: block;
  width: fit-content;
  margin: -58px auto 22px;
  padding: 8px 28px;
  background: #35a500;
  color: #ffffff;
  font-size: 15px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-egf__tag {
    margin-top: -40px;
    font-size: 12px;
    padding: 6px 18px;
  }
}
.p-egf__title {
  margin: 0 0 26px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 33px;
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-egf__title {
    font-size: 19px;
    margin-bottom: 18px;
  }
}
.p-egf__title::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin: 22px 0 0;
  background: rgba(255, 255, 255, 0.4);
}
.p-egf__cols {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .p-egf__cols {
    flex-direction: column;
    gap: 18px;
  }
}
.p-egf__fig {
  flex: 0 0 45%;
  width: 45%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-egf__fig {
    width: 100%;
    flex: none;
  }
}
.p-egf__text {
  flex: 1 1 auto;
  margin: 0;
  font-size: 15.5px;
  line-height: 1.95;
}
@media screen and (max-width: 768px) {
  .p-egf__text {
    font-size: 13.5px;
  }
}
.p-egf__text strong {
  color: #d9e86a;
  font-weight: 700;
}

.p-case :where(div, ul, ol, li, dl, dt, dd,
p, h1, h2, h3, h4, h5, h6,
span, em, strong, small, figure, section, a) {
  color: inherit;
  font-family: inherit;
}
.p-case {
  padding: 84px 0;
  background: #fcf7e1;
  color: #3e341e;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-case {
    padding: 52px 0;
  }
}
.p-case__en {
  margin: 0 0 10px;
  color: #35a500;
  font-family: Quicksand, "Helvetica Neue", sans-serif;
  font-size: 16px;
  letter-spacing: 0.16em;
}
.p-case__title {
  margin: 0 0 26px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-case__title {
    font-size: 23px;
    margin-bottom: 18px;
  }
}
.p-case__title::after {
  content: "";
  display: block;
  width: 54px;
  height: 2px;
  margin: 20px auto 0;
  background: #35a500;
}
.p-case__text {
  margin: 0 auto 30px;
  max-width: 760px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-case__text {
    font-size: 14px;
    text-align: left;
    margin-bottom: 22px;
  }
}
.p-case__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 16px 52px;
  background: #35a500;
  color: #ffffff;
  font-size: 17px;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: background-color 0.2s;
}
@media screen and (max-width: 768px) {
  .p-case__btn {
    font-size: 14px;
    padding: 13px 30px;
  }
}
.p-case__btn::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}
.p-case__btn:hover {
  background: #2e8a06;
}
.p-case__note {
  margin: 22px 0 0;
  font-size: 12.5px;
  line-height: 1.7;
  color: #6b6248;
}

.c-icon {
  display: block;
  flex: 0 0 auto;
  background: no-repeat center/contain;
}
.c-icon--calendar {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='2.5' y='4.5' width='19' height='17' rx='2.5' fill='none' stroke='white' stroke-width='2'/><path d='M2.5 9.5h19' stroke='white' stroke-width='2'/><path d='M7.5 2.5v4M16.5 2.5v4' stroke='white' stroke-width='2' stroke-linecap='round'/><g fill='white'><rect x='6' y='12' width='2.6' height='2.6' rx='.5'/><rect x='10.7' y='12' width='2.6' height='2.6' rx='.5'/><rect x='15.4' y='12' width='2.6' height='2.6' rx='.5'/><rect x='6' y='16.4' width='2.6' height='2.6' rx='.5'/><rect x='10.7' y='16.4' width='2.6' height='2.6' rx='.5'/></g></svg>");
}
.c-icon--chat {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3C6.8 3 2.6 6.3 2.6 10.4c0 2.4 1.5 4.5 3.8 5.9-.2.8-.7 2.3-.8 2.7 0 0 0 .2.1.3.1 0 .2 0 .3 0 .4-.2 2.6-1.6 3.6-2.2.8.2 1.6.3 2.4.3 5.2 0 9.4-3.3 9.4-7.4S17.2 3 12 3z' fill='white'/></svg>");
}
.c-icon--tel {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 3.2c.5-.3 1.2-.1 1.5.4l1.9 3.1c.3.5.2 1.1-.2 1.5L8.5 9.5c-.3.3-.4.7-.2 1.1a12 12 0 0 0 5.1 5.1c.4.2.8.1 1.1-.2l1.3-1.3c.4-.4 1-.5 1.5-.2l3.1 1.9c.5.3.7 1 .4 1.5l-1 1.7c-.4.7-1.2 1-2 .8C13.6 19 5 10.4 3.4 4.5c-.2-.8.1-1.6.8-2l2.4-1.3z' fill='white'/></svg>");
}
.c-icon--freedial {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 34'><rect x='1.6' y='1.6' width='60.8' height='30.8' rx='7' fill='none' stroke='%23333' stroke-width='3.2'/><circle cx='21' cy='17' r='8.4' fill='none' stroke='%23333' stroke-width='3.2'/><circle cx='43' cy='17' r='8.4' fill='none' stroke='%23333' stroke-width='3.2'/></svg>");
}


.c-ctattl {
  container-type: inline-size;
  display: flex;
  position: relative;
  width: 100%;
  aspect-ratio: 1106 / 70;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .c-ctattl {
    aspect-ratio: 617 / 40;
  }
}
.c-ctattl__text {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 500;
  font-size: 5.2cqw;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #3e341e;
  white-space: nowrap;
  margin: 0 3cqw;
}
@media screen and (max-width: 768px) {
  .c-ctattl__text {
    font-size: 5.8cqw;
    margin: 0 2cqw;
  }
}
.c-ctattl::before, .c-ctattl::after {
  content: "";
  width: 0.1em;
  height: 4.6cqw;
  background: #3e341e;
  flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .c-ctattl::before, .c-ctattl::after {
    height: 6.4cqw;
  }
}
.c-ctattl::before {
  transform: rotate(-20deg);
}
.c-ctattl::after {
  transform: rotate(20deg);
}

.c-ctabtn {
  container-type: inline-size;
  display: flex;
  position: relative;
  width: 100%;
  aspect-ratio: 541 / 153;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-direction: column;
  color: #ffffff;
}
.c-ctabtn > * + * {
  margin-top: 2cqw;
}
.c-ctabtn {
  text-decoration: none;
  filter: drop-shadow(0 0 3px rgba(151, 151, 151, 0.4));
}
@media screen and (max-width: 768px) {
  .c-ctabtn {
    aspect-ratio: 308 / 145;
  }
}
.c-ctabtn__badge {
  display: block;
  padding: 1.1cqw 5cqw;
  border-radius: 999px;
  background: #ffffff;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 4.4cqw;
  line-height: 1.25;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.c-ctabtn__body {
  display: flex;
  align-items: center;
  gap: 3cqw;
}
.c-ctabtn__icon {
  width: 9.5cqw;
  height: 9.5cqw;
}
.c-ctabtn__label {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 10.4cqw;
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.c-ctabtn__arrow {
  width: 8cqw;
  height: 8cqw;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 4l8 8-8 8' fill='none' stroke='%23555' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/52% 52%;
  flex: 0 0 auto;
  position: absolute;
  top: 50%;
  right: 4.5cqw;
  transform: translateY(-50%);
}
.c-ctabtn--mail {
  background: linear-gradient(180deg, #f7a52a 0%, #ef7000 100%);
  border-radius: 999px;
}
.c-ctabtn--mail .c-ctabtn__badge {
  color: #ef7000;
}
.c-ctabtn--line {
  background: linear-gradient(180deg, #6cc93a 0%, #35a500 100%);
  border-radius: 999px;
}
.c-ctabtn--line .c-ctabtn__badge {
  color: #35a500;
}

.c-ctatel {
  container-type: inline-size;
  display: flex;
  position: relative;
  width: 100%;
  aspect-ratio: 536 / 182;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-direction: column;
  color: #3e341e;
}
.c-ctatel > * + * {
  margin-top: 0.6cqw;
}
.c-ctatel {
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .c-ctatel {
    aspect-ratio: 630 / 145;
    background: #9c9c9c;
    border-radius: 999px;
    color: #ffffff;
  }
}
.c-ctatel__head {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 500;
  font-size: 5.4cqw;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .c-ctatel__head {
    font-size: 3.4cqw;
  }
}
.c-ctatel__num {
  display: flex;
  align-items: center;
  gap: 1.4cqw;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 500;
  font-size: 12cqw;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-ctatel__num {
    font-size: 8.6cqw;
  }
}
.c-ctatel__mark {
  width: 10cqw;
  height: 5.3cqw;
}
@media screen and (max-width: 768px) {
  .c-ctatel__mark {
    width: 5.4cqw;
    height: 2.9cqw;
    filter: brightness(0) invert(1);
  }
}
.c-ctatel__hours {
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 3.7cqw;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .c-ctatel__hours {
    font-size: 2.5cqw;
  }
}
.c-ctatel::before, .c-ctatel::after {
  content: "";
  position: absolute;
  top: 0;
  width: 3.5cqw;
  height: 100%;
  border: 1px solid #c6c6c6;
}
@media screen and (max-width: 768px) {
  .c-ctatel::before, .c-ctatel::after {
    display: none;
  }
}
.c-ctatel::before {
  left: 0;
  border-right: 0;
}
.c-ctatel::after {
  right: 0;
  border-left: 0;
}
.c-ctatel__arrow {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-ctatel__arrow {
    width: 6cqw;
    height: 6cqw;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 4l8 8-8 8' fill='none' stroke='%23555' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/52% 52%;
    flex: 0 0 auto;
    display: block;
    position: absolute;
    top: 50%;
    right: 3cqw;
    transform: translateY(-50%);
  }
}

.c-step {
  container-type: inline-size;
  display: flex;
  position: relative;
  width: 100%;
  aspect-ratio: 252 / 69;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  justify-content: flex-start;
  background: #2e8a06;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
}
.c-step__text {
  padding-left: 8cqw;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 20cqw;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #ffffff;
  white-space: nowrap;
}

.c-casearrow {
  display: block;
  width: 100%;
  aspect-ratio: 46 / 94;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 94'><path d='M6 6l33 41-33 41' fill='none' stroke='%23b3b3b3' stroke-width='11' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}

.c-methodttl {
  container-type: inline-size;
  display: flex;
  position: relative;
  width: 100%;
  aspect-ratio: 1022 / 323;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-direction: column;
}
.c-methodttl > * + * {
  margin-top: 1cqw;
}
@media screen and (max-width: 768px) {
  .c-methodttl {
    aspect-ratio: 750 / 199;
  }
}
.c-methodttl__lead {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 500;
  font-size: 6.6cqw;
  line-height: 1.2;
  letter-spacing: 0.08em;
  color: #3e341e;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-methodttl__lead {
    font-size: 6.9cqw;
  }
}
.c-methodttl__main {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: 15.5cqw;
  line-height: 1.1;
  letter-spacing: 0.04em;
  color: #2e8a06;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-methodttl__main {
    font-size: 15.5cqw;
  }
}

.c-methodbtn {
  container-type: inline-size;
  display: flex;
  position: relative;
  width: 100%;
  aspect-ratio: 640 / 283;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: flex-start;
}
.c-methodbtn > * + * {
  margin-top: 2cqw;
}
.c-methodbtn {
  background: #ffffff;
  border: 1px solid #2e8a06;
  text-decoration: none;
  filter: drop-shadow(0 0 8px rgba(206, 221, 229, 0.5));
}
@media screen and (max-width: 768px) {
  .c-methodbtn {
    aspect-ratio: 580 / 183;
  }
}
.c-methodbtn__no {
  margin-top: 4.5cqw;
}
@media screen and (max-width: 768px) {
  .c-methodbtn__no {
    margin-top: 3.6cqw;
  }
}
.c-methodbtn__no {
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 5.4cqw;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #2e8a06;
  white-space: nowrap;
}
.c-methodbtn__lead {
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 4.9cqw;
  line-height: 1.35;
  color: #3e341e;
}
.c-methodbtn__strong {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 6.9cqw;
  line-height: 1.3;
  color: #e10e0e;
}
@media screen and (max-width: 768px) {
  .c-methodbtn__strong {
    font-size: 6.6cqw;
  }
}
.c-methodbtn::after {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -1px;
  height: 8.4cqw;
  background: #2e8a06 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'><path d='M2 2l10 8 10-8' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/5cqw auto;
}

.c-hours {
  white-space: nowrap;
}
.c-hours dt,
.c-hours dd {
  display: inline;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  color: inherit;
}
.c-hours dt {
  font-weight: 500;
}
.c-hours div + div {
  margin-top: 0.12em;
}

.ftr {
  padding: 56px 0 0;
  background: #f3ece1;
  color: #5b4a35;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", sans-serif;
  text-align: left;
}

.ftr p {
  width: auto;
  padding: 0;
  color: inherit;
  font-family: inherit;
  letter-spacing: normal;
  text-align: left;
}

.ftr__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 60px;
  width: 92%;
  max-width: 1080px;
  margin: 0 auto;
  padding-bottom: 44px;
}

.ftr__info {
  flex: 0 0 300px;
}

.ftr__shop {
  margin: 0 0 12px;
  font-family: "Noto Serif JP", "Shippori Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
}

.ftr__addr {
  margin: 0 0 10px;
  font-size: 13.5px;
  line-height: 1.8;
}

.ftr__tel {
  margin: 0 0 6px;
  font-family: "Noto Serif JP", "Shippori Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", serif;
  font-size: 26px;
  font-weight: 600;
}

.ftr__tel a {
  color: #5b4a35;
  text-decoration: none;
}

.ftr__note {
  margin: 0;
  color: #8b7a62;
  font-size: 12.5px;
}

.ftr__nav {
  display: flex;
  flex: 1;
  gap: 40px;
}

.ftr__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ftr__nav li + li {
  margin-top: 10px;
}

.ftr__nav a {
  color: #5b4a35;
  font-size: 13.5px;
  text-decoration: none;
  transition: color 0.2s;
}

.ftr__nav a:hover {
  color: #b08f4c;
  text-decoration: underline;
}

.ftr .copy {
  margin: 0;
  padding: 16px 0;
  border-top: 1px solid rgba(176, 143, 76, 0.3);
  color: #8b7a62;
  font-size: 12px;
  text-align: center;
}

footer.ftr {
  display: block;
  width: auto;
  height: auto;
  background: #f3ece1;
}

footer.ftr p {
  width: auto;
  padding: 0;
  color: inherit;
  font-family: inherit;
  letter-spacing: normal;
  line-height: inherit;
  text-align: left;
}

footer.ftr .copy {
  padding: 16px 0;
  text-align: center;
}

.page footer.ftr, .page .ftr {
  background: rgba(243, 236, 225, 0.85);
}

@media only screen and (max-width: 768px) {
  .ftr {
    padding-top: 40px;
  }
  .ftr__inner {
    gap: 28px;
    padding-bottom: 28px;
  }
  .ftr__info {
    flex: 0 0 100%;
  }
  .ftr__nav {
    flex-wrap: wrap;
    gap: 20px 32px;
  }
  .ftr__tel {
    font-size: 22px;
  }
}
@media only screen and (max-width: 768px) {
  footer.ftr {
    padding-bottom: 84px;
  }
  .ftr__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 20px;
    align-items: start;
  }
  .ftr__nav li + li {
    margin-top: 12px;
  }
}

div#FLOW div.inner div.conts_inner ul li div.detail_box div.title_box span.no.c-step {
  display: flex;
}


/*============================
  siteheader — 女性サイトと同一構造（配色のみ男性）
============================*/
.c-num,.c-rt,.c-ico{display:block}
.c-hbtn--tel{position:relative;display:block;box-sizing:border-box;width:100%;aspect-ratio:496/144;container-type:inline-size;color:#3e341e;font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","ヒラギノ角ゴ ProN W3",sans-serif;text-decoration:none}
.c-hbtn--tel .c-hbtn__sp{display:none}
.c-hbtn--tel .c-ico--free{position:absolute;left:3.2258cqw;top:4.6371cqw;width:5.58cqw}
.c-hbtn--tel .c-num{position:absolute;left:21.7742cqw;top:1.6734cqw;font-family:"Noto Serif JP","Shippori Mincho","游明朝",YuMincho,"ヒラギノ明朝 ProN W3",serif;font-size:13.7298cqw;font-weight:500;line-height:1;white-space:nowrap;transform:scaleX(0.862);transform-origin:left center}
.c-hbtn--tel .c-rt{position:absolute;font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","ヒラギノ角ゴ ProN W3",sans-serif;font-weight:400;line-height:1;white-space:nowrap}
.c-hbtn--tel .c-rt--1{left:56.25cqw;top:-0.1008cqw;font-size:3.8306cqw}
.c-hbtn--tel .c-rt--2{left:77.0161cqw;top:-0.1815cqw;font-size:4.2339cqw}
.c-hbtn--tel .c-hbtn__note{position:absolute;left:0;font-size:5.2419cqw;line-height:1;white-space:nowrap;transform-origin:left center}
.c-hbtn--tel .c-hbtn__note b{font-weight:500}
.c-hbtn--tel .c-hbtn__note b::before{content:"【"}
.c-hbtn--tel .c-hbtn__note b::after{content:"】　"}
.c-hbtn--tel .c-hbtn__note--1{top:17.2782cqw;transform:scaleX(0.822)}
.c-hbtn--tel .c-hbtn__note--2{top:23.3266cqw;transform:scaleX(0.822)}
@media only screen and (max-width: 768px){.c-hbtn--tel{aspect-ratio:1/1;background:#9c9c9c;color:#fff}.c-hbtn--tel .c-hbtn__pc{display:none}.c-hbtn--tel .c-hbtn__sp{display:block}.c-hbtn--tel .c-ico--hand{position:absolute;left:30cqw;top:16.3636cqw;width:40cqw}.c-hbtn--tel .c-hbtn__splabel{position:absolute;left:50%;transform:translateX(-50%);top:67.4545cqw;font-family:"Noto Serif JP","Shippori Mincho","游明朝",YuMincho,"ヒラギノ明朝 ProN W3",serif;font-size:17.2727cqw;font-weight:500;line-height:1;letter-spacing:-0.2273cqw;white-space:nowrap}}
.c-hbtn--mail,.c-hbtn--line{position:relative;display:block;box-sizing:border-box;width:100%;aspect-ratio:292/138;container-type:inline-size;border-radius:2.0548cqw;color:#fff;font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","ヒラギノ角ゴ ProN W3",sans-serif;text-decoration:none}
.c-hbtn--mail .c-hbtn__arrow,.c-hbtn--line .c-hbtn__arrow{position:absolute;left:88.6986cqw;top:18.1507cqw;width:5.4795cqw}
.c-hbtn--mail .c-hbtn__label,.c-hbtn--line .c-hbtn__label{position:absolute;font-family:"Noto Serif JP","Shippori Mincho","游明朝",YuMincho,"ヒラギノ明朝 ProN W3",serif;font-size:11.3014cqw;font-weight:600;line-height:1;white-space:nowrap;top:16.4384cqw}
@media only screen and (max-width: 768px){.c-hbtn--mail,.c-hbtn--line{aspect-ratio:1/1;border-radius:0}.c-hbtn--mail .c-hbtn__arrow,.c-hbtn--line .c-hbtn__arrow{display:none}.c-hbtn--mail .c-hbtn__label,.c-hbtn--line .c-hbtn__label{left:50% !important;transform:translateX(-50%);font-family:"Noto Serif JP","Shippori Mincho","游明朝",YuMincho,"ヒラギノ明朝 ProN W3",serif;font-size:17.2727cqw;font-weight:500;top:67.4545cqw}}
.c-hbtn--mail{background:linear-gradient(180deg,#f7a52a 0%,#ef7000 100%)}@media only screen and (max-width: 768px){.c-hbtn--mail{background:#ef7000}}
.c-hbtn--mail .c-hbtn__ico{position:absolute;left:7.5342cqw;top:15.7534cqw;width:14.3836cqw}
.c-hbtn--mail .c-hbtn__label{left:28.0822cqw;letter-spacing:-0.137cqw}
@media only screen and (max-width: 768px){.c-hbtn--mail .c-hbtn__ico{left:30cqw;top:17.2727cqw;width:40.9091cqw}.c-hbtn--mail .c-hbtn__label{letter-spacing:-0.3636cqw}}
.c-hbtn--line{background:linear-gradient(180deg,#6cc93a 0%,#35a500 100%)}@media only screen and (max-width: 768px){.c-hbtn--line{background:#35a500}}
.c-hbtn--line .c-hbtn__ico{position:absolute;left:7.5342cqw;top:15.0685cqw;width:16.4384cqw}
.c-hbtn--line .c-hbtn__label{left:28.4247cqw}
@media only screen and (max-width: 768px){.c-hbtn--line .c-hbtn__ico{left:26.3636cqw;top:13.6364cqw;width:48.1818cqw}.c-hbtn--line .c-hbtn__label{letter-spacing:.8182cqw}}
.c-ico--line .c-ico__t{font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","ヒラギノ角ゴ ProN W3",sans-serif;font-weight:700;font-size:22px;letter-spacing:.5px}
.c-hbtn--line .c-ico--line .c-ico__t{fill:#35a500}
@media only screen and (max-width: 768px){header#siteheader div.inner{box-sizing:border-box;height:100%;align-items:center;justify-content:center;padding-right:40px}header#siteheader div.inner div.header_right{width:auto;margin-left:0}header#siteheader div.inner div.header_right h1{width:100px}header#siteheader div.inner div.nav_box{position:fixed;left:0;bottom:0;z-index:9997;width:100%;padding:5px 6px calc(5px + env(safe-area-inset-bottom));box-sizing:border-box;background:rgba(255,255,255,.96);box-shadow:0 -2px 10px rgba(0,0,0,.12);justify-content:space-between;gap:6px}header#siteheader div.inner div.nav_box div.tel_btn{width:auto;flex:1}header#siteheader div.inner div.nav_box div.reserve_btns{width:auto;flex:2;gap:6px}header#siteheader div.inner div.nav_box div.reserve_btns div.reserve_btn_wrap a,header#siteheader div.inner div.nav_box div.tel_btn a{width:100%}body{padding-bottom:66px}header#siteheader div.inner div.nav_box .c-hbtn--tel,header#siteheader div.inner div.nav_box .c-hbtn--mail,header#siteheader div.inner div.nav_box .c-hbtn--line{display:flex;align-items:center;justify-content:center;gap:6px;height:52px;aspect-ratio:auto;border-radius:6px}header#siteheader div.inner div.nav_box .c-hbtn__sp{display:flex !important;align-items:center;justify-content:center;gap:6px}header#siteheader div.inner div.nav_box .c-hbtn__ico,header#siteheader div.inner div.nav_box .c-ico--hand{position:static !important;left:auto !important;top:auto !important;width:20px !important;transform:none !important}header#siteheader div.inner div.nav_box .c-hbtn__label,header#siteheader div.inner div.nav_box .c-hbtn__splabel{position:static !important;left:auto !important;top:auto !important;transform:none !important;font-size:13px !important;letter-spacing:0 !important}}
@media only screen and (min-width: 769px){header#siteheader{height:auto}}
header#siteheader div.inner div.header_right{align-items:center}
header#siteheader div.inner div.header_right h1{flex-shrink:0;width:200px}
@media only screen and (max-width: 768px){header#siteheader div.inner div.header_right h1{width:100px}}
header#siteheader div.inner div.header_right a.blank_btn{width:auto;flex-shrink:0}
@media only screen and (max-width: 768px){header#siteheader div.inner div.header_right a.blank_btn{width:auto;height:29px;margin:0 4px 0 8px;border-radius:4px}}
header#siteheader div.inner div.header_right a.blank_btn span{white-space:nowrap;padding:0 24px 0 14px}
@media only screen and (max-width: 768px){header#siteheader div.inner div.header_right a.blank_btn span{height:29px;white-space:nowrap;padding:0 13px 0 8px;font-size:10px;line-height:1.2}header#siteheader div.inner div.header_right a.blank_btn span br{display:none}}
header#siteheader div.inner div.header_right a.blank_btn--more{margin-left:0;background-color:#35a500}

