@charset "UTF-8";
/*
 * 参考
 * https://github.com/Andy-set-studio/modern-css-reset/blob/master/src/reset.css
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
ul {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/*****************************************
 * 数値から単位を取り除く
 * 参考
 * https://css-tricks.com/snippets/sass/
******************************************/
/*****************************************
 * px→remの計算
 * 参考
 * https://webdou.net/sass-rem/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/
/*****************************************
 * vwの計算
 * 参考
 * https://webdou.net/sass-vw/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/
html {
  --l-header-height: 65px;
  scroll-padding-top: var(--l-header-height);
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
html {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 1200px) {
  html {
    --l-header-height: 100px;
  }
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  color: #333;
}

main {
  padding-top: var(--l-header-height);
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}

@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/zen-kaku-gothic-new-400.ttf") format("truetype");
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/zen-kaku-gothic-new-500.ttf") format("truetype");
}
.l-dotBg {
  display: flow-root;
  position: relative;
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: top center;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
}

@media screen and (min-width: 768px) {
  .l-dotBg {
    background-size: auto, 2.3125rem;
  }
}
.l-footer {
  padding-top: 0rem;
  padding-bottom: 3.125rem;
  background: #e6f2e5;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-top: 5.9375rem;
  }
}

.l-footer__inner {
  display: flex;
  flex-direction: column;
  max-width: 77.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    display: block;
    width: calc(100% - 80px);
    padding-inline: 0rem;
  }
}
@media (min-width: 768px) and (max-width: 999px) {
  .l-footer__inner {
    width: calc(100% - 5rem);
    padding-inline: 0;
  }
}

.l-footer__brand {
  order: 2;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__brand {
    margin-top: 0;
    text-align: left;
  }
}

.l-footer__logo img {
  display: block;
  width: 12.34375rem;
  height: auto;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-footer__logo img {
    width: 21rem;
    margin-inline: 0;
  }
}

.l-footer__address {
  margin-top: 1rem;
  font-size: 0.8125rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.75rem;
  letter-spacing: 0.025em;
}
@media screen and (min-width: 768px) {
  .l-footer__address {
    margin-top: 1.0625rem;
    font-size: clamp(14px, 1.0625rem, 17px);
    font-weight: 500;
    line-height: 2.125rem;
    letter-spacing: 0.05em;
  }
}

.l-footer__companyLink {
  color: inherit;
  white-space: nowrap;
  text-decoration: none;
  opacity: 1;
}

.l-footer__companyName {
  position: relative;
  display: inline-block;
}

.l-footer__companyName::after {
  position: absolute;
  bottom: -0.125rem;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  content: "";
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .l-footer__companyName::after {
    transition: none;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__companyName::after {
    bottom: 0.25rem;
  }
}

.l-footer__companyLink:hover,
.l-footer__companyLink:focus-visible {
  opacity: 1;
}

.l-footer__companyLink:hover .l-footer__companyName::after,
.l-footer__companyLink:focus-visible .l-footer__companyName::after {
  transform: scaleX(1);
}

.l-footer__companyIcon {
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  margin-left: 0.3em;
  vertical-align: -0.05em;
}

.l-footer__nav {
  order: 1;
  width: calc(100% - 5.6875rem);
  margin: 0rem auto 0;
}
@media screen and (min-width: 768px) {
  .l-footer__nav {
    position: relative;
    width: 29.125rem;
    margin-top: -9.6875rem;
    margin-right: 0rem;
  }
}
@media (min-width: 768px) and (max-width: 999px) {
  .l-footer__nav {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
}

.l-footer__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .l-footer__nav ul {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(4, 3rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 2.3125rem;
         column-gap: 2.3125rem;
  }
}
@media (min-width: 768px) and (max-width: 999px) {
  .l-footer__nav ul {
    grid-template-columns: repeat(2, max-content);
  }
}

.l-footer__nav li {
  height: 3.71875rem;
  border-bottom: 0.0625rem solid #ddd;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__nav li {
    height: 3rem;
    border: 0;
    text-align: left;
  }
}

.l-footer__nav li:first-child {
  border-top: 0.0625rem solid #ddd;
}
@media screen and (min-width: 768px) {
  .l-footer__nav li:first-child {
    border-top: 0;
  }
}

.l-footer__nav a {
  display: block;
  font-size: 0.875rem;
  line-height: 3.71875rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .l-footer__nav a {
    display: inline-block;
    width: -moz-max-content;
    width: max-content;
    font-size: clamp(14px, 1.0625rem, 17px);
    line-height: 3rem;
  }
}
@media (min-width: 768px) and (max-width: 999px) {
  .l-footer__nav a {
    font-size: 12px;
  }
}

.l-footer__bottom {
  order: 3;
  padding-top: 1rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 5.25rem;
    padding-top: 2.8125rem;
    border-top: 0.0625rem solid #ddd;
  }
}

.l-footer__privacy {
  color: #5d5d5d;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .l-footer__privacy {
    font-size: clamp(13px, 0.9375rem, 15px);
  }
}

.l-footer__copyright {
  display: block;
  margin-top: 1.5rem;
  padding-bottom: 0rem;
  color: #666;
  font-size: 0.75rem;
  line-height: 1.5625rem;
  letter-spacing: 0.025em;
}
@media screen and (min-width: 768px) {
  .l-footer__copyright {
    margin-top: 0;
    padding-bottom: 0rem;
    font-size: clamp(13px, 0.9375rem, 15px);
    line-height: normal;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__spBreak {
    display: none;
  }
}

.l-footer__pcSep {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-footer__pcSep {
    display: inline;
  }
}

.l-footer__nav a,
.l-footer__privacy {
  position: relative;
  opacity: 1;
}

.l-footer__nav a::after,
.l-footer__privacy::after {
  position: absolute;
  bottom: -0.125rem;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  content: "";
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .l-footer__nav a::after,
  .l-footer__privacy::after {
    transition: none;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__nav a::after {
    bottom: 0.6875rem;
  }
}

.l-footer__nav a:hover,
.l-footer__nav a:focus-visible,
.l-footer__privacy:hover,
.l-footer__privacy:focus-visible {
  opacity: 1;
}

.l-footer__nav a:hover::after,
.l-footer__nav a:focus-visible::after,
.l-footer__privacy:hover::after,
.l-footer__privacy:focus-visible::after {
  transform: scaleX(1);
}

.l-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  padding-right: 0.453125rem;
  padding-left: 0.5625rem;
  background: #fff;
}
@media screen and (min-width: 1200px) {
  .l-header {
    padding-block: 1.1875rem;
    padding-right: 1.375rem;
    padding-left: 1.0625rem;
  }
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 3.4375rem;
  padding-block: 0;
  background: transparent;
}
@media screen and (min-width: 1200px) {
  .l-header__inner {
    height: auto;
    padding-block: 0;
    background: transparent;
  }
}

.l-header__logo {
  position: relative;
  flex-shrink: 0;
  width: 11.8125rem;
  line-height: 1;
}
@media screen and (min-width: 1200px) {
  .l-header__logo {
    width: 21rem;
    transform: translateY(0.125rem);
  }
}

.l-header__logo img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1200px) {
  .l-header__logo img {
    height: 3.25rem;
  }
}

.l-header__logoText {
  position: absolute;
  inset: 0;
  overflow: hidden;
  color: transparent;
  font-size: 10px;
  line-height: 1.2;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.l-header__nav {
  display: none;
}

.l-header__navList {
  list-style: none;
}

.l-header__navLink {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}

.l-header__navLink::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.125rem;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.l-header__navLink:hover::after,
.l-header__navLink:focus-visible::after {
  transform: scaleX(1);
}

.l-header__actions {
  display: none;
}

.l-header__action {
  display: block;
  border-radius: 0.625rem;
  color: #fff;
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.25rem;
  letter-spacing: 0.05em;
  padding-block: 0.6875rem;
  transition: background-color 0.3s;
}

.l-header__action--apply {
  background: #3c94c7;
}

.l-header__action--contact {
  background: #5baf50;
}

.l-header__action--apply:hover {
  background: #42a0d7;
  opacity: 1;
}

.l-header__action--contact:hover {
  background: #67c25b;
  opacity: 1;
}

.l-header__toggle {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.l-header__toggleIcon {
  display: block;
  width: 1.78125rem;
  height: 1.78125rem;
}

.l-header__drawer {
  position: fixed;
  inset: 0;
  z-index: 890;
  overflow-y: auto;
  background: #e6f2e5;
  padding-top: 4.6875rem;
  padding-inline: 3.125rem;
  padding-bottom: 1.875rem;
}

.l-header__drawer[hidden] {
  display: none;
}

.l-header__drawerList {
  list-style: none;
  text-align: center;
  border-top: 0.0625rem solid #b6d3b2;
}

.l-header__drawerLink {
  display: block;
  -webkit-tap-highlight-color: transparent;
  font-size: 0.875rem;
  line-height: 4.1875rem;
  letter-spacing: 0.05em;
}

.l-header__drawerList li {
  border-bottom: 0.0625rem solid #b6d3b2;
}

.l-header__drawerList li:nth-child(7),
.l-header__drawerList li:nth-child(8) {
  display: none;
}

.l-header__drawerActions {
  margin-top: 3.125rem;
  max-width: 15.9375rem;
  margin-inline: auto;
}

.l-header__drawerActions .l-header__action {
  border-radius: 1.75rem;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.5rem;
  padding-block: 1rem;
  white-space: nowrap;
}

.l-header__drawerActions .l-header__action + .l-header__action {
  margin-top: 1.75rem;
}

html.is-drawerOpen {
  overflow: hidden;
}

html.is-drawerOpen .l-header {
  background: #e6f2e5;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .l-header {
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 7.25px;
    padding-left: 9px;
  }
  .l-header__logo {
    width: 189px;
  }
  .l-header__inner {
    height: 55px;
  }
  .l-header__logo img {
    height: auto;
  }
  .l-header__toggle {
    width: 44px;
    height: 44px;
  }
  .l-header__toggleIcon {
    width: 28.5px;
    height: 28.5px;
  }
  .l-header__drawer {
    padding-top: 75px;
    padding-inline: 50px;
  }
  .l-header__drawerLink {
    font-size: 14px;
    line-height: 67px;
  }
  .l-header__drawerActions {
    max-width: 224px;
  }
  .l-header__drawerActions .l-header__action {
    border-radius: 22.4px;
    font-size: 11.2px;
    line-height: 19.6px;
    padding-block: 12.6px;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__nav {
    display: block;
    margin-left: auto;
    margin-right: 2.236875rem;
  }
  .l-header__navList {
    display: flex;
    align-items: center;
    gap: 1.6413574219rem;
    font-size: 0.96875rem;
    font-weight: 500;
    line-height: 1.375rem;
    letter-spacing: 0.05em;
    transform: translateY(0.159625rem);
  }
  .l-header__actions {
    display: grid;
    grid-template-columns: repeat(2, 8.75rem);
    gap: 0.375rem;
  }
  .l-header__toggle {
    display: none;
  }
}
@media (min-width: 1200px) and (max-width: 1299px) {
  .l-header {
    padding-right: 1rem;
    padding-left: 0.875rem;
  }
  .l-header__logo {
    width: 16.875rem;
  }
  .l-header__logo img {
    height: auto;
  }
  .l-header__nav {
    margin-right: 1.25rem;
  }
  .l-header__navList {
    gap: 1rem;
    font-size: 0.875rem;
  }
  .l-header__actions {
    grid-template-columns: repeat(2, 7.625rem);
    gap: 0.3125rem;
  }
  .l-header__action {
    font-size: 0.75rem;
  }
}
.l-header__logo a,
.l-header__navLink,
.l-header__navLink:hover {
  opacity: 1;
  transition: none;
}

.l-header__logo a {
  position: relative;
  display: block;
}

.l-inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
  max-width: 37.5rem;
}
@media screen and (min-width: 768px) {
  .l-inner {
    padding-right: 25px;
    padding-left: 25px;
    max-width: 1250px;
  }
}

.l-pager {
  margin-top: 2rem;
}

.l-post-connect {
  margin-top: 1rem;
}

.c-arrowLink {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}

.c-btn:has(.c-arrowLink) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.c-btn:has(.c-arrowLink)::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: #58b04b;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.363s ease;
}

.c-btn:has(.c-arrowLink):hover {
  background-color: #fff;
}

.c-btn:has(.c-arrowLink):hover::before,
.c-btn:has(.c-arrowLink):focus-visible::before {
  transform: scaleX(1);
  transform-origin: left;
}

.c-btn--inverse:has(.c-arrowLink):hover {
  background: transparent;
}

.c-btn--inverse:has(.c-arrowLink)::before {
  background: #fff;
}

.c-loopArrow {
  display: grid;
  place-items: center;
  position: relative;
  flex-shrink: 0;
  top: 0.0475rem;
  margin-left: auto;
  width: 1.0625rem;
  height: 1.0625rem;
  overflow: hidden;
  border-radius: 50%;
  background-color: #58b04b;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-loopArrow {
    top: 0.014375rem;
    width: 2.0625rem;
    height: 2.0625rem;
  }
}

.c-btn .c-arrowLink > .c-loopArrow {
  position: absolute;
  top: 50%;
  right: 1.125rem;
  margin-left: 0;
  transform: translateY(calc(-50% + 0.0475rem));
}
@media screen and (min-width: 768px) {
  .c-btn .c-arrowLink > .c-loopArrow {
    right: 1.25rem;
    transform: translateY(calc(-50% + 0.014375rem));
  }
}

.c-btn .c-arrowLink {
  position: static;
}

.c-loopArrow__icon {
  display: block;
  --loop-arrow-icon-size: 0.425rem;
  width: var(--loop-arrow-icon-size);
  height: var(--loop-arrow-icon-size);
  background-color: currentColor;
  -webkit-mask: url("../images/common/icon_arrow_right_bold.svg") center/contain no-repeat;
  mask: url("../images/common/icon_arrow_right_bold.svg") center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .c-loopArrow__icon {
    --loop-arrow-icon-size: 0.65rem;
  }
}

.c-arrowLink:hover .c-loopArrow__icon,
.c-arrowLink:focus-visible .c-loopArrow__icon,
.c-btn:hover .c-loopArrow__icon,
.c-btn:focus-visible .c-loopArrow__icon {
  animation: loopArrow 0.45s ease-in-out;
}

@keyframes loopArrow {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  42% {
    transform: translateX(150%);
    opacity: 0;
  }
  43% {
    transform: translateX(-150%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-btn:has(.c-arrowLink)::before {
    transition: none;
  }
  .c-loopArrow__icon {
    animation: none !important;
  }
}
.c-breadcrumb {
  padding: 1rem 0;
}

.c-breadcrumb a {
  color: #3f9949;
}

.c-btn {
  display: flex;
  align-items: center;
  width: 14.375rem;
  min-height: 3.125rem;
  max-width: calc(100% - 2.5rem);
  padding-inline: 1.5rem;
  border: 0.0625rem solid #58b04b;
  border-radius: 3.125rem;
  color: #58b04b;
  background: #fff;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: color 0.3s, background-color 0.3s;
}
@media screen and (min-width: 768px) {
  .c-btn {
    width: 22.5rem;
    min-height: 5rem;
    padding-inline: 2.8125rem;
    border-width: 0.125rem;
    font-size: clamp(12px, 1.0625rem, 17px);
  }
}

.c-btn:hover {
  color: #fff;
  background-color: #5baf50;
  opacity: 1;
}

.c-btn.js-fadeIn.is-fadeReady {
  transition: background-color 0.8s ease, opacity 0.8s ease;
}
@media screen and (min-width: 768px) {
  .c-btn.js-fadeIn.is-fadeReady {
    transition: background-color 0.8s ease, opacity 0.8s ease, transform 0.8s ease;
  }
}

.c-btn:focus-visible {
  outline: 0.1875rem solid #333;
  outline-offset: 0.25rem;
}

.c-btn--inverse {
  color: #fff;
  background: transparent;
  border-color: #fff;
}

.c-btn--inverse:hover {
  color: #58b04b;
  background: #fff;
}

.c-faqCategory__title {
  padding-block: 1rem;
  padding-inline: 1.25rem;
  border-radius: 0.625rem;
  color: #333;
  background: #d0ecd4;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75rem;
  letter-spacing: 0.05em;
}

.c-faqCategory__list {
  margin-top: 0.9375rem;
  list-style: none;
}

.c-faqCategory__list > li + li {
  margin-top: 0.75rem;
}

@media screen and (min-width: 768px) {
  .c-faqCategory__title {
    padding-block: 1.0625rem;
    padding-inline: 1.875rem;
    border-radius: 1.25rem;
    font-size: clamp(14px, 1.0625rem, 17px);
    line-height: 2.25rem;
  }
  .c-faqCategory__list {
    margin-top: 1.25rem;
  }
  .c-faqCategory__list > li + li {
    margin-top: 1.25rem;
  }
}
.c-faqItem {
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-faqItem {
    border-radius: 1.25rem;
  }
}
.c-faqItem {
  background: #fff;
  overflow: hidden;
}

.c-faqItem__summary {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 3.4375rem;
  color: #333;
  font-family: inherit;
  text-align: left;
  background-color: transparent;
  border: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.5696875rem;
  align-items: center;
  padding: 0.875rem 1.25rem 0.875rem 1.34375rem;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6875rem;
  letter-spacing: 0.05em;
  list-style: none;
  -webkit-tap-highlight-color: transparent;
}
@media screen and (min-width: 768px) {
  .c-faqItem__summary {
    min-height: 5.625rem;
    padding: 1.6875rem 2.5rem 1.6875rem 1.68125rem;
    gap: 0.6946875rem;
    align-items: center;
    line-height: 2.25rem;
    font-size: clamp(14px, 1.125rem, 18px);
  }
}

.c-faqItem__summary::-webkit-details-marker {
  display: none;
}

.c-faqItem__label {
  color: #58b04b;
  font-weight: 700;
  line-height: 1.6875rem;
  font-size: 1rem;
  transform: translateY(-0.0625rem);
}
@media screen and (min-width: 768px) {
  .c-faqItem__label {
    color: #5baf50;
    line-height: 2.25rem;
    font-size: clamp(16px, 1.375rem, 22px);
  }
}

.c-faqItem__toggle {
  position: relative;
  width: 0.78125rem;
  height: 0.78125rem;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .c-faqItem__toggle {
    width: 1.3125rem;
    height: 1.3125rem;
    margin-top: 0;
  }
}

.c-faqItem__toggle::before,
.c-faqItem__toggle::after {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}

.c-faqItem__toggle::before {
  background-image: url("../images/common/icon_toggle_plus.svg");
}

.c-faqItem__toggle::after {
  background-image: url("../images/common/icon_toggle_minus.svg");
  opacity: 0;
}

.c-faqItem.is-accordionOpen .c-faqItem__toggle::before {
  opacity: 0;
}

.c-faqItem.is-accordionOpen .c-faqItem__toggle::after {
  opacity: 1;
}

.c-faqItem__panel {
  overflow: hidden;
}

.c-faqItem__panelInner {
  margin-bottom: -0.625rem;
  padding: 0.25rem 1.28125rem 0.8125rem;
  transform: translateY(-0.625rem);
}
@media screen and (min-width: 768px) {
  .c-faqItem__panelInner {
    padding: 0.0625rem 2.99375rem 1.9375rem 1.91875rem;
  }
}

.c-faqItem__answerText {
  font-size: 0.875rem;
  line-height: 1.8125rem;
  letter-spacing: 0.05em;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  .c-faqItem__answerText {
    font-size: clamp(14px, 1.0625rem, 17px);
    line-height: 2.125rem;
  }
}

.c-faqItem__answerText p + p {
  margin-top: 1em;
}

.c-faqItem__answerText ul,
.c-faqItem__answerText ol {
  margin-top: 1em;
  padding-left: 1.5em;
}

.c-faqItem__answerText ul {
  list-style: disc;
}

.c-faqItem__answerText ol {
  list-style: decimal;
}

.c-faqItem__answerText a {
  color: #5baf50;
  text-decoration: underline;
  -webkit-text-decoration-color: #5baf50;
          text-decoration-color: #5baf50;
  transition: opacity 0.3s, -webkit-text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease, -webkit-text-decoration-color 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .c-faqItem__answerText a {
    transition: none;
  }
}
.c-faqItem__answerText a:hover, .c-faqItem__answerText a:focus-visible {
  -webkit-text-decoration-color: rgba(91, 175, 80, 0);
          text-decoration-color: rgba(91, 175, 80, 0);
}

.c-faqItem__questionText {
  overflow-wrap: anywhere;
}

.c-faqItem__summary:focus-visible {
  outline: 0.1875rem solid #333;
  outline-offset: -0.1875rem;
}

.c-featureCard {
  position: relative;
  background: #eef8ec;
  border-radius: 0.625rem;
  padding-inline: 1.25rem;
  padding-block: 1.8125rem 1.34375rem;
}
@media screen and (min-width: 768px) {
  .c-featureCard {
    border-radius: 1.25rem;
    padding-inline: 2.3125rem 1.8125rem;
    padding-block: 2.25rem 2.625rem;
  }
}

.c-featureCard__badge {
  position: absolute;
  top: -0.46875rem;
  left: 1.375rem;
  padding-inline: 0.6875rem;
  padding-block: 0 0.15625rem;
  border-radius: 0.21875rem;
  background: #5baf50;
  color: #fff;
  font-size: 0.6375rem;
  line-height: 0.9375rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-featureCard__badge {
    top: -0.75rem;
    left: 2.3125rem;
    padding-inline: 1.125rem;
    padding-block: 0.0625rem 0.3125rem;
    border-radius: 0.625rem;
    font-size: clamp(12px, 1.0625rem, 17px);
    line-height: 1.4375rem;
  }
}

.c-featureCard__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding-right: 1.6875rem;
}
@media screen and (min-width: 768px) {
  .c-featureCard__head {
    gap: 1.209375rem;
    padding-right: 0;
  }
}

.c-featureCard__icon {
  flex-shrink: 0;
  width: 3.4375rem;
  height: 3.4375rem;
  background: #fff;
  border-radius: 0.3125rem;
  -o-object-fit: contain;
     object-fit: contain;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .c-featureCard__icon {
    width: 5rem;
    height: 5rem;
    padding: 0;
    border-radius: 0.625rem;
  }
}

.c-featureCard__title {
  min-width: 0;
  flex: 1;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-featureCard__title {
    font-size: clamp(15px, 1.5rem, 24px);
    line-height: 1.6666667;
  }
}

.c-featureCard__text {
  margin-top: 0.46875rem;
  font-size: 0.875rem;
  line-height: 1.8125rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-featureCard__text {
    margin-top: 1.875rem;
    font-size: clamp(14px, 1.125rem, 18px);
    line-height: 2;
  }
}

.c-featureCard--point03 .c-featureCard__text {
  margin-top: 1.40625rem;
}
@media screen and (min-width: 768px) {
  .c-featureCard--point03 .c-featureCard__text {
    margin-top: 1.875rem;
  }
}

.c-featureCard--point01 .c-featureCard__text {
  margin-top: 0.34375rem;
}
@media screen and (min-width: 768px) {
  .c-featureCard--point01 .c-featureCard__text {
    margin-top: 1.875rem;
  }
}

.c-featureCard--point04 {
  padding-block: 1.8125rem 1.28125rem;
}
@media screen and (min-width: 768px) {
  .c-featureCard--point04 {
    padding-block: 2.25rem 2.625rem;
    left: 0.125rem;
  }
}

.c-newsCard {
  border-top: 0.0625rem solid #ddd;
}

.c-newsCard:last-child {
  border-bottom: 0.0625rem solid #ddd;
}

.c-newsCard__link {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  row-gap: 0.75rem;
  padding-block: 1.5rem;
  color: #333;
}
@media screen and (min-width: 768px) {
  .c-newsCard__link {
    display: grid;
    grid-template-columns: max-content 8.5625rem minmax(0, 1fr) 4.9375rem;
    grid-template-areas: "date category title arrow";
    align-items: center;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    min-height: 8.125rem;
    padding-block: 2rem;
  }
}

.c-newsCard__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-newsCard__meta {
    display: contents;
  }
}

.c-newsCard__date {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  padding-top: 0.0625rem;
}
@media screen and (min-width: 768px) {
  .c-newsCard__date {
    grid-area: date;
    font-size: clamp(14px, 1.0625rem, 17px);
  }
}

.c-newsCard__category {
  display: grid;
  padding-inline: 0.75rem;
  place-items: center;
  border-radius: 0.3125rem;
  color: #fff;
  background: #5bae50;
  font-size: 0.625rem;
  line-height: 1.8;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-newsCard__category {
    grid-area: category;
    justify-self: start;
    min-height: 0;
    padding: 0.0625rem 1rem;
    border-radius: 0.625rem;
    font-size: clamp(12px, 0.8125rem, 13px);
    line-height: 1.5;
  }
}

.c-newsCard__title {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}
@media screen and (min-width: 768px) {
  .c-newsCard__title {
    flex: initial;
    grid-area: title;
    font-size: clamp(16px, 1.25rem, 20px);
    line-height: 1.5;
    white-space: nowrap;
    display: block;
    -webkit-line-clamp: unset;
  }
}

.c-newsCard__titleText {
  position: relative;
  display: inline-block;
  padding-bottom: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .c-newsCard__titleText {
    padding-top: 0.125rem;
  }
}

.c-newsCard__titleText::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0.0625rem;
  background: #5baf50;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
}

.c-newsCard__arrow {
  display: none;
  width: 2.8125rem;
  height: 2.8125rem;
  background: url("../images/common/icon_arrow_right_thin.svg") center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .c-newsCard__arrow {
    display: block;
    grid-area: arrow;
    align-self: center;
    justify-self: start;
    margin-left: 1.0625rem;
  }
}

.c-newsCard__link:hover {
  opacity: 1;
}

.c-newsCard__link:hover .c-newsCard__title,
.c-newsCard__link:focus-visible .c-newsCard__title {
  color: #5baf50;
}

.c-newsCard__link:hover .c-newsCard__titleText::after,
.c-newsCard__link:focus-visible .c-newsCard__titleText::after {
  animation: newsTitleUnderline 0.3s ease-out forwards;
}

.c-newsCard__link:hover .c-newsCard__arrow,
.c-newsCard__link:focus-visible .c-newsCard__arrow {
  animation: loopArrow 0.45s ease-in-out;
}

@keyframes newsTitleUnderline {
  to {
    transform: scaleX(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-newsCard__link:hover .c-newsCard__titleText::after,
  .c-newsCard__link:focus-visible .c-newsCard__titleText::after,
  .c-newsCard__link:hover .c-newsCard__arrow,
  .c-newsCard__link:focus-visible .c-newsCard__arrow {
    animation: none;
  }
  .c-newsCard__link:hover .c-newsCard__titleText::after,
  .c-newsCard__link:focus-visible .c-newsCard__titleText::after {
    transform: scaleX(1);
  }
}
.c-newsCard__link:focus-visible {
  outline: 0.1875rem solid #333;
  outline-offset: -0.1875rem;
}

.c-title {
  font-size: 1.5rem;
  color: black;
}
@media screen and (min-width: 768px) {
  .c-title {
    color: red;
  }
}
@media screen and (min-width: 1000px) {
  .c-title {
    color: blue;
  }
}
@media screen and (min-width: 1200px) {
  .c-title {
    color: green;
  }
}

.c-voiceCard {
  min-width: 0;
  min-height: 13.125rem;
  padding-block: 1.75rem 0.625rem;
  padding-inline: 1.15625rem;
  border: 0.0625rem solid #d0edd3;
  border-radius: 0.625rem;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .c-voiceCard {
    min-height: 14.375rem;
    padding-block: 2.0625rem 1.125rem;
    padding-inline: 2.3125rem;
    border-width: 0.125rem;
    border-radius: 1.25rem;
  }
}

.c-voiceCard__head {
  position: relative;
}

.c-voiceCard__icon {
  position: absolute;
  top: 0.1875rem;
  left: 0.03125rem;
  width: 1.53125rem;
  height: 1.3125rem;
}
@media screen and (min-width: 768px) {
  .c-voiceCard__icon {
    top: 0.0625rem;
    left: -0.375rem;
    width: 2.125rem;
    height: 1.875rem;
  }
}

.c-voiceCard__name {
  margin-left: 2.29125rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5625rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-voiceCard__name {
    margin-left: 2.5825625rem;
    font-size: 17px;
    line-height: 2rem;
  }
}

.c-voiceCard__text {
  margin-top: 0.500625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8125rem;
  letter-spacing: 0.05em;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  .c-voiceCard__text {
    margin-top: 0.567125rem;
    font-size: 17px;
    line-height: 2;
  }
}

.p-404 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-404 {
    padding-top: 7.5rem;
    padding-bottom: 6.25rem;
  }
}

.p-404__title {
  text-align: center;
}

.p-404__btn {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-404__btn {
    margin-top: 2.5rem;
  }
}
.p-404__btn .c-btn {
  justify-content: center;
  margin-inline: auto;
}

body:has(.p-404) .p-commonCta {
  padding-top: 0;
}

.p-aboutIntro {
  padding: 3.25rem 1.25rem 5.125rem;
  background: #f5faf5;
}

.p-aboutIntro__inner,
.p-aboutVenue__inner {
  max-width: 68.75rem;
  margin-inline: auto;
}

.p-about__heading {
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

.p-aboutIntro__content {
  margin-top: 2.125rem;
}

.p-aboutIntro__text {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-aboutIntro__photos {
  position: relative;
  height: 16.25rem;
  margin: 2rem auto 0;
  max-width: 26.875rem;
}

.p-aboutIntro__photo {
  position: absolute;
  width: 72%;
  height: auto;
  border-radius: 0.625rem;
  box-shadow: 0 0.1875rem 0.625rem rgba(0, 0, 0, 0.08);
}

.p-aboutIntro__photo--one {
  right: 0;
  top: 0;
}

.p-aboutIntro__photo--two {
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 57.6%;
  transform: translateY(10%);
}

.p-aboutTeachers {
  position: relative;
  z-index: 1;
  margin-top: 0;
  padding: 3.4375rem 1.25rem 4.5rem;
  color: #fff;
  isolation: isolate;
  border-radius: 3.125rem;
}

.p-aboutTeachers::before {
  position: absolute;
  z-index: -2;
  top: 0;
  left: 0;
  width: 100%;
  height: 40%;
  background: #f5faf5;
  content: "";
}

.p-aboutTeachers::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #20b13d url("../images/common/bg1.webp") center center/cover no-repeat;
  border-radius: 3.125rem;
  content: "";
}

.p-aboutTeachers__inner {
  position: relative;
  z-index: 0;
  max-width: 68.75rem;
  margin-inline: auto;
}

.p-aboutTeachers__heading {
  color: #fff;
}

.p-aboutTeachers__list {
  margin-top: 2.375rem;
  list-style: none;
}

.p-aboutTeacher {
  display: grid;
  grid-template-columns: 7.25rem minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.p-aboutTeacher > div {
  border-radius: 3.125rem;
}

.p-aboutTeacher + .p-aboutTeacher {
  margin-top: 3rem;
}

.p-aboutTeacher__photo {
  display: block;
  width: 100%;
  height: 8.5625rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}

.p-aboutTeacher:nth-child(1) .p-aboutTeacher__photo {
  content: url("../images/common/about_02_3.webp");
}

.p-aboutTeacher:nth-child(2) .p-aboutTeacher__photo {
  content: url("../images/common/about_02_1.webp");
}

.p-aboutTeacher:nth-child(3) .p-aboutTeacher__photo {
  content: url("../images/common/about_02_2.webp");
}

.p-aboutTeacher__name {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4;
}

.p-aboutTeacher__founder {
  margin-bottom: 0.4em;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4;
}

.p-aboutTeacher__founderBracket {
  display: inline-block;
  margin-left: -0.5em;
}

.p-aboutTeacher__role,
.p-aboutTeacher__career {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.p-aboutTeacher__roleLine {
  display: block;
}

.p-aboutTeacher__roleLine:has(+ .p-aboutTeacher__roleLine--nowrap) {
  display: inline;
  margin-right: 1em;
}

.p-aboutTeacher__roleLine--nowrap {
  display: inline;
  white-space: nowrap;
}

.p-aboutTeacher--founder {
  padding-top: 2.625rem;
  border-top: 0.0625rem solid #99d392;
}

.p-aboutTeacher__externalLink {
  color: inherit;
  text-decoration: underline;
  transition: -webkit-text-decoration-color 0.5s ease;
  transition: text-decoration-color 0.5s ease;
  transition: text-decoration-color 0.5s ease, -webkit-text-decoration-color 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-aboutTeacher__externalLink {
    transition: none;
  }
}

.p-aboutTeacher__externalLink:hover,
.p-aboutTeacher__externalLink:focus-visible {
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}

.p-aboutTeacher__spBreak {
  display: none;
}

@media screen and (min-width: 375px) and (max-width: 767px) {
  .p-aboutTeacher__spBreak {
    display: inline;
  }
}
.p-aboutTeacher__career {
  margin-top: 1.25rem;
  width: calc(100% + 8.5rem);
  margin-left: -8.5rem;
}

.p-aboutTeacher__label {
  display: block;
  margin-bottom: 0.1875rem;
  font-weight: 500;
}

@media (max-width: 359px) {
  .p-aboutTeacher {
    grid-template-columns: 6.25rem minmax(0, 1fr);
    gap: 0.625rem;
  }
  .p-aboutTeacher__photo {
    height: 7.375rem;
  }
  .p-aboutTeacher__career {
    width: calc(100% + 6.875rem);
    margin-left: -6.875rem;
  }
}
.p-aboutVenue {
  margin-top: -3.125rem;
  padding: 7rem 1.25rem 3.125rem;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, 1.15625rem;
}

.p-aboutFlow {
  display: flow-root;
  position: relative;
  z-index: 0;
  isolation: isolate;
  margin-top: -3.125rem;
  padding-top: 3.125rem;
}

body:has(.p-aboutFlow) {
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: top center;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
}

body:has(.p-aboutFlow) .p-commonCta {
  background: linear-gradient(to bottom, transparent 16.8875rem, #e6f2e5 16.8875rem);
}

.p-aboutFlow .p-aboutVenue {
  margin-top: -3.125rem;
  background: transparent;
}

.p-aboutVenue__content {
  display: grid;
  gap: 2.125rem;
  margin-top: 2.375rem;
}

#about-venue-title {
  letter-spacing: 0.05em;
}

.p-aboutVenue__address {
  font-size: 1.0625rem;
  font-style: normal;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-aboutVenue__pcSeparator,
.p-aboutVenue__pcBreak {
  display: none;
}

.p-aboutVenue__spGap {
  display: inline-block;
  width: 0.5em;
}

.p-aboutVenue__access {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-aboutVenue__note {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  line-height: 1.8;
}

.p-aboutVenue__map {
  width: 100%;
  height: 17.5rem;
  border: 0;
  border-radius: 0.625rem;
  background: #dce9e3;
}

@media screen and (min-width: 768px) {
  .p-aboutIntro {
    padding: 5.9375rem 1.5625rem 9.125rem;
  }
  .p-aboutIntro__inner,
  .p-aboutVenue__inner {
    max-width: 77.5rem;
  }
  .p-about__heading {
    font-size: 2rem;
  }
  .p-aboutIntro__content {
    display: grid;
    grid-template-columns: minmax(0, 41.25rem) minmax(0, 33.5rem);
    gap: 2.75rem;
    align-items: start;
    margin-top: 2.8125rem;
  }
  .p-aboutIntro__text {
    font-size: clamp(16px, 1.125rem, 18px);
    line-height: 2.375rem;
  }
  .p-aboutIntro__photos {
    width: 100%;
    max-width: 33.5rem;
    height: 25.375rem;
    margin: 0;
  }
  .p-aboutIntro__photo {
    width: auto;
    max-width: 100%;
  }
  .p-aboutIntro__photo--one {
    width: 25rem;
    height: 17.5rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-aboutIntro__photo--two {
    width: 17.5rem;
    height: 12.5rem;
    -o-object-fit: cover;
       object-fit: cover;
    transform: none;
  }
  .p-aboutTeachers {
    padding: 6.75rem 1.5625rem 9.625rem;
    border-radius: 6.25rem;
  }
  .p-aboutTeachers__list {
    margin-top: 2.5rem;
  }
  .p-aboutTeacher {
    grid-template-columns: 13.75rem minmax(0, 1fr);
    gap: 3.0625rem;
    max-width: 65.9375rem;
    margin-inline: auto;
  }
  .p-aboutTeacher__photo {
    height: 16.25rem;
  }
  .p-aboutTeacher > div {
    border-radius: 11.25rem;
  }
  .p-aboutTeacher + .p-aboutTeacher {
    margin-top: 2.75rem;
  }
  .p-aboutTeacher__name {
    font-size: clamp(22px, 1.625rem, 26px);
  }
  .p-aboutTeacher__founder {
    font-size: clamp(22px, 1.625rem, 26px);
  }
  .p-aboutTeacher__role,
  .p-aboutTeacher__career {
    font-size: clamp(14px, 1.125rem, 18px);
    line-height: 2.25rem;
  }
  .p-aboutTeacher__role {
    margin-top: 0.75rem;
  }
  .p-aboutTeacher--founder {
    padding-top: 3.25rem;
  }
  .p-aboutTeacher__career {
    margin-top: 0.625rem;
    width: auto;
    margin-left: 0;
  }
  .p-aboutVenue {
    margin-top: -6.25rem;
    padding: 13.4375rem 1.5625rem 0rem;
    background-size: auto, 2.3125rem;
  }
  .p-aboutFlow {
    margin-top: -6.25rem;
    padding-top: 6.25rem;
  }
  .p-aboutFlow .p-aboutVenue {
    margin-top: -6.25rem;
  }
  .p-aboutVenue__content {
    grid-template-columns: minmax(0, 1fr) minmax(0, 40.625rem);
    gap: 4.25rem;
    align-items: start;
    margin-top: 4.6875rem;
  }
  .p-aboutVenue__address {
    font-size: clamp(17px, 1.25rem, 20px);
    line-height: 2.5rem;
  }
  .p-aboutVenue__spOnly {
    display: none;
  }
  .p-aboutVenue__pcSeparator {
    display: inline;
  }
  .p-aboutVenue__pcBreak {
    display: none;
  }
  .p-aboutVenue__access {
    margin-top: 0.5rem;
    font-size: clamp(15px, 1.125rem, 18px);
    line-height: 2.25rem;
  }
  .p-aboutVenue__note {
    font-size: clamp(14px, 1rem, 16px);
  }
  .p-aboutVenue__map {
    height: 25rem;
  }
}
@media screen and (min-width: 768px) {
  body:has(.p-aboutFlow) {
    background-size: auto, 2.3125rem;
  }
  body:has(.p-aboutFlow) .p-commonCta {
    background: linear-gradient(to bottom, transparent 18.5625rem, #e6f2e5 18.5625rem);
  }
}
@media screen and (min-width: 1000px) {
  .p-aboutVenue__pcBreak {
    display: inline;
  }
  .p-aboutVenue__spGap {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 999px) {
  .p-aboutVenue {
    padding-bottom: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-aboutTeachers,
  .p-aboutTeachers::after {
    border-radius: 11.25rem;
  }
  .p-aboutVenue {
    margin-top: -11.25rem;
    padding-top: 18.4375rem;
  }
  .p-aboutFlow {
    margin-top: -11.25rem;
    padding-top: 11.25rem;
  }
  .p-aboutFlow .p-aboutVenue {
    margin-top: -11.25rem;
  }
  .p-aboutIntro,
  .p-aboutTeachers,
  .p-aboutVenue {
    padding-inline: 0;
  }
}
/* 受講案内 ─ 淡いグリーン帯（リード文＋開講時間／受講料カード） */
.p-applyInfo {
  padding-block: 2.75rem 2.5rem;
  background: #eef8ec;
}

.p-applyInfo__inner {
  max-width: 71.875rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.p-applyInfo__lead {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-applyInfo__leadDetail {
  font-size: 0.8125rem;
}

.p-applyInfo__card {
  margin-top: 1.5rem;
  padding: 1.5rem 1.25rem;
  border-radius: 0.625rem;
  background: #fff;
}

.p-applyInfo__card + .p-applyInfo__card {
  margin-top: 1.25rem;
}

.p-applyInfo__cardTitle {
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-applyInfo__cardNote {
  margin-top: 0.625rem;
  font-size: 0.8125rem;
  line-height: 1.375rem;
  letter-spacing: 0.05em;
}

.p-applyInfo__scheduleList {
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.375rem;
  letter-spacing: 0.05em;
}

.p-applyInfo__cardCaution {
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.375rem;
  letter-spacing: 0.05em;
}

.p-applyInfo__priceList {
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-applyInfo__passport {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem 0.875rem;
  margin-top: 0.875rem;
}

.p-applyInfo__passportIcon {
  flex-shrink: 0;
  width: 2.5rem;
  height: auto;
}

.p-applyInfo__passportPrice {
  font-size: 0.8125rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-applyInfo__passportNote {
  width: 100%;
  color: #ff6600;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

/* フォーム ─ お問い合わせフォームと同じパーツ設計に揃える */
.p-applyForm {
  scroll-margin-top: 4.375rem;
  padding-block: 3rem 0rem;
  background: #fff;
}

.p-applyForm__inner {
  max-width: 69.375rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.p-applyForm__srOnly {
  position: absolute;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.p-applyForm__notes {
  font-size: 0.8125rem;
  line-height: 1.85;
  letter-spacing: 0.05em;
}

.p-applyForm__notesLink {
  color: #5baf50;
  text-decoration: underline;
}

.p-applyForm__form {
  margin-top: 1.75rem;
}

.p-applyForm__rows {
  border-top: 0.0625rem solid #cbc9c2;
}

.p-applyForm__row {
  padding-block: 1.125rem;
  border-bottom: 0.0625rem solid #cccac4;
}

.p-applyForm__label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-applyForm__required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6875rem;
  height: 1.125rem;
  margin-left: 0.625rem;
  padding-bottom: 0.0625rem;
  border-radius: 0.125rem;
  background: #5baf50;
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-applyForm__field {
  margin-top: 0.75rem;
}

.p-applyForm__fieldNote {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-applyForm__input,
.p-applyForm__textarea {
  display: block;
  width: 100%;
  padding-block: 0.625rem;
  padding-inline: 0.9375rem;
  border: 0;
  border-radius: 0.125rem;
  background: #edf0f1;
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.p-applyForm__input {
  height: 2.875rem;
}

.p-applyForm__textarea {
  height: 10rem;
  line-height: 1.8;
  resize: vertical;
}

.p-applyForm__input::-moz-placeholder, .p-applyForm__textarea::-moz-placeholder {
  color: #999;
}

.p-applyForm__input::placeholder,
.p-applyForm__textarea::placeholder {
  color: #999;
}

.p-applyForm__input:focus-visible,
.p-applyForm__textarea:focus-visible {
  outline: 0.125rem solid #5baf50;
  outline-offset: 0.125rem;
}

.p-applyForm__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
}

/* チェックボックス */
.p-applyForm__checkList > li + li {
  margin-top: 0.875rem;
}

.p-applyForm__check {
  display: inline-flex;
  align-items: center;
  gap: 0.6875rem;
  cursor: pointer;
}

.p-applyForm__checkBox {
  position: relative;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  border: 0.0625rem solid #c9c9c9;
  border-radius: 0.125rem;
  background: #c9c9c9;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

.p-applyForm__checkBox:checked {
  border-color: #5baf50;
  background: #5baf50;
}

.p-applyForm__checkBox:checked::before {
  position: absolute;
  top: 0.1875rem;
  left: 0.40625rem;
  width: 0.3125rem;
  height: 0.625rem;
  border-right: 0.125rem solid #fff;
  border-bottom: 0.125rem solid #fff;
  transform: rotate(45deg);
  content: "";
}

.p-applyForm__checkBox:focus-visible {
  outline: 0.125rem solid #5baf50;
  outline-offset: 0.125rem;
}

.p-applyForm__checkText {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-applyForm__checkList + .p-applyForm__fieldNote {
  margin-top: 0.75rem;
}

/* 送信ボタン */
.p-applyForm__submit {
  margin-top: 2.5rem;
  text-align: center;
}

.cf-turnstile {
  min-width: 16.25rem;
  min-height: 4rem;
  margin-inline: auto;
}

.cf-turnstile + .p-applyForm__submitButton,
.cf-turnstile + .p-contactForm__submitButton {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .cf-turnstile + .p-applyForm__submitButton,
  .cf-turnstile + .p-contactForm__submitButton {
    margin-top: 3rem;
  }
}

.p-applyForm__submitButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 17.5rem;
  height: 3.75rem;
  border: 0;
  border-radius: 3.125rem;
  background: #5baf50;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s;
}

.p-applyForm__submitButton:hover {
  background: #67c25b;
  text-decoration: none;
}

.p-applyForm__submitButton:focus-visible {
  outline: 0.1875rem solid #333;
  outline-offset: 0.25rem;
}

@media screen and (min-width: 768px) {
  .p-applyInfo {
    padding-block: 6.25rem;
  }
  .p-applyInfo__inner {
    padding-inline: 1.5625rem;
  }
  .p-applyInfo__lead {
    font-size: clamp(14px, 1.25rem, 20px);
    line-height: 2.625rem;
  }
  .p-applyInfo__leadDetail {
    font-size: 1.125rem;
  }
  .p-applyInfo__card {
    margin-top: 2.25rem;
    padding: 2rem 2.5rem 1.75rem;
    border-radius: 1.25rem;
  }
  .p-applyInfo__card + .p-applyInfo__card {
    margin-top: 1.75rem;
  }
  .p-applyInfo__cardTitle {
    font-size: 1.125rem;
  }
  .p-applyInfo__cardNote {
    margin-top: 0.5rem;
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
  .p-applyInfo__scheduleList {
    margin-top: 0.375rem;
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
  .p-applyInfo__cardCaution {
    margin-top: 0.25rem;
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
  .p-applyInfo__priceList {
    margin-top: 0.25rem;
    font-size: 1.125rem;
    line-height: 2.5rem;
  }
  .p-applyInfo__passport {
    gap: 1.5rem;
  }
  .p-applyInfo__passportIcon {
    width: 3.5rem;
  }
  .p-applyInfo__passportPrice {
    font-size: 1.125rem;
  }
  .p-applyInfo__passportNote {
    width: auto;
    font-size: clamp(13px, 1.125rem, 18px);
  }
  .p-applyForm {
    padding-block: 3.875rem 0rem;
  }
  .p-applyForm__inner {
    padding-inline: 1.5625rem;
  }
  .p-applyForm__notes {
    font-size: clamp(13px, 1rem, 16px);
    line-height: 1.75rem;
  }
  .p-applyForm__form {
    margin-top: 3.125rem;
  }
  .p-applyForm__row {
    display: grid;
    grid-template-columns: 17.375rem 1fr;
    align-items: start;
    padding-block: 1.6875rem 1.0625rem;
  }
  .p-applyForm__row--consent {
    align-items: center;
    padding-block: 2.25rem 1.75rem;
  }
  .p-applyForm__label {
    font-size: clamp(15px, 1.125rem, 18px);
    line-height: 1;
  }
  .p-applyForm__required {
    padding-bottom: 0;
  }
  .p-applyForm__field {
    margin-top: 0;
  }
  .p-applyForm__fieldNote {
    margin-top: 0.75rem;
    font-size: clamp(12px, 1rem, 16px);
  }
  .p-applyForm__input,
  .p-applyForm__textarea {
    max-width: 48.75rem;
  }
  .p-applyForm__pair {
    max-width: 48.75rem;
    gap: 1.5625rem;
  }
  .p-applyForm__checkList > li + li {
    margin-top: 0.78125rem;
  }
  .p-applyForm__checkText {
    font-size: clamp(15px, 1.125rem, 18px);
  }
  .p-applyForm__checkList + .p-applyForm__fieldNote {
    margin-top: 1rem;
  }
  .p-applyForm__submit {
    margin-top: 3.75rem;
  }
  .p-applyForm__submitButton {
    max-width: 23.75rem;
    height: 4.5rem;
    font-size: clamp(15px, 1.0625rem, 17px);
  }
}
@media screen and (min-width: 1200px) {
  .p-applyForm__required {
    padding-bottom: 0.0625rem;
  }
}
.p-applyThanks,
.p-thanks {
  background: #fff;
}

.p-applyThanks__inner,
.p-thanks__inner {
  max-width: 68.75rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.p-applyThanks__complete,
.p-thanks__complete {
  padding-block: 3rem 3.25rem;
  background: #eef8ec;
}

.p-applyThanks__heading,
.p-thanks__heading {
  margin: 0;
  color: #333;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-thanks__spBreak {
    display: none;
  }
}

.p-applyThanks__lead,
.p-thanks__lead {
  margin: 1.25rem 0 0;
  color: #333;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: left;
}

.p-applyThanks__body,
.p-thanks__body {
  padding-block: 2.5rem 0.875rem;
  background: #fff;
}

.p-applyThanks__note,
.p-thanks__note {
  margin: 0;
  color: #333;
  font-size: 0.875rem;
  line-height: 1.85;
  letter-spacing: 0.025em;
}

.p-applyThanks__note p,
.p-thanks__note p {
  margin: 0;
}

.p-applyThanks__note p + p,
.p-thanks__note p + p {
  margin-top: 1rem;
}

.p-applyThanks__button,
.p-thanks__button {
  justify-content: center;
  width: 14.375rem;
  min-height: 3.125rem;
  margin: 2.25rem auto 0;
  color: #fff;
  border-color: #5baf50;
  background: #5baf50;
}

.p-applyThanks__button:hover,
.p-thanks__button:hover {
  color: #fff;
  background: #67c25b;
  border-color: #67c25b;
}

@media screen and (min-width: 768px) {
  .p-applyThanks__inner,
  .p-thanks__inner {
    padding-inline: 1.5625rem;
  }
  .p-applyThanks__complete,
  .p-thanks__complete {
    padding-block: 6rem 5.25rem;
  }
  .p-applyThanks__heading,
  .p-thanks__heading {
    font-size: clamp(22px, 1.75rem, 28px);
    line-height: 2.5rem;
  }
  .p-applyThanks__lead,
  .p-thanks__lead {
    margin-top: 3.1875rem;
    font-size: clamp(16px, 1.25rem, 20px);
    line-height: 2.625rem;
  }
  .p-thanks__lead {
    text-align: center;
  }
  .p-applyThanks__body,
  .p-thanks__body {
    padding-block: 3.8125rem 1.125rem;
  }
  .p-applyThanks__note,
  .p-thanks__note {
    min-height: 11.375rem;
    font-size: clamp(16px, 1.1875rem, 19px);
    line-height: 2.625rem;
  }
  .p-applyThanks__note p + p,
  .p-thanks__note p + p {
    margin-top: 1.75rem;
  }
  .p-applyThanks__button,
  .p-thanks__button {
    width: 23.75rem;
    min-height: 4.5rem;
    margin-top: 2.8125rem;
    font-size: clamp(14px, 1.0625rem, 17px);
  }
}
@media screen and (min-width: 1200px) {
  .p-applyThanks__inner,
  .p-thanks__inner {
    padding-inline: 0;
  }
}
:is(.p-applyForm, .p-contactForm) .wpcf7-form-control-wrap {
  display: block;
}
:is(.p-applyForm, .p-contactForm) :is(.p-applyForm__pair, .p-contactForm__pair) > p,
:is(.p-applyForm, .p-contactForm) .p-contactForm__scheduleRow > p {
  display: contents;
}
:is(.p-applyForm, .p-contactForm) :is(.p-applyForm__checkBox, .p-contactForm__checkBox).wpcf7-checkbox,
:is(.p-applyForm, .p-contactForm) .wpcf7-acceptance {
  position: static;
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-list-item {
  display: block;
  margin: 0;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 0.875rem;
}
:is(.p-applyForm, .p-contactForm) :is(.wpcf7-checkbox, .wpcf7-acceptance) label {
  display: inline-flex;
  align-items: center;
  gap: 0.6875rem;
  cursor: pointer;
}
:is(.p-applyForm, .p-contactForm) :is(.wpcf7-checkbox, .wpcf7-acceptance) input[type=checkbox] {
  position: relative;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  border: 0.0625rem solid #c9c9c9;
  border-radius: 0.125rem;
  background: #c9c9c9;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
:is(.p-applyForm, .p-contactForm) :is(.wpcf7-checkbox, .wpcf7-acceptance) input[type=checkbox]:checked {
  border-color: #5baf50;
  background: #5baf50;
}
:is(.p-applyForm, .p-contactForm) :is(.wpcf7-checkbox, .wpcf7-acceptance) input[type=checkbox]:checked::before {
  position: absolute;
  top: 0.1875rem;
  left: 0.40625rem;
  width: 0.3125rem;
  height: 0.625rem;
  border-right: 0.125rem solid #fff;
  border-bottom: 0.125rem solid #fff;
  transform: rotate(45deg);
  content: "";
}
:is(.p-applyForm, .p-contactForm) :is(.wpcf7-checkbox, .wpcf7-acceptance) input[type=checkbox]:focus-visible {
  outline: 0.125rem solid #5baf50;
  outline-offset: 0.125rem;
}
:is(.p-applyForm, .p-contactForm) :is(.p-applyForm__radio, .p-contactForm__radio).wpcf7-radio {
  display: block;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-radio .wpcf7-list-item {
  display: block;
  margin: 0;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-radio .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 0.875rem;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-radio label {
  display: inline-flex;
  align-items: center;
  gap: 0.6875rem;
  cursor: pointer;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-radio input[type=radio] {
  position: relative;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  border: 0.0625rem solid #c9c9c9;
  border-radius: 50%;
  background: #c9c9c9;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-radio input[type=radio]:checked {
  border-color: #5baf50;
  background: #5baf50;
  box-shadow: inset 0 0 0 0.25rem #fff;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-radio input[type=radio]:focus-visible {
  outline: 0.125rem solid #5baf50;
  outline-offset: 0.125rem;
}
:is(.p-applyForm, .p-contactForm) .wpcf7-list-item-label {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.wpcf7-acceptance .wpcf7-list-item-label a {
  color: #5baf50;
  text-decoration: underline;
  -webkit-text-decoration-color: #5baf50;
          text-decoration-color: #5baf50;
  transition: opacity 0.3s, -webkit-text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease, -webkit-text-decoration-color 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .wpcf7-acceptance .wpcf7-list-item-label a {
    transition: none;
  }
}
.wpcf7-acceptance .wpcf7-list-item-label a:hover, .wpcf7-acceptance .wpcf7-list-item-label a:focus-visible {
  -webkit-text-decoration-color: rgba(91, 175, 80, 0);
          text-decoration-color: rgba(91, 175, 80, 0);
}

.p-contactForm .p-contactForm__scheduleRow > .wpcf7-form-control-wrap {
  display: block;
  min-width: 0;
}
.p-contactForm .p-contactForm__scheduleRow .p-contactForm__date {
  width: 100%;
}

:is(.p-applyForm__submit, .p-contactForm__submit) > p {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 1.5rem 0 0;
}

:is(.p-applyForm__submit, .p-contactForm__submit) .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: calc(50% + 9.5rem);
  margin: 0;
  transform: translateY(-50%);
}

.p-cf7ConsentMessage {
  position: absolute;
  z-index: 2;
  bottom: calc(100% + 0.75rem);
  left: 50%;
  width: min(100vw - 2rem, 26.25rem);
  margin: 0;
  padding: 0.625rem 0.875rem;
  border-radius: 0.375rem;
  color: #dc3232;
  background: #fff;
  box-shadow: 0 0.125rem 0.5rem rgba(51, 51, 51, 0.16);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 0.25rem);
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}

.p-cf7Submit {
  position: relative;
  display: inline-flex;
  justify-content: center;
  width: 100%;
  max-width: 17.5rem;
  cursor: default;
}

.p-cf7Submit.is-disabled > :is(.p-applyForm__submitButton, .p-contactForm__submitButton) {
  cursor: default;
  pointer-events: none;
}

.p-cf7Submit.is-show .p-cf7ConsentMessage {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
  transition-delay: 0s;
}

.p-cf7Submit.is-below .p-cf7ConsentMessage {
  top: calc(100% + 0.75rem);
  bottom: auto;
}

@media screen and (min-width: 768px) {
  :is(.p-applyForm, .p-contactForm) .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 0.78125rem;
  }
  :is(.p-applyForm, .p-contactForm) .wpcf7-radio .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 0.78125rem;
  }
  :is(.p-applyForm, .p-contactForm) .wpcf7-list-item-label {
    font-size: clamp(15px, 1.125rem, 18px);
  }
  .p-contactForm .p-contactForm__scheduleRow > .wpcf7-form-control-wrap {
    flex: 0 0 auto;
  }
  .p-contactForm .p-contactForm__scheduleRow > .wpcf7-form-control-wrap:has(.p-contactForm__date) {
    width: 8.125rem;
  }
  :is(.p-applyForm__submit, .p-contactForm__submit) > p {
    margin-top: 3rem;
  }
  :is(.p-applyForm__submit, .p-contactForm__submit) .wpcf7-spinner {
    left: calc(50% + 12.625rem);
  }
  .p-cf7Submit {
    max-width: 23.75rem;
  }
  .p-cf7ConsentMessage {
    font-size: 1rem;
  }
  .p-cf7Submit.is-disabled:is(:hover, :focus, :focus-within) .p-cf7ConsentMessage {
    opacity: 1;
    transform: translate(-50%, 0);
    visibility: visible;
    transition-delay: 0s;
  }
}
.p-commonCta {
  position: relative;
  isolation: isolate;
  padding-block: 3.75rem;
  background: linear-gradient(to bottom, #fff 50%, #e6f2e5 50%);
}

body:has(.p-news) .p-commonCta,
body:has(.p-faqPage) .p-commonCta,
body:has(.p-privacy) .p-commonCta,
body:has(.p-voicePage) .p-commonCta {
  background-color: #e6f2e5;
  background-image: linear-gradient(to bottom, transparent 16.8875rem, #e6f2e5 16.8875rem), linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, auto, 1.15625rem;
  background-repeat: repeat, repeat, repeat;
}

.p-aboutVenue + .p-commonCta {
  padding-top: 2.5rem;
}

.l-dotBg .p-commonCta {
  background: linear-gradient(to bottom, transparent 16.8875rem, #e6f2e5 16.8875rem);
}

.p-aboutFlow .p-commonCta {
  background: linear-gradient(to bottom, transparent 16.8875rem, #e6f2e5 16.8875rem);
}

.p-commonCta__inner {
  position: relative;
  width: calc(100% - 3.0625rem);
  max-width: 20.3125rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
  padding-block: 2.75rem 3.0625rem;
  box-sizing: border-box;
  border: 0.0625rem solid #5baf50;
  border-radius: 0.625rem;
  background: #fff;
  text-align: center;
}

.p-commonCta__icon {
  flex: none;
  transform: translateY(-1rem);
}

.p-commonCta__icon--mail {
  margin-right: 0.9375rem;
  width: 1.90625rem;
  height: 2rem;
}

.p-commonCta__icon--chat {
  margin-left: 0.9375rem;
  width: 2.3125rem;
  height: 2.09375rem;
}

.p-commonCta__headingGroup {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.p-commonCta__headingGroup .p-commonCta__heading {
  margin-inline: 0;
}

.p-commonCta__inner > .p-commonCta__icon {
  position: absolute;
  top: 1.6875rem;
  margin: 0;
}

.p-commonCta__inner > .p-commonCta__icon--mail {
  left: 1.5rem;
}

.p-commonCta__inner > .p-commonCta__icon--chat {
  right: 1.5rem;
}

.p-commonCta__heading {
  width: 9.45rem;
  margin: 0 auto;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-commonCta__spBreak {
  display: block;
}

.p-commonCta__text {
  margin-top: 0.9375rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 2.1;
  letter-spacing: 0.05em;
  text-align: left;
}

.p-commonCta__buttons {
  margin-top: 1.875rem;
}

.p-commonCta__button {
  justify-content: center;
  min-height: 0;
  margin-inline: auto;
  box-sizing: border-box;
}

.p-commonCta__button--apply {
  width: 14.0625rem;
  height: 3.125rem;
}

.p-commonCta__button--apply {
  color: #fff;
  border-color: #3c94c7;
  background: #3c94c7;
}

.p-commonCta__button--apply:hover {
  background: #42a0d7;
}

.p-commonCta__button--contact {
  width: 14.375rem;
  height: 3.125rem;
  margin-top: 1.5625rem;
  color: #fff;
  border-color: #5baf50;
  background: #5baf50;
}

.p-commonCta__button--contact:hover {
  color: #fff;
  background: #67c25b;
}

@media screen and (min-width: 768px) {
  body:has(.p-news) .p-commonCta,
  body:has(.p-faqPage) .p-commonCta,
  body:has(.p-privacy) .p-commonCta,
  body:has(.p-voicePage) .p-commonCta {
    background-image: linear-gradient(to bottom, transparent 18.5625rem, #e6f2e5 18.5625rem), linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
    background-size: auto, auto, 2.3125rem;
  }
  .p-commonCta {
    padding-top: 6.25rem;
    padding-bottom: 0rem;
    background: linear-gradient(to bottom, #fff calc(50% + 3.125rem), #e6f2e5 calc(50% + 3.125rem));
  }
  .p-aboutVenue + .p-commonCta {
    padding-top: 6.25rem;
  }
  .l-dotBg .p-commonCta {
    background: linear-gradient(to bottom, transparent 18.5625rem, #e6f2e5 18.5625rem);
  }
  .p-aboutFlow .p-commonCta {
    background: linear-gradient(to bottom, transparent 18.5625rem, #e6f2e5 18.5625rem);
  }
  .p-commonCta__inner {
    width: calc(100% - 80px);
    max-width: 77.5rem;
    padding-top: 3.6875rem;
    padding-inline: 0;
    border-width: 0.125rem;
    border-radius: 1.25rem;
  }
  .p-commonCta__icon--mail {
    margin-right: 1.5rem;
    width: 3.8125rem;
    height: 4rem;
  }
  .p-commonCta__icon--chat {
    margin-left: 2.375rem;
    width: 4.625rem;
    height: 4.1875rem;
  }
  .p-commonCta__inner > .p-commonCta__icon--mail {
    top: 2.8125rem;
    left: 19.25rem;
  }
  .p-commonCta__inner > .p-commonCta__icon--chat {
    top: 2.375rem;
    right: 18.3125rem;
  }
  .p-commonCta__heading {
    display: inline-block;
    flex: none;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: 0;
    font-size: clamp(22px, 1.875rem, 30px);
    line-height: 3.28125rem;
    white-space: nowrap;
  }
  .p-commonCta__spBreak {
    display: none;
  }
  .p-commonCta__text {
    width: 38.875rem;
    margin: 1.5rem auto 0;
    font-size: clamp(14px, 1.125rem, 18px);
    font-weight: 500;
    line-height: 2.375rem;
    white-space: nowrap;
    text-align: center;
  }
  .p-commonCta__buttons {
    display: flex;
    justify-content: center;
    gap: 2.75rem;
    margin-top: 1.875rem;
  }
  .p-commonCta__button {
    margin-inline: 0;
  }
  .p-commonCta__button--apply {
    width: 22.5rem;
    height: 5rem;
  }
  .p-commonCta__button--contact {
    width: 22.5rem;
    height: 5rem;
    margin-top: 0rem;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .p-commonCta__inner > .p-commonCta__icon--mail {
    left: 2.125rem;
  }
  .p-commonCta__inner > .p-commonCta__icon--chat {
    right: 1.3125rem;
  }
  .p-commonCta__text {
    width: -moz-fit-content;
    width: fit-content;
    font-size: clamp(14px, 1rem, 16px);
  }
}
@media (min-width: 768px) and (max-width: 999px) {
  .p-aboutVenue + .p-commonCta {
    padding-top: 3rem;
  }
  .p-commonCta__inner {
    width: calc(100% - 5rem);
  }
}
@media screen and (min-width: 1200px) {
  .p-commonCta__icon--mail {
    transform: translateY(-1.3125rem);
  }
  .p-commonCta__icon--chat {
    transform: translateY(-1.625rem);
  }
}
@media (max-width: 767px) {
  body:has(.p-news) .p-commonCta,
  body:has(.p-voice) .p-commonCta {
    padding-block: 2.5rem 3.75rem;
  }
}
/* リード文 ─ 淡いグリーン帯（オンライン無料説明会バナーまで続く） */
.p-contactLead {
  padding-block: 2.75rem 1.875rem;
  background: #eef8ec;
}

.p-contactLead__inner {
  max-width: 69.375rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.p-contactLead__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-contactLead__textDetail {
  font-size: 0.8125rem;
}

/* フォーム */
.p-contactForm {
  scroll-margin-top: 4.375rem;
  padding-block: 3rem 0rem;
  background: #fff;
}

.p-contactForm__inner {
  max-width: 69.375rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.p-contactForm__srOnly {
  position: absolute;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.p-contactForm__notes {
  font-size: 0.8125rem;
  line-height: 1.85;
  letter-spacing: 0.05em;
}

.p-contactForm__notesLink {
  color: #5baf50;
  text-decoration: underline;
}

.p-contactForm__form {
  margin-top: 1.75rem;
}

.p-contactForm__rows {
  border-top: 0.0625rem solid #cbc9c2;
}

.p-contactForm__row {
  padding-block: 1.125rem;
  border-bottom: 0.0625rem solid #cbc9c2;
}

.p-contactForm__label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-contactForm__labelNote {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.55;
  letter-spacing: 0.05em;
}

.p-contactForm__required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6875rem;
  height: 1.125rem;
  margin-left: 0.625rem;
  padding-bottom: 0.0625rem;
  border-radius: 0.125rem;
  background: #5baf50;
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-contactForm__field {
  margin-top: 0.75rem;
}

.p-contactForm__fieldNote {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-contactForm__input,
.p-contactForm__textarea {
  display: block;
  width: 100%;
  padding-block: 0.625rem;
  padding-inline: 0.9375rem;
  border: 0;
  border-radius: 0.125rem;
  background: #edf0f1;
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.p-contactForm__input {
  height: 2.875rem;
}

.p-contactForm__textarea {
  height: 10rem;
  line-height: 1.8;
  resize: vertical;
}

.p-contactForm__input::-moz-placeholder, .p-contactForm__textarea::-moz-placeholder {
  color: #999;
}

.p-contactForm__input::placeholder,
.p-contactForm__textarea::placeholder {
  color: #999;
}

.p-contactForm__input:focus-visible,
.p-contactForm__textarea:focus-visible,
.p-contactForm__date:focus-visible,
.p-contactForm__select:focus-visible {
  outline: 0.125rem solid #5baf50;
  outline-offset: 0.125rem;
}

.p-contactForm__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
}

/* チェックボックス */
.p-contactForm__checkList > li + li {
  margin-top: 0.875rem;
}

.p-contactForm__check {
  display: inline-flex;
  align-items: center;
  gap: 0.6875rem;
  cursor: pointer;
}

.p-contactForm__checkBox {
  position: relative;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  border: 0.0625rem solid #c9c9c9;
  border-radius: 0.125rem;
  background: #c9c9c9;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

.p-contactForm__checkBox:checked {
  border-color: #5baf50;
  background: #5baf50;
}

.p-contactForm__checkBox:checked::before {
  position: absolute;
  top: 0.1875rem;
  left: 0.40625rem;
  width: 0.3125rem;
  height: 0.625rem;
  border-right: 0.125rem solid #fff;
  border-bottom: 0.125rem solid #fff;
  transform: rotate(45deg);
  content: "";
}

.p-contactForm__checkBox:focus-visible {
  outline: 0.125rem solid #5baf50;
  outline-offset: 0.125rem;
}

.p-contactForm__checkText {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* ご希望の日程（カレンダー入力＋開始時間プルダウン） */
.p-contactForm__scheduleRow {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.625rem 0.75rem;
}

.p-contactForm__scheduleRow + .p-contactForm__scheduleRow {
  margin-top: 1rem;
}

.p-contactForm__scheduleLabel {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-contactForm__date,
.p-contactForm__select {
  height: 2.875rem;
  padding-block: 0.625rem;
  padding-inline: 0.75rem;
  border: 0.0625rem solid #e2e6e7;
  border-radius: 0.125rem;
  background: #f3f3f3;
  color: #333;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}

.p-contactForm__date {
  width: 100%;
}

.p-contactForm__dateControl {
  position: relative;
  display: block;
  width: 10rem;
}

.p-contactForm__datePlaceholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  padding-inline: 0.75rem 2.375rem;
  background: #f3f3f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 3.5h12v12H4zM4 7h12M7 2v3M13 2v3' fill='none' stroke='%23262627' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E") right 0.75rem center/1rem 1rem no-repeat;
  color: #777;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  pointer-events: none;
  z-index: 1;
}

.p-contactForm__dateControl.is-mobile-date-placeholder.has-value .p-contactForm__datePlaceholder {
  display: none;
}

.p-contactForm__dateControl:not(.is-mobile-date-placeholder) .p-contactForm__datePlaceholder {
  display: none;
}

.p-contactForm__select {
  width: 6.875rem;
}

/* 送信ボタン */
.p-contactForm__submit {
  margin-top: 2.5rem;
  text-align: center;
}

.p-contactForm__submitButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 17.5rem;
  height: 3.75rem;
  border: 0;
  border-radius: 3.125rem;
  background: #5baf50;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s;
}

.p-contactForm__submitButton:hover {
  background: #67c25b;
  text-decoration: none;
}

.p-contactForm__submitButton:focus-visible {
  outline: 0.1875rem solid #333;
  outline-offset: 0.25rem;
}

@media screen and (min-width: 768px) {
  .p-contactLead {
    padding-block: 6.125rem 1.875rem;
  }
  .p-contactLead__inner {
    padding-inline: 1.5625rem;
  }
  .p-contactLead__text {
    font-size: clamp(14px, 1.25rem, 20px);
    line-height: 2.625rem;
    text-align: center;
  }
  .p-contactLead__textDetail {
    font-size: 1.125rem;
  }
  .p-contactForm {
    padding-block: 5.875rem 0rem;
  }
  .p-contactForm__inner {
    padding-inline: 1.5625rem;
  }
  .p-contactForm__notes {
    font-size: clamp(13px, 1rem, 16px);
    line-height: 1.6875rem;
  }
  .p-contactForm__form {
    margin-top: 2.3125rem;
  }
  .p-contactForm__row {
    display: grid;
    grid-template-columns: 17.375rem 1fr;
    align-items: start;
    padding-block: 1.375rem;
  }
  .p-contactForm__row--consent {
    align-items: center;
    padding-block: 2rem;
  }
  .p-contactForm__label {
    font-size: clamp(15px, 1.125rem, 18px);
    line-height: 1;
  }
  .p-contactForm__required {
    padding-bottom: 0;
  }
  .p-contactForm__labelNote {
    margin-top: 0.875rem;
    font-size: clamp(12px, 0.875rem, 14px);
    line-height: 1.375rem;
  }
  .p-contactForm__field {
    margin-top: 0;
  }
  .p-contactForm__fieldNote {
    font-size: clamp(12px, 0.9375rem, 15px);
  }
  .p-contactForm__input,
  .p-contactForm__textarea {
    max-width: 48.75rem;
  }
  .p-contactForm__pair {
    max-width: 48.75rem;
    gap: 1.1875rem;
  }
  .p-contactForm__checkList > li + li {
    margin-top: 0.78125rem;
  }
  .p-contactForm__checkText {
    font-size: clamp(15px, 1.125rem, 18px);
  }
  .p-contactForm__scheduleRow {
    display: flex;
    gap: 1.25rem;
  }
  .p-contactForm__scheduleRow + .p-contactForm__scheduleRow {
    margin-top: 1.5rem;
  }
  .p-contactForm__scheduleLabel {
    font-size: clamp(14px, 1.0625rem, 17px);
  }
  .p-contactForm__scheduleRow + .p-contactForm__fieldNote {
    margin-top: 1.4375rem;
  }
  .p-contactForm__dateControl {
    width: 8.125rem;
  }
  .p-contactForm__select {
    width: 7.5rem;
  }
  .p-contactForm__submit {
    margin-top: 3.75rem;
  }
  .p-contactForm__submitButton {
    max-width: 23.75rem;
    height: 4.5rem;
    font-size: clamp(15px, 1.0625rem, 17px);
  }
}
@media screen and (min-width: 1200px) {
  .p-contactForm__required {
    padding-bottom: 0.0625rem;
  }
}
.p-courses {
  overflow: hidden;
  isolation: isolate;
  color: #333;
  background: #fff;
}

.p-courses__inner {
  width: calc(100% - 3.125rem);
  max-width: 77.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-courses__inner {
    width: calc(100% - 3.125rem);
  }
}

.p-courses__title {
  margin: 0;
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 1.75rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-courses__title {
    font-size: 2rem;
    line-height: 3.71875rem;
  }
}

.p-courses__title--light {
  color: #fff;
}

.p-courses__titleBreak {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-courses__titleBreak {
    display: none;
  }
}

.p-courses__titleSeparator {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-courses__titleSeparator {
    display: inline;
  }
}

.p-courses__title--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
}

.p-courses__titleIcon {
  width: 2.5rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-courses__titleIcon {
    width: 4.8125rem;
    height: 4.1875rem;
  }
}

/* 導入＋あんパン経営学とは＋4つの視点：淡緑の帯（XD 442〜1593） */
.p-courses__intro {
  padding-block: 3rem 6rem;
  background: #eef8ec;
}
@media screen and (min-width: 768px) {
  .p-courses__intro {
    padding-block: 6.3125rem 7.625rem;
  }
}

.p-courses__lead {
  max-width: 68.75rem;
  margin-block: 1.375rem 0;
  margin-inline: auto;
  font-size: 0.875rem;
  line-height: 1.8125rem;
  letter-spacing: 0.05em;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-courses__lead {
    margin-top: 2.3125rem;
    font-size: clamp(16px, 1.25rem, 20px);
    line-height: 2.625rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-courses__lead {
    text-align: center;
  }
}

.p-courses__about {
  margin-top: 2.75rem;
}
@media screen and (min-width: 768px) {
  .p-courses__about {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 26.25rem);
    align-items: start;
    gap: 2.875rem;
    margin-top: 4.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-courses__about + .p-courses__about {
    margin-top: 4.0625rem;
  }
}

.p-courses__heading {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3125rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__heading {
    font-size: clamp(22px, 1.875rem, 30px);
    line-height: 2.625rem;
  }
}

.p-courses__subheading {
  margin-block: 1.3125rem 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.3125rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__subheading {
    margin-top: 1.4375rem;
    font-size: clamp(18px, 1.5rem, 24px);
    line-height: 2.625rem;
  }
}

.p-courses__text {
  margin-block: 1.875rem 0;
  font-size: 0.875rem;
  line-height: 1.8125rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__text {
    margin-top: 0.6875rem;
    font-size: clamp(14px, 1.125rem, 18px);
    line-height: 2.625rem;
  }
}

.p-courses__diagram {
  display: grid;
  place-items: center;
  max-width: 17.8125rem;
  margin: 1.5rem auto 0;
  padding: 1.25rem;
  border-radius: 0.625rem;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-courses__diagram {
    max-width: none;
    height: 17.5rem;
    margin: -0.3125rem 0 0;
    padding: 1.75rem;
    border-radius: 1.25rem;
  }
}

.p-courses__diagram img {
  width: 100%;
  max-width: 19.9375rem;
  height: auto;
}

/* 学べる内容・全12科目：緑の帯（XD 1593〜3073・角丸180） */
.p-courses__subjects {
  position: relative;
  padding-block: 3.25rem 3.75rem;
  color: #333;
  background: #5baf50 url("../images/common/bg1.webp") center/cover no-repeat;
  border-radius: 6.25rem;
}
.p-courses__subjects::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  height: 50%;
  background: #eef8ec;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-courses__subjects {
    padding-block: 5.625rem 10.1875rem;
    border-radius: 11.25rem;
  }
}

.p-courses__subjectPhoto {
  position: absolute;
  z-index: 1;
  width: 9.375rem;
  margin: 0;
}

.p-courses__subjectPhoto img {
  display: block;
  width: 100%;
  height: auto;
}

.p-courses__subjectPhoto--top img {
  border-radius: 0.625rem;
}

.p-courses__subjectPhoto--bottom img {
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-courses__subjectPhoto--bottom img {
    border-radius: 1.25rem;
  }
}

.p-courses__subjectPhoto--top {
  top: -4.25rem;
  right: 0;
}

.p-courses__subjectPhoto--bottom {
  bottom: -3.625rem;
  left: 1.875rem;
}

@media screen and (min-width: 768px) {
  .p-courses__subjectPhoto {
    width: 17.5rem;
  }
  .p-courses__subjectPhoto--top {
    top: -5.75rem;
    right: max(6.4375rem, 50% - 33.875rem);
  }
  .p-courses__subjectPhoto--bottom {
    bottom: -4.0625rem;
    left: max(6.4375rem, 50% - 33.875rem);
  }
}
.p-courses__subjectGrid {
  display: grid;
  gap: 3.25rem 1.25rem;
  margin-block: 2.875rem 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-courses__subjectGrid {
    grid-template-columns: repeat(2, minmax(0, 36.25rem));
    grid-template-rows: 27.5rem 35rem;
    justify-content: center;
    gap: 5rem;
    margin-top: 5.5rem;
  }
}

.p-courses__subject {
  position: relative;
  margin-top: 1.5rem;
  padding: 2.125rem 1.25rem 1.5rem;
  border-radius: 0.625rem;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-courses__subject {
    margin-top: 0;
    padding: 3.125rem 3.75rem 1rem;
    border-radius: 1.25rem;
  }
}

.p-courses__subjectBadge {
  position: absolute;
  top: -1.5rem;
  left: 1.25rem;
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0;
  place-items: center;
  border-radius: 50%;
  background: #ffd840;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__subjectBadge {
    top: -2.9375rem;
    left: 1.875rem;
    width: 5.625rem;
    height: 5.625rem;
    font-size: clamp(14px, 1.125rem, 18px);
  }
}

.p-courses__subjectList {
  margin: 0;
}

.p-courses__subjectName {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__subjectName {
    font-size: clamp(15px, 1.125rem, 18px);
    line-height: 2.625rem;
  }
}

.p-courses__subjectText {
  margin-block: 0.125rem 0.875rem;
  margin-inline: 0;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__subjectText {
    margin-block: 0 0;
    font-size: clamp(13px, 1.125rem, 18px);
    line-height: 2;
  }
}

/* こんな方におすすめ（XD 3073〜4140・十字柄） */
.p-courses__recommend {
  padding-block: 6.25rem 4rem;
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
}
@media screen and (min-width: 768px) {
  .p-courses__recommend {
    padding-block: 6.125rem 7.125rem;
    background-size: auto, 2.3125rem;
  }
}

.p-courses__personList {
  display: grid;
  gap: 1rem 0.875rem;
  margin-block: 1.25rem 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-courses__personList {
    grid-template-columns: repeat(6, minmax(0, 10.3125rem));
    gap: 3.75rem 3.125rem;
    margin-top: 4.6875rem;
  }
}

.p-courses__person {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 8.75rem;
  margin-top: 1.875rem;
  padding: 0.9375rem 1rem;
  border: 0.0625rem solid #d0edd3;
  border-radius: 0.625rem;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-courses__person {
    border: 0.1875rem solid #d0edd3;
    min-height: 12.5rem;
    margin-top: 0;
    padding: 1.5rem;
    border-width: 3px;
    border-radius: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-courses__person:nth-child(1) {
    grid-area: 1/2/auto/span 2;
  }
  .p-courses__person:nth-child(2) {
    grid-area: 1/4/auto/span 2;
  }
  .p-courses__person:nth-child(3) {
    grid-area: 2/1/auto/span 2;
  }
  .p-courses__person:nth-child(4) {
    grid-area: 2/3/auto/span 2;
  }
  .p-courses__person:nth-child(5) {
    grid-area: 2/5/auto/span 2;
  }
  .p-courses__person:nth-child(6) {
    grid-area: 3/2/auto/span 2;
  }
  .p-courses__person:nth-child(7) {
    grid-area: 3/4/auto/span 2;
  }
}
.p-courses__personIcon {
  position: absolute;
  top: -1.25rem;
  left: 1.25rem;
  width: 2.6875rem;
  height: 2.75rem;
}
@media screen and (min-width: 768px) {
  .p-courses__personIcon {
    top: -3.25rem;
    left: 1.25rem;
    width: 5.5rem;
  }
}

.p-courses__personText {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.05em;
  text-align: center;
  transform: translateY(0.3125rem);
}
@media screen and (min-width: 768px) {
  .p-courses__personText {
    font-size: clamp(14px, 1.125rem, 18px);
    line-height: 2.5rem;
  }
}
@media (min-width: 768px) and (max-width: 999px) {
  .p-courses__personText {
    font-size: 1.1875rem;
  }
}

.p-courses__person:nth-child(1) .p-courses__personIcon {
  content: url("../images/common/illust_person_female_03.svg");
}

.p-courses__person:nth-child(2) .p-courses__personIcon {
  content: url("../images/common/illust_person_male_04.svg");
}

.p-courses__person:nth-child(5) .p-courses__personIcon {
  content: url("../images/common/illust_person_male_01.svg");
}

.p-courses__person:nth-child(6) .p-courses__personIcon {
  content: url("../images/common/illust_person_female_01.svg");
}

@media screen and (min-width: 768px) {
  .p-courses__personIcon {
    top: -2.375rem;
    width: 4.6875rem;
    height: 4.4375rem;
  }
}
/* 開講時間・受講スタイル＋受講料：白の角丸パネル（XD 4140〜5340・角丸180） */
.p-courses__panel {
  padding-block: 3.25rem 0.625rem;
  background: #fff;
  border-radius: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-courses__panel {
    padding-block: 5.25rem 0rem;
    border-radius: 11.25rem;
  }
}

.p-courses__fee {
  margin-top: 2.875rem;
}
@media screen and (min-width: 768px) {
  .p-courses__fee {
    margin-top: 5.6875rem;
  }
}

.p-courses__note {
  margin-block: 1rem 0;
  font-size: 0.8125rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__note {
    margin-top: 0.625rem;
    font-size: clamp(13px, 1.125rem, 18px);
    line-height: 1.96875rem;
  }
}

.p-courses__note--center {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-courses__note--center {
    margin-top: 2.5625rem;
    text-align: center;
  }
}

.p-courses__schedule .p-courses__note:not(.p-courses__note--center),
.p-courses__fee > .p-courses__inner > .p-courses__text {
  max-width: 68.75rem;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-courses__fee > .p-courses__inner > .p-courses__text {
    margin-top: 3.75rem;
  }
}

.p-courses__box {
  max-width: 68.75rem;
  margin-block: 1.5rem 0;
  margin-inline: auto;
  padding: 1.25rem;
  border-radius: 0.625rem;
  background: #eef8ec;
}
@media screen and (min-width: 768px) {
  .p-courses__box {
    margin-top: 3.9375rem;
    padding-block: 2.5rem;
    padding-inline: 3.125rem;
    border-radius: 1.25rem;
  }
}

.p-courses__boxText {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-courses__boxText {
    font-size: clamp(15px, 1.25rem, 20px);
    line-height: 2.875rem;
  }
}

.p-courses__boxTextBreak {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-courses__boxTextBreak {
    display: none;
  }
}

.p-courses__feeItem {
  display: block;
}
.p-courses__feeItem:not(:first-child) {
  margin-top: 0.875rem;
  padding-top: 0.875rem;
  border-top: 0.0625rem solid #acc3aa;
}

.p-courses__feeItem > span {
  display: block;
}

.p-courses__feeItem:last-of-type {
  padding-bottom: 0.875rem;
  border-bottom: 0.0625rem solid #acc3aa;
}

.p-courses__feeItemBreak {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-courses__feeItem {
    display: inline;
  }
  .p-courses__feeItem:not(:first-child) {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
  .p-courses__feeItem > span {
    display: inline;
  }
  .p-courses__feeItem:last-of-type {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .p-courses__feeItemBreak {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .p-courses__fee .p-courses__box {
    padding-block: 2.5rem;
    margin-top: 2.625rem;
  }
}

.p-courses__passport {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem 0.75rem;
  margin-block: 0.875rem 0;
}
@media screen and (min-width: 768px) {
  .p-courses__passport {
    gap: 1.25rem;
    margin-top: 0.4375rem;
  }
}

.p-courses__passportIcon {
  width: 2.125rem;
  height: 2.125rem;
}
@media screen and (min-width: 768px) {
  .p-courses__passportIcon {
    width: 2.875rem;
    height: 2.875rem;
  }
}

.p-courses__passportPrice {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__passportPrice {
    font-size: clamp(15px, 1.25rem, 20px);
    line-height: 2.875rem;
  }
}

.p-courses__passportNote {
  color: #ff6600;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__passportNote {
    font-size: clamp(13px, 1.125rem, 18px);
    line-height: 2.875rem;
  }
}

.p-courses__passportNoteBreak {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-courses__passportNoteBreak {
    display: none;
  }
}

.p-courses__notes {
  max-width: 68.75rem;
  margin-block: 1.25rem 0;
  margin-inline: auto;
  padding: 0;
  list-style: none;
  font-size: 0.8125rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__notes {
    margin-top: 2.0625rem;
    font-size: clamp(13px, 1.125rem, 18px);
    line-height: 2.25rem;
  }
}

.p-courses__notes a {
  color: #3c94c7;
  text-decoration: underline;
}

/* 受講の流れ（XD 5340〜） */
.p-courses__flow {
  padding-block: 2.5rem 3.375rem;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-courses__flow {
    padding-block: 5.125rem 0rem;
  }
}

.p-courses__flow .p-courses__inner {
  max-width: 75rem;
}
@media screen and (min-width: 768px) {
  .p-courses__flow .p-courses__inner {
    padding-bottom: 7.375rem;
  }
}

.p-courses > .p-topSeminar {
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-courses > .p-topSeminar {
    padding-bottom: 16.9375rem;
  }
}

.p-courses__flowGrid {
  display: grid;
  gap: 1.75rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-courses__flowGrid {
    grid-template-columns: repeat(2, minmax(0, 37.5rem));
    justify-content: space-between;
    align-items: start;
    gap: 2.375rem;
    margin-top: 3.125rem;
  }
}

.p-courses__flowColumn {
  padding: 1.25rem;
  border-radius: 0.625rem;
  background: rgba(255, 255, 255, 0.7);
  border: 0.1875rem solid #d0edd3;
}
@media screen and (min-width: 768px) {
  .p-courses__flowColumn {
    padding: 2.125rem 2.5rem;
    border-radius: 1.25rem;
    background: none;
    border: 3px solid #d0edd3;
  }
}

.p-courses__flowColumn--card {
  border: 0.1875rem solid #d0edd3;
}
@media screen and (min-width: 768px) {
  .p-courses__flowColumn--card {
    min-height: 28.125rem;
    border-width: 3px;
    background: #fff;
  }
}

.p-courses__flowTitle {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-courses__flowTitle {
    font-size: clamp(18px, 1.5rem, 24px);
    line-height: 2.625rem;
  }
}

.p-courses__stepList {
  margin-block: 1rem 0;
  padding: 0;
  list-style: none;
  counter-reset: courses-step;
}
@media screen and (min-width: 768px) {
  .p-courses__stepList {
    margin-top: 1.875rem;
  }
}

.p-courses__step {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  counter-increment: courses-step;
}
@media screen and (min-width: 768px) {
  .p-courses__step {
    gap: 1.375rem;
    font-size: clamp(15px, 1.25rem, 20px);
    padding-top: 1.25rem;
  }
}

.p-courses__stepText {
  padding-left: 1.6em;
  text-indent: -1.6em;
}

.p-courses__stepText::before {
  content: counter(courses-step) ".";
  display: inline-block;
  width: 1.2em;
  margin-right: 0.4em;
  text-indent: 0;
}

.p-courses__step + .p-courses__step {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-courses__step + .p-courses__step {
    margin-top: 0;
  }
}

.p-courses__stepIcon {
  flex: none;
  width: 2.25rem;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-courses__stepIcon {
    width: 3.75rem;
  }
}

.p-courses__stepText a {
  position: relative;
  display: inline-block;
  color: #3c94c7;
  text-decoration: none;
  text-indent: 0;
  vertical-align: baseline;
}

.p-courses__stepText a::after {
  position: absolute;
  right: 0;
  bottom: 0.18em;
  left: 0;
  height: 0.03125rem;
  background: currentColor;
  content: "";
  pointer-events: none;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-courses__stepText a::after {
    transition: none;
  }
}

.p-courses__stepText a:hover,
.p-courses__stepText a:focus-visible {
  opacity: 1;
}

.p-courses__stepText a:hover::after,
.p-courses__stepText a:focus-visible::after {
  transform: scaleX(0);
}

.p-courses__flowColumn:not(.p-courses__flowColumn--card) .p-courses__step:first-child .p-courses__stepText a {
  color: #3f9949;
}

@media screen and (min-width: 768px) {
  .p-courses .p-topSeminar {
    padding-block: 7.5rem;
  }
}

/* 出前研修・企業内研修（XD 7017.9〜） */
.p-courses__training {
  padding-block: 3.5rem 0rem;
}
@media screen and (min-width: 768px) {
  .p-courses__training {
    padding-block: 3.875rem 1.25rem;
  }
}

.p-courses__training .p-courses__text {
  max-width: 68.75rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-courses__training .p-courses__text {
    margin-top: 2.375rem;
    line-height: 2.25rem;
  }
}

.p-courses__training .p-courses__text a {
  color: #5baf50;
  text-decoration: underline;
  -webkit-text-decoration-color: #5baf50;
          text-decoration-color: #5baf50;
  transition: opacity 0.3s, -webkit-text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease, -webkit-text-decoration-color 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-courses__training .p-courses__text a {
    transition: none;
  }
}
.p-courses__training .p-courses__text a:hover, .p-courses__training .p-courses__text a:focus-visible {
  -webkit-text-decoration-color: rgba(91, 175, 80, 0);
          text-decoration-color: rgba(91, 175, 80, 0);
}

.p-courses__trainingGrid {
  display: grid;
  gap: 1.75rem;
  margin-top: 2.25rem;
}
@media screen and (min-width: 768px) {
  .p-courses__trainingGrid {
    grid-template-columns: minmax(0, 35.125rem) minmax(0, 34.375rem);
    justify-content: start;
    align-items: start;
    gap: 3.625rem;
    margin-top: 3.375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-courses__training .p-courses__inner {
    display: flex;
    flex-direction: column;
  }
  .p-courses__training .p-courses__title {
    margin-top: 1.5625rem;
  }
  .p-courses__trainingGrid {
    display: contents;
  }
  .p-courses__trainingFigure {
    order: -1;
    margin-bottom: 2rem;
  }
  .p-courses__trainingBody {
    margin-top: 1.625rem;
  }
}
.p-courses__trainingList {
  margin-block: 1rem 0;
  padding-left: 1.5rem;
  list-style: decimal outside;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-courses__trainingList {
    margin-top: 1.875rem;
    padding-left: 5.625rem;
    font-size: clamp(15px, 1.25rem, 20px);
    line-height: 3rem;
  }
}

.p-courses__trainingList a {
  color: #5baf50;
  text-decoration: underline;
  -webkit-text-decoration-color: #5baf50;
          text-decoration-color: #5baf50;
  transition: opacity 0.3s, -webkit-text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease, -webkit-text-decoration-color 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-courses__trainingList a {
    transition: none;
  }
}
.p-courses__trainingList a:hover, .p-courses__trainingList a:focus-visible {
  -webkit-text-decoration-color: rgba(91, 175, 80, 0);
          text-decoration-color: rgba(91, 175, 80, 0);
}

.p-courses__trainingFigure {
  margin: 0;
}

.p-courses__trainingFigure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-courses__trainingFigure img {
    border-radius: 1.25rem;
  }
}

.p-faq {
  padding-block: 3rem 5rem;
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
}

.l-dotBg .p-faq {
  background: transparent;
}

.p-faq__inner {
  max-width: 68.75rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.p-faq__category + .p-faq__category {
  margin-top: 2.375rem;
}

.p-faq .c-faqItem {
  border: 0.125rem solid #d0ecd4;
}

@media screen and (min-width: 768px) {
  .p-faq .c-faqItem__summary {
    min-height: 5.375rem;
    padding-block: 1.5625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-faq {
    padding-block: 6.5rem 6.875rem;
    background-size: auto, 2.3125rem;
  }
  .p-faq__inner {
    padding-inline: 1.5625rem;
  }
  .p-faq__category + .p-faq__category {
    margin-top: 3.0625rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-faq__inner {
    padding-inline: 0;
  }
}
.p-mv {
  position: relative;
  isolation: isolate;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  color: #fff;
  background: #57646a;
}
@media (max-width: 767px) {
  .p-mv {
    height: calc(var(--mv-fixed-vh, 1svh) * 100);
  }
}
@media (min-width: 768px) and (max-width: 1080px) and (orientation: portrait) {
  .p-mv {
    height: clamp(480px, 100svh, 720px);
  }
}
@media (min-width: 1024px) {
  .p-mv {
    margin-inline: 20px;
    border-radius: 20px;
  }
}

.p-mv__slides {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.p-mv__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.p-mv__slide--first {
  opacity: 1;
}

.p-mv__slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-mv__slide:nth-child(2) img,
.p-mv__slide:nth-child(3) img {
  -o-object-position: 80% center;
     object-position: 80% center;
}
@media screen and (min-width: 768px) {
  .p-mv__slide:nth-child(2) img,
  .p-mv__slide:nth-child(3) img {
    -o-object-position: center;
       object-position: center;
  }
}

.p-mv__content {
  width: 100%;
  padding-top: 58.82296487svh;
  padding-inline: 1.592125rem;
}
@media (max-width: 767px) {
  .p-mv__content {
    padding-top: calc(var(--mv-fixed-vh, 1svh) * 58.82296487);
  }
}
@media screen and (min-width: 768px) {
  .p-mv__content {
    padding-top: 42.46180556svh;
    padding-inline: 10.11112676%;
  }
}
@media (min-width: 768px) and (max-width: 1080px) and (orientation: portrait) {
  .p-mv__content {
    padding-top: calc(clamp(480px, 100svh, 720px) * 0.4246180556);
  }
}

.p-mv__title {
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 2.34375rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-mv__title {
    font-size: clamp(30px, 2.75rem, 44px);
    line-height: 1.4545454545;
  }
}

@media screen and (min-width: 768px) {
  .p-mv__titleBreak {
    display: none;
  }
}

.p-mv__subtitle {
  margin-top: 0.7856875rem;
  margin-left: 0.035375rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.625rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-mv__subtitle {
    margin-top: 0.8025rem;
    margin-left: -0.0116875rem;
    font-size: clamp(18px, 1.75rem, 28px);
    line-height: 1.4285714286;
  }
}

@media (prefers-reduced-motion: reduce) {
  .l-header__navLink::after {
    transition: none;
  }
}
.p-news {
  padding-block: 3rem 0.625rem;
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
}

.l-dotBg .p-news {
  background: transparent;
}

.p-news__inner {
  max-width: 77.5rem;
  margin-inline: auto;
  padding: 3rem 1.25rem 1.875rem;
  border-radius: 0.625rem;
  background: #fff;
}

@media (max-width: 1199px) {
  .l-dotBg .p-news__inner {
    isolation: isolate;
    position: relative;
    background: transparent;
  }
  .l-dotBg .p-news__inner::before {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 1.25rem;
    bottom: 0;
    left: 1.25rem;
    background: #fff;
    content: "";
    pointer-events: none;
  }
  .l-dotBg .p-news__inner > * {
    position: relative;
    z-index: 1;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .l-dotBg .p-news__inner::before {
    right: 2.8125rem;
    left: 2.8125rem;
  }
}
.p-news__tabs {
  display: flex;
  gap: 0.625rem;
  overflow-x: auto;
  margin-bottom: 2.125rem;
  padding-bottom: 0.25rem;
  scrollbar-width: none;
  list-style: none;
}

.p-news__tabs::-webkit-scrollbar {
  display: none;
}

.p-news__tab {
  display: grid;
  min-height: 2.75rem;
  padding-inline: 1.125rem;
  place-items: center;
  border: 0.0625rem solid #5baf50;
  border-radius: 1.5rem;
  color: #333;
  background: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  transition: color 0.6s, background-color 0.6s, opacity 0.6s;
  white-space: nowrap;
}

.p-news__tab:hover,
.p-news__tab:focus-visible {
  color: #fff;
  background: #5baf50;
  opacity: 1;
}

.p-news__tab[aria-current=page] {
  color: #333;
  background: #fff;
  opacity: 1;
}

.p-news__list {
  list-style: none;
}

.p-news__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  margin-top: 2.625rem;
}

@media screen and (min-width: 768px) {
  .p-news {
    padding-block: 5.375rem 0.625rem;
    background-size: auto, 2.3125rem;
  }
  .p-news__inner {
    padding: 4.125rem 4.4375rem 4.375rem;
    border-radius: 1.25rem;
  }
  .p-news__tabs {
    align-items: center;
    gap: 2.125rem;
    overflow-x: visible;
    height: 4.375rem;
    margin-bottom: 4.125rem;
    padding: 0 1.875rem;
    border-radius: 1.25rem;
    background: #d0ecd4;
  }
  .p-news__tab {
    min-height: 0;
    padding-inline: 0;
    border: 0;
    border-radius: 0;
    color: #333;
    background: none;
    font-size: clamp(14px, 1.0625rem, 17px);
    font-weight: 400;
    line-height: 2.25rem;
  }
  .p-news__tab:hover,
  .p-news__tab:focus-visible {
    color: #5baf50;
    background: none;
  }
  .p-news__tab[aria-current=page] {
    color: #333;
    background: none;
  }
  .p-news__tab[aria-current=page] {
    font-weight: 500;
  }
  .p-news__list {
    max-width: 66.25rem;
  }
  .p-news .c-newsCard__link {
    min-height: 8.0625rem;
  }
  .p-news__pagination {
    gap: 0.625rem;
    margin-top: 4.375rem;
  }
}
.p-news .c-newsCard__date {
  font-size: 0.875rem;
}

.p-news .c-newsCard__title {
  font-size: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .p-news .c-newsCard__title {
    font-size: clamp(15px, 1.125rem, 18px);
  }
}
.p-newsArticle {
  padding-block: 3rem 1.25rem;
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
  background-attachment: scroll, fixed;
}

.p-newsArticle__inner {
  max-width: 77.5rem;
  margin-inline: auto;
  padding: 3rem 1.25rem 1.875rem;
  border-radius: 0.625rem;
  background: #fff;
}

.p-newsArticle__header {
  padding-bottom: 1.875rem;
  border-bottom: 0.0625rem solid #ddd;
}

.p-newsArticle__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.p-newsArticle__title {
  margin-top: 1.125rem;
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.55;
}

.p-newsArticle__content {
  margin-top: 2.625rem;
  font-size: 1rem;
  line-height: 1.9;
}

.p-newsArticle__content > * + * {
  margin-top: 1.625rem;
}

.p-newsArticle__content h2 {
  margin-top: 3rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

.p-newsArticle__content strong,
.p-newsArticle__content .font-bold {
  font-size: inherit;
  font-weight: 700;
}

.p-newsArticle__content a {
  color: #5baf50;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.p-newsArticle__content a:hover {
  color: #67c25b;
}

.p-newsArticle__content img {
  display: block;
  width: auto;
  max-width: min(100%, 43.75rem);
  height: auto;
  margin-inline: auto;
}

.p-newsArticle__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 19.8125rem;
  margin-top: 2.5rem;
  margin-inline: auto;
}

.p-newsArticle__navLink {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  place-items: center;
  color: #333;
  font-size: 1.125rem;
  font-weight: 500;
}

.p-newsArticle__navArrow {
  position: relative;
  display: block;
  width: 0.4375rem;
  height: 0.75rem;
}

.p-newsArticle__navArrow::before,
.p-newsArticle__navArrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.5rem;
  height: 0.125rem;
  content: "";
  background: currentColor;
  transform-origin: right center;
}

.p-newsArticle__navArrow::before {
  transform: translateY(-50%) rotate(45deg);
}

.p-newsArticle__navArrow::after {
  transform: translateY(-50%) rotate(-45deg);
}

.p-newsArticle__navArrow--left {
  transform: scaleX(-1);
}

.p-newsArticle__navLink:hover,
.p-newsArticle__navLink:focus-visible {
  color: #5baf50;
}

.p-newsArticle__navLink[aria-disabled=true] {
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-newsArticle {
    padding-block: 6.25rem 3.75rem;
    background-size: auto, 2.3125rem;
  }
  .p-newsArticle__inner {
    padding: 5rem 5.625rem 3.125rem;
    border-radius: 1.25rem;
  }
  .p-newsArticle__header {
    padding-bottom: 2.625rem;
  }
  .p-newsArticle__title {
    margin-top: 1.375rem;
    font-size: clamp(21px, 1.625rem, 26px);
  }
  .p-newsArticle__content {
    margin-top: 3.75rem;
    font-size: clamp(15px, 1.0625rem, 17px);
    line-height: 1.9;
  }
  .p-newsArticle__content h2 {
    margin-top: 4rem;
    font-size: clamp(20px, 1.5rem, 24px);
  }
  .p-newsArticle__nav {
    margin-top: 3.5rem;
  }
  .p-newsArticle__navLink {
    font-size: clamp(15px, 1.125rem, 18px);
  }
  .p-newsArticle__navArrow {
    width: 0.5rem;
    height: 0.875rem;
  }
}
body:has(.p-newsArticle) .p-commonCta {
  padding-top: 2.5rem;
  background-color: #fff;
  background-image: linear-gradient(to bottom, transparent 16.8875rem, #e6f2e5 16.8875rem), linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, auto, 1.15625rem;
  background-repeat: repeat;
  background-attachment: scroll, scroll, fixed;
}

@media screen and (min-width: 768px) {
  body:has(.p-newsArticle) .p-commonCta {
    padding-top: 3.125rem;
    background-image: linear-gradient(to bottom, transparent 18.5625rem, #e6f2e5 18.5625rem), linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
    background-size: auto, auto, 2.3125rem;
    background-attachment: scroll, scroll, fixed;
  }
}
.p-pageHeader {
  padding-top: 2.8125rem;
  background: #fff;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-pageHeader {
    padding-bottom: 2.1875rem;
    padding-top: 7.5rem;
  }
}

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

.p-pageHeader__title {
  color: #3f9949;
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-pageHeader__title {
    font-size: 2rem;
  }
}

.p-pageHeader__subtitle {
  margin-top: -0.0625rem;
  color: #3f9949;
  font-family: "Poppins", "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-pageHeader__subtitle {
    margin-top: 0.4375rem;
    font-size: clamp(16px, 1.25rem, 20px);
  }
}

.p-pageHeader__breadcrumb {
  margin-top: 3.25rem;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-pageHeader__breadcrumb {
    margin-top: 4.125rem;
    padding-inline: 1.5625rem;
  }
}

.p-pageHeader__breadcrumb ol {
  display: flex;
  justify-content: flex-end;
  max-width: 86.625rem;
  margin-inline: auto;
  list-style: none;
  font-size: 0.8125rem;
  line-height: 1.375rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-pageHeader__breadcrumb ol {
    font-size: clamp(13px, 0.96875rem, 15.5px);
  }
}

.p-pageHeader__breadcrumb li + li::before {
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  position: relative;
  top: -0.125rem;
  margin-inline: 0.3125rem;
  border-radius: 50%;
  background: #c1e7bc;
  content: "";
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .p-pageHeader__breadcrumb li + li::before {
    top: 0;
    margin-inline: 0.75rem;
  }
}

.p-pageHeader__breadcrumb a {
  color: #3f9949;
  text-decoration: underline;
  -webkit-text-decoration-color: #dae8db;
          text-decoration-color: #dae8db;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.1875rem;
  transition: opacity 0.3s, -webkit-text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease, -webkit-text-decoration-color 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-pageHeader__breadcrumb a {
    transition: none;
  }
}

.p-pageHeader__breadcrumb a:hover {
  -webkit-text-decoration-color: rgba(218, 232, 219, 0);
          text-decoration-color: rgba(218, 232, 219, 0);
}

.p-pageHeader--noSubtitle .p-pageHeader__breadcrumb {
  margin-top: 5.5rem;
}
@media screen and (min-width: 768px) {
  .p-pageHeader--noSubtitle .p-pageHeader__breadcrumb {
    margin-top: 7rem;
  }
}

.p-pager-list {
  display: flex;
  justify-content: space-between;
}

.p-pager-list__btn a {
  display: inline-block;
  padding: 10px 20px;
  color: #5baf50;
  border: 1px solid #5baf50;
}

.p-post-article__inner.l-inner {
  margin-top: 2rem;
}

.p-post-article__title {
  font-size: 3rem;
  color: #5baf50;
}

.p-post-article__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.p-post-article__category {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
}

.p-post-article__category li {
  padding: 0.3125rem;
  color: #5baf50;
  border: 1px solid #5baf50;
}

.p-post-article__box {
  margin: 6.4rem auto 0;
}

.p-post-article__content {
  padding: 1.25rem 1.4375rem 0;
  background-color: #fff;
  width: 100%;
}

.p-post-article__content-wrap {
  padding-bottom: 1.875rem;
  width: 100%;
  margin: auto;
}

.p-post-article__contents {
  margin-top: 1.875rem;
}

.p-post-article__main-img {
  aspect-ratio: 7/4;
}

.p-post-article__main-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-post-article__category {
  letter-spacing: 0;
}

.p-post-article__data {
  margin-left: auto;
  font-size: 1.3125rem;
  text-align: right;
  letter-spacing: 0.05em;
}

.p-post-article__content h2 {
  margin: 1.875rem 0 0.9375rem;
  padding: 0.3125rem 1.25rem;
  color: #fff;
  background-color: #5baf50;
  font-size: 1.75rem;
}

.p-post-article__contents h3 {
  margin: 1.875rem 0 0.9375rem;
  padding-left: 0.625rem;
  color: #5baf50;
  font-size: 1.75rem;
  border-left: 0.5em solid #5baf50;
}

.p-post-article__contents h4 {
  margin: 0.625rem 0;
  font-size: 1.5rem;
}

.p-post-article__contents h5 {
  margin: 0.625rem 0;
  padding: 0.125rem 0.78125rem;
  display: inline-block;
  color: #5baf50;
  font-size: 1.25rem;
  border-top: 2px solid #5baf50;
  border-bottom: 2px solid #5baf50;
}

.p-post-article__contents p {
  font-size: 1.25rem;
}

.p-post-article__contents a {
  color: #5baf50;
  text-decoration: underline;
}

.p-post-article__contents img {
  margin: 0.625rem 0;
}

.p-post-article__contents figure {
  margin: 0.625rem 0;
}

.p-post-article__contents figcaption {
  margin: 0.625rem 0;
  font-size: 0.75rem;
}

.p-post-card__img {
  width: 100%;
  aspect-ratio: 400/300;
}

.p-post-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-post-card__body {
  position: relative;
}

.p-post-card__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
}

.p-post-card__category li {
  padding: 0.3125rem;
  color: #5baf50;
  border: 1px solid #5baf50;
}

.p-post-card__new {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  color: #5baf50;
  padding: 0.3125rem 0.625rem;
  border: 1px solid #5baf50;
}

.p-post-connect__title {
  font-size: 1.5rem;
  color: #5baf50;
}

.p-post-connect__items {
  display: grid;
  gap: 3.125rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-post-connect__items {
    row-gap: 2.5rem;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-post-list {
  position: relative;
}

.p-post-list__wrap {
  margin: 2rem 0;
}

.p-post-list__title {
  font-size: 3rem;
  color: #5baf50;
}

.p-post-list__items {
  display: grid;
  gap: 3.125rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-post-list__items {
    row-gap: 2.5rem;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-post-list__cards {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-post-list__cards {
    margin-top: 6.25rem;
  }
}

.p-post-list__btn {
  margin-top: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-post-list__btn {
    margin: 1.75rem auto 0;
    width: 100%;
    max-width: calc(61.25rem + 50px);
    padding: 0 0.625rem;
  }
}

.p-privacy {
  padding-block: 3rem 5rem;
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
}

.l-dotBg .p-privacy {
  background: transparent;
}

.p-privacy__inner {
  max-width: 77.5rem;
  margin-inline: auto;
  padding: 3rem 1.25rem 5rem;
  border-radius: 0.625rem;
  background: #fff;
}

@media (max-width: 1199px) {
  .l-dotBg .p-privacy__inner {
    isolation: isolate;
    position: relative;
    background: transparent;
  }
  .l-dotBg .p-privacy__inner::before {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 1.25rem;
    bottom: 0;
    left: 1.25rem;
    background: #fff;
    content: "";
    pointer-events: none;
  }
  .l-dotBg .p-privacy__inner > * {
    position: relative;
    z-index: 1;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .l-dotBg .p-privacy__inner::before {
    right: 2.8125rem;
    left: 2.8125rem;
  }
}
.p-privacy__lead,
.p-privacy__body,
.p-privacy__list {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-privacy__section {
  margin-top: 2rem;
}

.p-privacy__heading {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.p-privacy__body,
.p-privacy__list {
  margin-top: 0.625rem;
}

.p-privacy__list {
  padding-left: 1.3em;
}

.p-privacy__body + .p-privacy__body {
  margin-top: 0.625rem;
}

.p-privacy__body a {
  color: #5baf50;
  text-decoration: underline;
  -webkit-text-decoration-color: #5baf50;
          text-decoration-color: #5baf50;
  transition: opacity 0.3s, -webkit-text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease;
  transition: opacity 0.3s, text-decoration-color 0.5s ease, -webkit-text-decoration-color 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-privacy__body a {
    transition: none;
  }
}
.p-privacy__body a:hover, .p-privacy__body a:focus-visible {
  -webkit-text-decoration-color: rgba(91, 175, 80, 0);
          text-decoration-color: rgba(91, 175, 80, 0);
}

@media screen and (min-width: 768px) {
  .p-privacy {
    padding-block: 5.375rem 6.875rem;
    background-size: auto, 2.3125rem;
  }
  .p-privacy__inner {
    padding: 5.625rem 5.625rem 6.875rem;
    border-radius: 1.25rem;
  }
  .p-privacy__lead,
  .p-privacy__body,
  .p-privacy__list {
    font-size: clamp(14px, 1.0625rem, 17px);
    line-height: 2.5rem;
  }
  .p-privacy__section {
    margin-top: 2.125rem;
  }
  .p-privacy__heading {
    font-size: clamp(16px, 1.125rem, 18px);
  }
}
.p-top-gallery__inner {
  margin: 5% 5% 0 5%;
}

.p-top-gallery .splide__slide {
  display: block;
  width: 100%;
  aspect-ratio: 600/300;
}

.p-top-gallery .splide__slide picture {
  height: inherit;
  height: 100%;
}

.p-top-gallery .splide__slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-gallery .swiper-slide {
  display: block;
  width: 100%;
  aspect-ratio: 600/300;
}

.p-top-gallery .swiper-slide picture {
  height: inherit;
  height: 100%;
}

.p-top-gallery .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-gallery .slick-track {
  display: block;
  width: 100%;
}

.p-top-gallery .slick-slide {
  display: block;
  width: 100%;
  aspect-ratio: 600/300;
  margin: 0 5px;
}

.p-top-gallery .slick-slide picture {
  height: inherit;
  height: 100%;
}

.p-top-gallery .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-mv-slick {
  background: black;
}

.p-top-mv-slick__inner {
  margin: 5% 5% 0 5%;
}

.p-top-mv-slick .slick-track {
  display: block;
  width: 100%;
}

.p-top-mv-slick .slick-slide {
  display: block;
  width: 100%;
  aspect-ratio: 600/300;
  margin: 0 5px;
}

.p-top-mv-slick .slick-slide picture {
  height: inherit;
  height: 100%;
}

.p-top-mv-slick .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-mv-splide__inner {
  margin: 5% 5% 0 5%;
}

.p-top-mv-splide .splide__slide {
  display: block;
  width: 100%;
  aspect-ratio: 600/300;
}

.p-top-mv-splide .splide__slide picture {
  height: inherit;
  height: 100%;
}

.p-top-mv-splide .splide__slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-mv-swiper__inner {
  margin: 5% 5% 0 5%;
}

.p-top-mv-swiper .swiper-slide {
  display: block;
  width: 100%;
  aspect-ratio: 600/300;
}

.p-top-mv-swiper .swiper-slide picture {
  height: inherit;
  height: 100%;
}

.p-top-mv-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-mv-swiper .swiper-button-prev,
.p-top-mv-swiper .swiper-button-next {
  text-rendering: initial;
}

.p-top-post__inner {
  margin: 5% 5% 0 5%;
}

.p-top-post .splide__slide {
  display: block;
  width: 100%;
}

.p-top-post .splide__slide a {
  display: block;
  aspect-ratio: 600/400;
}

.p-top-post .splide__slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-post .splide__pagination {
  bottom: -2em;
}

.p-top-post .splide__pagination__page.is-active {
  background-color: blue;
}

.p-top-post .swiper {
  padding-bottom: 20px;
}

.p-top-post .swiper-slide {
  display: block;
  width: 100%;
  aspect-ratio: 600/300;
}

.p-top-post .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-post .swiper-pagination {
  bottom: 0;
}

.p-top-post .swiper-button-prev,
.p-top-post .swiper-button-next {
  text-rendering: initial;
}

.p-top-post .slick-track {
  display: block;
  width: 100%;
}

.p-top-post .slick-slide {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 5px;
}

.p-top-post .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 600/300;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-post .slick-next,
.p-top-post .slick-prev {
  background: gray;
}

.p-top-works {
  padding-bottom: 3.125rem;
}

.p-top-works__inner {
  margin: 5% 5% 0 5%;
}

.p-top-works .splide__slide {
  display: block;
  width: 100%;
}

.p-top-works .splide__slide a {
  display: block;
  aspect-ratio: 600/400;
}

.p-top-works .splide__slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-works .splide__pagination {
  bottom: -2em;
}

.p-top-works .splide__pagination__page.is-active {
  background-color: blue;
}

.p-top-works .swiper {
  padding-bottom: 20px;
}

.p-top-works .swiper-slide {
  display: block;
  width: 100%;
  aspect-ratio: 600/300;
}

.p-top-works .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-works .swiper-pagination {
  bottom: 0;
}

.p-top-works .swiper-button-prev,
.p-top-works .swiper-button-next {
  text-rendering: initial;
}

.p-top-works .slick-track {
  display: block;
  width: 100%;
}

.p-top-works .slick-slide {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 5px;
}

.p-top-works .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 600/300;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-works .slick-next,
.p-top-works .slick-prev {
  background: gray;
}

.p-topAmpanWrap {
  position: relative;
  z-index: 1;
  margin-top: 3.00975rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpanWrap {
    margin-top: 1.876rem;
  }
}

.p-topAmpan {
  position: relative;
  border-radius: 100px;
  overflow: hidden;
  padding-block: 4.46875rem 5.2890625rem;
  color: #fff;
  background: #20b13d url("../images/common/bg1.webp") center top/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-topAmpan {
    padding-block: 7.4625rem 7.6875rem;
    border-radius: 11.25rem;
  }
}

.p-topAmpan__heading {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  left: 0.283125rem;
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 2.0625rem;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__heading {
    left: 0.18rem;
    font-size: clamp(23px, 2.375rem, 38px);
    line-height: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-topAmpan__spBreak {
    display: none;
  }
}

.p-topAmpan__pcBreak {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__pcBreak {
    display: inline;
  }
}

.p-topAmpan__tabletBreak {
  display: none;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .p-topAmpan__tabletBreak {
    display: inline;
  }
}

.p-topAmpan__lead {
  width: calc(100% - 3.0625rem);
  margin-inline: auto;
  margin-top: 1.63125rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8125rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__lead {
    position: relative;
    left: -0.17625rem;
    max-width: 59.375rem;
    margin-top: 3.4rem;
    font-size: clamp(14px, 1.125rem, 18px);
    line-height: 2.25rem;
    text-align: center;
  }
}

.p-topAmpan__subtitle {
  position: relative;
  left: 0.14125rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 1.843125rem;
  font-size: 1.125rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__subtitle {
    margin-top: 2.9125rem;
    left: 0.109375rem;
    font-size: clamp(18px, 1.875rem, 30px);
  }
}

.p-topAmpan__grid {
  display: grid;
  position: relative;
  left: 0.03125rem;
  gap: 1.875rem;
  width: calc(100% - 5.625rem);
  margin-inline: auto;
  margin-top: 2.15rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__grid {
    max-width: 63.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.125rem 1.875rem;
    margin-top: 4.85rem;
    position: relative;
    left: 0.1875rem;
  }
}

.p-topAmpan__card {
  position: relative;
  display: grid;
  align-items: center;
  padding-block: 0.96875rem;
  padding-inline: 0.9375rem;
  border-radius: 0.625rem;
  background: rgba(255, 255, 255, 0.22);
}
@media screen and (min-width: 768px) {
  .p-topAmpan__card {
    min-height: 8.75rem;
    padding-block: 1.5625rem;
    border-radius: 1.25rem;
  }
}

.p-topAmpan__card--item1 {
  padding-block: 1.34375rem;
}

.p-topAmpan__cardTitle {
  font-size: 0.8125rem;
  line-height: 1.6875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__cardTitle {
    font-size: clamp(13px, 1.125rem, 18px);
    line-height: 2.25rem;
  }
}

.p-topAmpan__icon {
  position: absolute;
  width: 2.4375rem;
  height: 2.4375rem;
  -o-object-fit: contain;
     object-fit: contain;
  top: -1.1875rem;
  left: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__icon {
    width: 4.375rem;
    height: 4.375rem;
    top: -2.1875rem;
    left: 1.25rem;
  }
}

.p-topAmpan__button {
  margin-inline: auto;
  margin-top: 2.5625rem;
  position: relative;
  left: -0.0625rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__button {
    margin-top: 4.5625rem;
    left: -0.4375rem;
    padding-inline: 3.5rem 1.25rem;
  }
}

.p-topAmpan__arrow {
  display: grid;
  place-items: center;
  width: 1.15625rem;
  height: 1.15625rem;
  border-radius: 50%;
  background: #fff;
  color: #58b04b;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__arrow {
    width: 2.0625rem;
    height: 2.0625rem;
  }
}

.p-topAmpan__arrow .c-loopArrow__icon {
  --loop-arrow-icon-size: 0.4625rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__arrow .c-loopArrow__icon {
    --loop-arrow-icon-size: 0.625rem;
  }
}

@media (max-width: 767px) {
  .p-topAmpan {
    border-radius: 50px;
  }
}
.p-topAmpan__photo {
  position: absolute;
  z-index: 2;
  width: 10rem;
  height: auto;
  border-radius: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__photo {
    width: 17.125rem;
    height: 11.75rem;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 0.625rem;
  }
}

.p-topAmpan__photo--top {
  top: -3.4765625rem;
  right: 0;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__photo--top {
    top: -4.5625rem;
    right: calc((100% - min(77.3125rem, 100% - 3.125rem)) / 2 + 0.09375rem);
  }
}

.p-topAmpan__photo--bottom {
  top: calc(100% - 2.6953125rem);
  left: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__photo--bottom {
    top: calc(100% - 9.4375rem);
    left: calc((100% - min(77.3125rem, 100% - 3.125rem)) / 2 - 0.09375rem);
  }
}

.p-topAmpan__bread {
  position: absolute;
  width: 5.1875rem;
  height: auto;
  z-index: 1;
  font-size: 1.4375rem;
  top: 2.15625rem;
  left: calc(50% - 3.675em + -4.716875rem);
}
@media screen and (min-width: 768px) {
  .p-topAmpan__bread {
    width: 10.375rem;
    font-size: clamp(23px, 2.375rem, 38px);
    top: 4.025rem;
    left: calc(50% - 5.775em + -11.445rem);
  }
}

.p-topAmpan__card--item1 .p-topAmpan__icon {
  width: 2.3125rem;
  height: 2.375rem;
  left: 0.84375rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__card--item1 .p-topAmpan__icon {
    width: 4rem;
    height: 4.125rem;
    left: 1.25rem;
    top: -2.0625rem;
  }
}

.p-topAmpan__card--item2 .p-topAmpan__icon {
  width: 2.5625rem;
  height: 2.40625rem;
  left: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__card--item2 .p-topAmpan__icon {
    width: 4.6875rem;
    height: 4.375rem;
    left: 1.1875rem;
    top: -2.25rem;
  }
}

.p-topAmpan__card--item3 .p-topAmpan__icon {
  width: 2.4375rem;
  height: 2.46875rem;
  top: -1.28125rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__card--item3 .p-topAmpan__icon {
    width: 4.125rem;
    height: 4.1875rem;
    left: 1.6875rem;
    top: -2.125rem;
  }
}

.p-topAmpan__card--item4 .p-topAmpan__icon {
  width: 2.5rem;
  height: 2.28125rem;
  top: -1.25rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__card--item4 .p-topAmpan__icon {
    width: 4.625rem;
    height: 4.25rem;
    left: 1.1875rem;
    top: -2.125rem;
  }
}

.p-topAmpan__card--item5 .p-topAmpan__icon {
  width: 2.21875rem;
  height: 2.3125rem;
  left: 0.9375rem;
  top: -1.15625rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__card--item5 .p-topAmpan__icon {
    width: 3.9375rem;
    height: 4.125rem;
    left: 1.125rem;
    top: -2.25rem;
  }
}

.p-topAmpan__card--item6 .p-topAmpan__icon {
  width: 2.4375rem;
  height: 2.4375rem;
  left: 0.875rem;
  top: -1.09375rem;
}
@media screen and (min-width: 768px) {
  .p-topAmpan__card--item6 .p-topAmpan__icon {
    width: 4.375rem;
    height: 4.3125rem;
    left: 1.5625rem;
    top: -2.1875rem;
  }
}

.p-topFaq {
  position: relative;
  margin-top: -2.3125rem;
  padding-block: 3.26875rem 4.96875rem;
  border-radius: 3.125rem;
  background: #e6f2e5;
}
@media screen and (min-width: 768px) {
  .p-topFaq {
    margin-top: -11.25rem;
    padding-block: 7.528125rem 7.6875rem;
    border-radius: 11.25rem;
  }
}

.p-topFaq__heading {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  left: 0.06875rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topFaq__heading {
    left: 0.164375rem;
    font-size: clamp(20px, 2.25rem, 36px);
  }
}

.p-topFaq__icon {
  position: absolute;
  top: -1.3625rem;
  right: calc(100% + 0.6rem);
  width: 3.03125rem;
  height: 2.3125rem;
}
@media screen and (min-width: 768px) {
  .p-topFaq__icon {
    top: -2.170625rem;
    right: calc(100% + 1.45625rem);
    width: 5.5625rem;
    height: 4.1875rem;
  }
}

.p-topFaq__list {
  position: relative;
  left: -0.03125rem;
  display: grid;
  gap: 0.9375rem;
  width: calc(100% - 3.125rem);
  margin-inline: auto;
  margin-top: 1.95625rem;
}
@media screen and (min-width: 768px) {
  .p-topFaq__list {
    left: 0;
    max-width: 66.25rem;
    gap: 1.25rem;
    margin-top: 3.596875rem;
  }
}

.p-topFaq__button {
  position: relative;
  left: -0.0625rem;
  margin-inline: auto;
  margin-top: 1.99375rem;
  background: transparent;
  padding-inline: 1.3rem 0.375rem;
  padding-bottom: 0.03rem;
}
@media screen and (min-width: 768px) {
  .p-topFaq__button {
    left: -0.4375rem;
    margin-top: 3.9375rem;
    padding-inline: 2.6125rem 1.4375rem;
    padding-bottom: 0.185rem;
  }
}

.p-topFaq__photo {
  position: absolute;
  top: calc(100% - 2.09375rem);
  right: 2.15625rem;
  width: 10rem;
  height: auto;
  border-radius: 0.3125rem;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-topFaq__photo {
    top: calc(100% - 4.7675rem);
    right: max(1.5625rem, 50% - 39.625rem);
    width: 17.125rem;
  }
}

.p-topFeatures {
  margin-top: 1.875rem;
  padding-block: 0 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-topFeatures {
    margin-top: 2.68375rem;
  }
}

.p-topFeatures__heading {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 1.5rem;
  position: relative;
  left: -0.0155625rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topFeatures__heading {
    font-size: clamp(24px, 2.375rem, 38px);
    left: 0.14575rem;
  }
}

.p-topFeatures__grid {
  display: grid;
  gap: 1.5625rem;
  width: calc(100% - 3.125rem);
  margin-inline: auto;
  margin-top: 1.711875rem;
  position: relative;
  left: -0.09375rem;
}
@media screen and (min-width: 768px) {
  .p-topFeatures__grid {
    max-width: 77.3125rem;
    width: calc(100% - 3.125rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem 1.3125rem;
    margin-top: 2.675625rem;
  }
}
@media (min-width: 1337px) {
  .p-topFeatures__grid {
    padding-inline: 0;
  }
}

.p-topFeatures__button {
  margin-inline: auto;
  margin-top: 1.9375rem;
  position: relative;
  left: -0.0625rem;
}
@media screen and (min-width: 768px) {
  .p-topFeatures__button {
    margin-top: 3rem;
    left: -0.25rem;
  }
}

.p-topLead {
  width: calc(100% - 2.881875rem);
  margin-inline: auto;
  position: relative;
  left: 0.1465rem;
  margin-top: 3.4375rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2.1875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topLead {
    max-width: 62.5rem;
    left: 0.117625rem;
    margin-top: 5.20325rem;
    font-size: clamp(14px, 1.25rem, 20px);
    line-height: 3.125rem;
    text-align: center;
  }
}

.p-topLead__pcBreak {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-topLead__pcBreak {
    display: inline;
  }
}

.p-topNews {
  position: relative;
  padding-block: 7.54375rem 4.475rem;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-topNews {
    padding-block: 5.7575rem 6.25rem;
  }
}

.p-topNews__heading {
  position: relative;
  left: 0.05rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topNews__heading {
    left: 0.11875rem;
    font-size: clamp(20px, 2.25rem, 36px);
    line-height: 1.44444;
  }
}

.p-topNews__icon {
  position: absolute;
  top: -0.825rem;
  left: calc(100% + 0.4825rem);
  width: 2.40625rem;
  height: 1.84375rem;
}
@media screen and (min-width: 768px) {
  .p-topNews__icon {
    top: -1.275rem;
    left: calc(100% + 0.783125rem);
    width: 4rem;
    height: 3.0625rem;
  }
}

.p-topNews__list {
  position: relative;
  left: -0.125rem;
  width: calc(100% - 3.125rem);
  margin-inline: auto;
  margin-top: 1.58125rem;
}
@media screen and (min-width: 768px) {
  .p-topNews__list {
    left: 0;
    max-width: 66.25rem;
    margin-top: 3.79140625rem;
  }
}

.p-topNews__button {
  position: relative;
  left: -0.0625rem;
  margin-inline: auto;
  margin-top: 2.53625rem;
  padding-inline: 1.4875rem 0.375rem;
  padding-bottom: 0.0625rem;
}
@media screen and (min-width: 768px) {
  .p-topNews__button {
    left: -0.4375rem;
    margin-top: 4.45625rem;
    padding-inline: 2.6125rem 1.4375rem;
    padding-bottom: 0.225rem;
  }
}

.p-topNews__photo {
  position: absolute;
  z-index: 1;
  top: calc(100% - 2.44625625rem);
  left: 1.625rem;
  width: 10rem;
  height: 6.4375rem;
  border-radius: 0.3125rem;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-topNews__photo {
    top: calc(100% - 6.2674875rem);
    left: max(1.5625rem, 50% - 39.625rem);
    width: 17.5rem;
    height: 11.25rem;
    border-radius: 0.625rem;
  }
}

.p-topSchedule {
  padding-block: 6.513425rem 3.47750625rem;
  padding-inline: 1rem;
  border-radius: 3.125rem;
  background: #e1ecf3;
}
@media screen and (min-width: 768px) {
  .p-topSchedule {
    padding-block: 5.76938125rem 6.7674875rem;
    padding-inline: 0;
    border-radius: 11.25rem;
  }
}

.p-topSchedule__heading {
  position: relative;
  left: 0.173125rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topSchedule__heading {
    left: 0.28375rem;
    font-size: clamp(20px, 2.25rem, 36px);
  }
}

.p-topSchedule__icon {
  position: absolute;
  top: -0.9284375rem;
  left: -3.673125rem;
  width: 2.75rem;
  height: 2.40625rem;
}
@media screen and (min-width: 768px) {
  .p-topSchedule__icon {
    top: -3.1618625rem;
    left: -4.70875rem;
    width: 4.75rem;
    height: 4.125rem;
  }
}

.p-topSchedule__calendar {
  display: block;
  width: 100%;
  max-width: 50rem;
  height: 21.875rem;
  margin-inline: auto;
  margin-top: 2.19656875rem;
  border: 0;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-topSchedule__calendar {
    width: calc(100% - 3.125rem);
    aspect-ratio: 4/3;
    height: auto;
    margin-top: 2.9006375rem;
  }
}

.p-topSeminar {
  margin-top: 0.75725rem;
  padding-block: 4.21875rem 7rem;
  background: url("../images/common/bg2_1.webp") no-repeat calc(50% + 0.1875rem) top/75rem auto;
}
@media screen and (min-width: 768px) {
  .p-topSeminar {
    margin-top: 0;
    padding-block: 7.5rem 16.9375rem;
    background-position: center top;
    background-size: cover;
  }
}
@media (min-width: 1024px) {
  .p-topSeminar {
    background-position: center -42px;
  }
}

.p-topSeminar[hidden] {
  display: none;
}

.p-topSeminar--flat {
  margin-top: 0;
  padding-block: 3rem 3.75rem;
  background: #eef8ec;
}
@media screen and (min-width: 768px) {
  .p-topSeminar--flat {
    padding-block: 1.8125rem 7.1875rem;
    background: #eef8ec;
  }
}

.p-topSeminar__panel {
  position: relative;
  width: calc(100% - 3.125rem);
  margin-inline: auto;
  padding-block: 3.7789rem 3.28125rem;
  border-radius: 0.625rem;
  color: #fff;
  background: url("../images/common/bg1.webp") 40% 20%/cover no-repeat;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__panel {
    max-width: 66.25rem;
    padding-block: 4.3703rem 4.3125rem;
    border-radius: 1.25rem;
  }
}

.p-topSeminar__heading {
  position: relative;
  left: -0.187875rem;
  top: -0.1869375rem;
  text-align: center;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__heading {
    left: -0.3108125rem;
    top: 0.5636875rem;
    font-size: clamp(19px, 2.375rem, 38px);
    line-height: 1;
  }
}

.p-topSeminar__headingBreak {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__headingBreak {
    display: inline;
  }
}

.p-topSeminar__badge {
  position: absolute;
  top: -2.21875rem;
  left: 1.53125rem;
  padding-block: 1.5125rem;
  padding-inline: 0.671875rem;
  color: #333;
  background: #ffe159;
  border-radius: 50%;
  font-size: 0.75rem;
  line-height: 1.034375rem;
  text-align: center;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__badge {
    top: -1.125rem;
    left: 4.8125rem;
    padding-block: 2.25rem;
    padding-inline: 0.984375rem;
    font-size: clamp(12px, 1.125rem, 18px);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-topSeminar__badgePc {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__badgePc {
    display: inline;
  }
}

@media screen and (min-width: 768px) {
  .p-topSeminar__badgeSp {
    display: none;
  }
}

.p-topSeminar__icon {
  position: absolute;
  top: 1.125rem;
  right: 1.46875rem;
  width: 3rem;
  height: 2.71875rem;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__icon {
    top: 2.8125rem;
    right: 8.4375rem;
    width: 4.625rem;
    height: 4.1875rem;
  }
}

.p-topSeminar__duration {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 0.75235rem;
  padding-block: 0.4775rem;
  padding-inline: 1.318125rem;
  border-radius: 0.3125rem;
  background: rgba(255, 255, 255, 0.18);
  font-size: 0.765rem;
  font-weight: 400;
  line-height: 1.17rem;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__duration {
    position: absolute;
    top: 5.5rem;
    right: 3.625rem;
    margin-top: 0;
    padding-block: 1.59375rem;
    padding-inline: 1rem;
    border-radius: 50%;
    font-size: clamp(12.24px, 1.0625rem, 17px);
    line-height: 1.529411765;
  }
}

@media screen and (min-width: 768px) {
  .p-topSeminar__durationBreak {
    display: block;
  }
}

.p-topSeminar__body {
  margin-top: 1.33375rem;
  padding-inline: 1.21875rem;
  font-size: 0.8125rem;
  line-height: 1.8125rem;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__body {
    margin-top: 2.724825rem;
    padding-inline: 6.25rem;
    text-align: center;
    font-size: clamp(14px, 1.125rem, 18px);
    line-height: 2.111111111;
  }
}

.p-topSeminar__button {
  position: relative;
  left: 0.09375rem;
  justify-content: center;
  margin-inline: auto;
  margin-top: 1.702375rem;
  padding-inline: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__button {
    left: 0;
    margin-top: 2.717375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-topSeminar--scheduled .p-topSeminar__button {
    margin-top: 1.842375rem;
  }
}

.p-topSeminar__durationText {
  position: relative;
  left: 0.0845rem;
  top: -0.01025rem;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__durationText {
    left: 0.0533125rem;
    top: -0.0776875rem;
  }
}

.p-topSeminar__buttonText {
  position: relative;
  left: 0.0784375rem;
  top: -0.0248125rem;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__buttonText {
    left: 0.1090625rem;
    top: -0.030125rem;
  }
}

.p-topSeminar__badgePc {
  position: relative;
  left: 0.01575rem;
  top: 0.20375rem;
}

.p-topSeminar__badgeSp {
  position: relative;
  left: -0.053125rem;
  top: 0.1121875rem;
}

.p-topSeminar__body > p,
.p-topSeminar__dates {
  position: relative;
  top: -0.2495625rem;
}
@media screen and (min-width: 768px) {
  .p-topSeminar__body > p,
  .p-topSeminar__dates {
    left: 0.1029375rem;
    top: -0.373625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-topSeminar--scheduled .p-topSeminar__body > p,
  .p-topSeminar--scheduled .p-topSeminar__dates {
    left: 0.0779375rem;
  }
}

.p-topVoice {
  margin-top: -3.75rem;
  padding-block: 10rem 3.125rem;
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
}
@media screen and (min-width: 768px) {
  .p-topVoice {
    margin-top: -2.3125rem;
    padding-block: 9.565rem 7.5rem;
    background-size: auto, 2.3125rem;
  }
}

.p-topVoiceSpacer {
  height: 8.25rem;
  margin-top: -3.75rem;
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url("../images/common/deco_dot_tile.svg");
  background-position: center top;
  background-size: auto, 1.15625rem;
  background-repeat: repeat;
}
@media screen and (min-width: 768px) {
  .p-topVoiceSpacer {
    height: 9.8125rem;
    margin-top: -2.3125rem;
    background-size: auto, 2.3125rem;
  }
}

.p-topVoice__heading {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  left: 0.09375rem;
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-topVoice__heading {
    left: 0.495625rem;
    font-size: clamp(23px, 2.5rem, 40px);
  }
}

.p-topVoice__decoration {
  position: absolute;
  width: 2.78125rem;
  height: 2.9375rem;
  left: calc(100% - 0.3125rem);
  top: -1.875rem;
}
@media screen and (min-width: 768px) {
  .p-topVoice__decoration {
    width: 4.6875rem;
    height: 4.875rem;
    left: calc(100% + 0.75rem);
    top: -2.375rem;
  }
}

.p-topVoice__grid {
  position: relative;
  left: -0.03125rem;
  display: grid;
  gap: 1.25rem;
  width: calc(100% - 3.125rem);
  margin-inline: auto;
  margin-top: 1.9375rem;
}
@media screen and (min-width: 768px) {
  .p-topVoice__grid {
    left: 0.03125rem;
    max-width: 72.5625rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem 2.5625rem;
    margin-top: 3.3744375rem;
  }
}

.p-topVoice__button {
  position: relative;
  left: -0.0625rem;
  margin-inline: auto;
  margin-top: 2.525rem;
}
@media screen and (min-width: 768px) {
  .p-topVoice__button {
    left: -0.4375rem;
    margin-top: 3.6875rem;
    padding-inline: 3.25rem 1.4375rem;
  }
}

.p-voice {
  padding-block: 3rem 1.25rem;
}

.p-voice__inner {
  max-width: 68.75rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.p-voice__list {
  list-style: none;
}

.p-voice__list > li + li {
  margin-top: 1rem;
}

.p-voice .c-voiceCard {
  min-height: 11.25rem;
}

.p-voice__pagination {
  display: flex;
  justify-content: center;
  gap: 0.375rem;
  margin-top: 2.625rem;
  list-style: none;
}

.p-voice__page {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 0.0625rem solid #afd3b4;
  border-radius: 0.25rem;
  color: #333;
  background: #fff;
  font-size: 0.875rem;
  transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease, opacity 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .p-voice__page {
    transition: none;
  }
}

.p-voice__page:hover,
.p-voice__page:focus-visible {
  color: #fff;
  border-color: #b5d7ae;
  background: #b5d7ae;
  opacity: 1;
}

.p-voice__page[aria-current=page] {
  color: #fff;
  border-color: #5baf50;
  background: #5baf50;
}

.p-voice__page[aria-current=page]:hover,
.p-voice__page[aria-current=page]:focus-visible {
  color: #fff;
  border-color: #5baf50;
  background: #5baf50;
}

.p-voice__page--next::before,
.p-voice__page--last::before,
.p-voice__page--last::after {
  width: 0.3125rem;
  height: 0.3125rem;
  border-top: 0.09375rem solid currentColor;
  border-right: 0.09375rem solid currentColor;
  content: "";
  transform: rotate(45deg);
}

.p-voice__page--prev::before {
  width: 0.3125rem;
  height: 0.3125rem;
  border-top: 0.09375rem solid currentColor;
  border-right: 0.09375rem solid currentColor;
  content: "";
  transform: rotate(-135deg);
}

.p-voice__page--last {
  grid-auto-flow: column;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0;
       column-gap: 0;
}

.p-voice__page--last::after {
  margin-left: -0.0625rem;
}

@media screen and (min-width: 768px) {
  .p-voice {
    padding-block: 6.5rem 0rem;
  }
  .p-voice__inner {
    padding-inline: 1.5625rem;
  }
  .p-voice .c-voiceCard {
    padding-inline: 3.0625rem;
    font-size: 17px;
  }
  .p-voice .c-voiceCard__name {
    margin-left: 2.89375rem;
  }
  .p-voice__list > li + li {
    margin-top: 1.25rem;
  }
  .p-voice__pagination {
    gap: 0.625rem;
    margin-top: 6.25rem;
  }
  .p-voice__page {
    width: 3.375rem;
    height: 3.375rem;
    border-radius: 0.375rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-voice__inner {
    padding-inline: 0;
  }
}
.pagination {
  width: 100%;
}
.nav-links ul {
  display: flex;
  justify-content: center;
}

.nav-links ul li a,
.nav-links ul li span {
  color: #5baf50;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .nav-links ul li a,
  .nav-links ul li span {
    font-size: 1.5rem;
  }
}

.nav-links ul li span.current {
  color: #333;
}

.nav-links ul li {
  position: relative;
  margin: 0 0.3125rem;
}
@media screen and (min-width: 768px) {
  .nav-links ul li {
    margin: 0 0.625rem;
  }
}

.nav-links ul li a,
.nav-links ul li span {
  display: block;
  width: 100%;
  padding: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .nav-links ul li a,
  .nav-links ul li span {
    padding: 0.625rem;
  }
}

.nav-links ul li .nav-links ul .dots {
  padding-right: 0;
  padding-left: 0;
}

.js-fadeIn.is-fadeReady {
  opacity: 0;
  transition: opacity 0.8s ease;
}

.js-fadeIn.is-fadeReady.is-inview {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .js-fadeIn.is-fadeReady {
    transform: translateY(0.9375rem);
    transition: opacity 0.8s ease, transform 0.8s ease;
  }
  .js-fadeIn.is-fadeReady.is-inview {
    transform: translateY(0);
  }
  .p-mv.js-fadeIn.is-fadeReady,
  .p-mv__content.js-fadeIn.is-fadeReady {
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .js-fadeIn.is-fadeReady {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/*# sourceMappingURL=style.css.map */
