@charset "UTF-8";
html {
  font-size: 100%;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.4159292035vw;
  }
}
@media (min-width: 1130px) {
  html {
    font-size: 100%;
  }
}

body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555;
  background-color: #fff4de;
}

@media screen and (min-width: 768px) {
  a,
  button {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  a:hover,
  button:hover {
    opacity: 0.7;
    cursor: pointer;
  }
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  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;
  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;
}

a {
  text-decoration: none;
  color: inherit;
}

/* 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;
}

button {
  border: none;
  padding: 0;
  background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.l-inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1130px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.l-main {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .l-main {
    margin-top: 5rem;
  }
}
.l-mv {
  padding-top: 12.75rem;
  padding-bottom: 10.8125rem;
  margin-top: -11.5rem;
}
@media screen and (min-width: 768px) {
  .l-mv {
    padding-top: 20.5rem;
    padding-bottom: 19.5625rem;
    margin-top: -16.25rem;
  }
}

.l-message-area {
  margin-top: -15.125rem;
  padding-bottom: 9.125rem;
}
@media screen and (min-width: 768px) {
  .l-message-area {
    margin-top: -19rem;
    padding-top: 6.25rem;
    padding-bottom: 10rem;
  }
}
@media screen and (min-width: 2000px) {
  .l-message-area {
    margin-top: -8vw;
  }
}

.l-message-area__inner {
  display: contents;
}
@media screen and (min-width: 768px) {
  .l-message-area__inner {
    display: block;
    max-width: 1130px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.l-footer {
  padding-top: 3.625rem;
  padding-bottom: 5.75rem;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-top: 5.625rem;
    padding-bottom: 3.9375rem;
  }
}

.l-pagetop {
  position: fixed;
  right: 0.625rem;
  bottom: 1.375rem;
  z-index: 50;
}
@media screen and (min-width: 768px) {
  .l-pagetop {
    right: 1.25rem;
    bottom: 1.25rem;
  }
}

.l-lessons {
  padding-top: 9.125rem;
  padding-bottom: 5.75rem;
  margin-top: -4.875rem;
}
@media screen and (min-width: 768px) {
  .l-lessons {
    padding-top: 0;
    padding-bottom: 15.125rem;
    margin-top: 1rem;
  }
}

.l-pans {
  margin-top: -2.25rem;
}
@media screen and (min-width: 768px) {
  .l-pans {
    margin-top: 4.6875rem;
  }
}

.l-about {
  margin-top: 3.375rem;
}
@media screen and (min-width: 768px) {
  .l-about {
    padding-top: 1.375rem;
    margin-top: 0;
  }
}

.l-hope {
  padding-top: 6rem;
  padding-bottom: 4.0625rem;
  margin-top: -2.875rem;
}
@media screen and (min-width: 768px) {
  .l-hope {
    padding-top: 25rem;
    padding-bottom: 0;
    margin-top: -18.5rem;
  }
}

.l-info {
  margin-top: -1.75rem;
}
@media screen and (min-width: 768px) {
  .l-info {
    margin-top: -9.375rem;
  }
}

.c-br-sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .c-br-sp {
    display: none;
  }
}

.c-br-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-br-pc {
    display: block;
  }
}

.c-card {
  border-radius: 0.625rem;
  overflow: hidden;
  width: 100%;
  position: relative;
}

.c-card__img {
  width: 100%;
  border-radius: 0.625rem;
  overflow: hidden;
  position: relative;
}

.c-card__img::before {
  content: "";
  display: block;
  padding-top: 70.447761194%;
}
@media screen and (min-width: 768px) {
  .c-card__img::before {
    padding-top: 70.4761904762%;
  }
}

.c-card__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card__label {
  display: none;
  font-size: 0.875rem;
  line-height: 1;
  padding-top: 0.625rem;
  padding-bottom: 0.5rem;
  top: 0;
  left: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  background-color: #fff;
  padding: 0.625rem 0.25rem 0.5rem;
  -ms-writing-mode: tb-rl; /* IE(Internet Exproler)用、(Top to Bottom, Right to Left) */
  -webkit-writing-mode: vertical-rl; /* Chrome、Safari用 */
  -moz-writing-mode: vertical-rl; /* Firefox用 */
  writing-mode: vertical-rl; /* (Right to Left)*/
  white-space: nowrap;
  position: absolute;
  top: 0;
  z-index: 3;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .c-card__label {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    background-color: #fff;
    padding: 1.125rem 0.625rem;
    -ms-writing-mode: tb-rl; /* IE(Internet Exproler)用、(Top to Bottom, Right to Left) */
    -webkit-writing-mode: vertical-rl; /* Chrome、Safari用 */
    -moz-writing-mode: vertical-rl; /* Firefox用 */
    writing-mode: vertical-rl; /* (Right to Left)*/
    white-space: nowrap;
    position: absolute;
    top: 0;
    left: 1.125rem;
    z-index: 3;
  }
}

.c-card__img--oblong {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.c-card__img--oblong::before {
  content: "";
  display: block;
  padding-top: 74.21875%;
}
@media screen and (min-width: 768px) {
  .c-card__img--oblong::before {
    padding-top: 76%;
  }
}

.c-card__img--oblong img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-link {
  color: #1f7f65;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-right: 1.5rem;
  padding-bottom: 0.3125rem;
  position: relative;
  -webkit-text-size-adjust: 100%;
}

.c-link::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% - 1.5rem);
  height: 0.125rem;
  background-color: #1f7f65;
}

.c-link__circle {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: #1f7f65;
}

.c-link__circle::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 0.65625rem;
  height: 0.63125rem;
  background: url(../images/icon-working.svg) no-repeat center/contain;
}

.c-link__circle--map::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 0.55rem;
  height: 0.79375rem;
  background: url(../images/icon-map.svg) no-repeat center/contain;
}

.c-link__circle--sns::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 0.759375rem;
  height: 0.679375rem;
  background: url(../images/icon-camera.svg) no-repeat center/contain;
}

@media screen and (min-width: 768px) {
  .c-link--pc {
    font-size: 1rem;
    padding-right: 2.875rem;
  }
}

@media screen and (min-width: 768px) {
  .c-link--pc::before {
    width: calc(100% - 2rem);
  }
}

@media screen and (min-width: 768px) {
  .c-link--pc__circle {
    width: 1.875rem;
    height: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .c-link--pc__circle.c-link__circle--map::after {
    width: 0.693125rem;
    height: 0.99625rem;
  }
}

@media screen and (min-width: 768px) {
  .c-link--pc__circle.c-link__circle--sns::after {
    width: 0.950625rem;
    height: 0.850625rem;
  }
}

.c-line-btn {
  display: inline-block;
  background-color: #1f7f65;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: left;
  min-width: 15.625rem;
  max-width: 100%;
  padding: 1rem 1.125rem 1rem 2.5rem;
  border-radius: 6.25rem;
  position: relative;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .c-line-btn {
    font-size: 1.25rem;
    min-width: 21.25rem;
    padding: 1.5rem 0.9375rem 1.375rem 4.25rem;
  }
}

.c-btn-line__circle {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0.75rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .c-btn-line__circle {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.c-btn-line__circle::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 0.98125rem;
  height: 0.914375rem;
  background: url(../images/icon-pad.svg) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .c-btn-line__circle::after {
    width: 1.301875rem;
    height: 1.3rem;
  }
}

.c-pagetop {
  width: 3.75rem;
  height: 3.75rem;
}
@media screen and (min-width: 768px) {
  .c-pagetop {
    width: 5rem;
    height: 5rem;
  }
}

.c-nav-btn {
  display: inline-block;
}

.c-nav-btn__sub-wrap {
  text-align: center;
}

.c-nav-btn__sub {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  padding-left: 0.875rem;
  padding-right: 1.0625rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-nav-btn__sub {
    padding-left: 1.5rem;
    padding-right: 1.75rem;
  }
}

.c-nav-btn__sub::before,
.c-nav-btn__sub::after {
  position: absolute;
  content: "";
  bottom: 0.1875rem;
  height: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-nav-btn__sub::before,
  .c-nav-btn__sub::after {
    height: 1.125rem;
  }
}

.c-nav-btn__sub::before {
  border-left: solid 2px;
  left: 0;
  -webkit-transform: rotate(-36deg);
          transform: rotate(-36deg);
}

.c-nav-btn__sub::after {
  border-right: solid 2px;
  right: 0;
  -webkit-transform: rotate(36deg);
          transform: rotate(36deg);
}

.c-nav-btn__main {
  display: inline-block;
  background-color: #1f7f65;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 1rem 0.625rem 1rem 0.9375rem;
  min-width: 9.875rem;
  max-width: 100%;
  border-radius: 0.625rem;
  position: relative;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .c-nav-btn__main {
    min-width: 14.375rem;
    padding: 1.25rem 0.875rem 1.25rem 0.9375rem;
    margin-top: 0;
  }
}

.c-nav-btn__circle {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: #fff;
}

.c-nav-btn__circle::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 0.948125rem;
  height: 0.914375rem;
  background: url(../images/icon-pad.svg) no-repeat center/contain;
}

.c-nav-btn__circle--instagram::after {
  width: 0.94375rem;
  height: 0.844375rem;
  background: url(../images/icon-camera-green.svg) no-repeat center/contain;
}

.c-card2__title {
  font-size: 1.25rem;
  font-weight: 700;
  padding-left: 1.875rem;
  position: relative;
  -webkit-text-size-adjust: 100%;
}

.c-card2__title::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.35125rem;
  height: 1.3025rem;
  background: url(../images/icon-pad.svg) no-repeat center/contain;
}

.c-card2__lists {
  margin-top: 1.125rem;
  border-top: 2px solid #a56d35;
}

.c-card2__list {
  padding: 0.25rem 0.625rem 0;
  position: relative;
}

.c-card2__list::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 0.125rem;
  background-image: url("../images/dot-gray.webp");
  background-repeat: repeat-x;
  background-position: center center;
  background-size: 0.375rem;
  bottom: 0;
  left: 0;
}

.c-card2__list:nth-child(1) {
  padding: 1.125rem 0.625rem 0.875rem;
}

.c-card2__list:nth-child(2) {
  padding: 1.0625rem 0.625rem 0.875rem;
}

.c-card2__list:nth-child(3) {
  padding: 1.0625rem 0.625rem 1rem;
}

.c-card2__list:nth-child(4) {
  padding: 1.0625rem 0.625rem 1rem;
}

.c-card2__list:nth-child(5) {
  padding: 1.0625rem 0.625rem 1rem;
}

.c-card2__list:nth-child(6) {
  padding: 1.0625rem 0.625rem 1rem;
}

.c-card2__list-title {
  font-size: 1rem;
  font-weight: 700;
  -webkit-text-size-adjust: 100%;
}

.c-card2__list div {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.1428571429;
  letter-spacing: 0.05em;
  margin-top: 0.625rem;
  -webkit-text-size-adjust: 100%;
}

.c-card__btn {
  width: 15.625rem;
  margin-top: 2.375rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .c-card__btn {
    width: 21.25rem;
  }
}

.c-card__btn-sub-wrap {
  text-align: center;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-card__btn-sub-wrap {
    margin-bottom: 1.125rem;
  }
}

.c-card__btn-sub {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-card__btn-sub {
    font-size: 1.25rem;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

.c-card__btn-sub::before,
.c-card__btn-sub::after {
  position: absolute;
  content: "";
  bottom: 0.1875rem;
  height: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-card__btn-sub::before,
  .c-card__btn-sub::after {
    bottom: 0;
    height: 1.75rem;
  }
}

.c-card__btn-sub::before {
  border-left: solid 2px;
  left: 0;
  -webkit-transform: rotate(-36deg);
          transform: rotate(-36deg);
}

.c-card__btn-sub::after {
  border-right: solid 2px;
  right: 0;
  -webkit-transform: rotate(36deg);
          transform: rotate(36deg);
}

.p-mv {
  overflow: hidden;
  padding-left: 1.375rem;
  padding-right: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-mv {
    padding-left: 10rem;
    padding-right: 10rem;
  }
}

.p-mv__main {
  position: relative;
}

.p-mv__slide {
  position: relative;
}
@media screen and (min-width: 600px) {
  .p-mv__slide {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__slide {
    margin-right: 0;
    width: 100%;
  }
}

.p-mv__slide::before {
  content: "";
  display: block;
  padding-top: 127.6785714286%;
}
@media screen and (min-width: 768px) {
  .p-mv__slide::before {
    padding-top: 52.1327014218%;
  }
}

.p-mv__slide img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-mv__slider {
  margin-left: 13px;
}

.p-mv__catch {
  position: absolute;
  width: 79px;
  height: 173px;
  top: 20px;
  left: 5px;
}
@media screen and (min-width: 768px) {
  .p-mv__catch {
    width: 173px;
    height: 379px;
    top: -14px;
    left: 0px;
  }
}

.p-mv__label {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2857142857;
  letter-spacing: 0.3em;
  background-color: #fff;
  padding: 0.375rem 0.125rem 0.1875rem;
  -ms-writing-mode: tb-rl; /* IE(Internet Exproler)用、(Top to Bottom, Right to Left) */
  -webkit-writing-mode: vertical-rl; /* Chrome、Safari用 */
  -moz-writing-mode: vertical-rl; /* Firefox用 */
  writing-mode: vertical-rl; /* (Right to Left)*/
}
@media screen and (min-width: 768px) {
  .p-mv__label {
    font-size: 1.875rem;
    line-height: 1.3;
    padding: 0.9375rem 0.375rem 0.75rem 0.25rem;
    white-space: nowrap;
  }
}

.p-mv__label + .p-mv__label {
  margin-right: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-mv__label + .p-mv__label {
    margin-right: 0.875rem;
  }
}

.p-mv__circle01,
.p-mv__circle02 {
  position: absolute;
  width: 21.625rem;
  height: 21.4375rem;
}
@media screen and (min-width: 768px) {
  .p-mv__circle01,
  .p-mv__circle02 {
    width: 36.9375rem;
    height: 36.6875rem;
  }
}

.p-mv__circle01 {
  top: -12.75rem;
  right: -4.1875rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-mv__circle01 {
    top: -18.5rem;
    right: -13.1875rem;
  }
}

.p-mv__circle02 {
  bottom: -10.8125rem;
  left: -13.375rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-mv__circle02 {
    bottom: -19.5625rem;
    left: -25.875rem;
    z-index: 1;
  }
}

.p-message-area {
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-message-area {
    background: none;
  }
}
@media screen and (min-width: 1440px) {
  .p-message-area {
    overflow: unset;
  }
}

.p-message-area__title {
  margin-top: 9.5625rem;
  padding-left: 10.6666666667%;
  padding-right: 10.6666666667%;
  color: #A56D35;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.84;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p-message-area__title {
    background: none;
    margin-top: 0;
    padding-left: 0;
    padding-right: 0;
    font-size: 2.5rem;
    line-height: 1.84;
    letter-spacing: 0.1em;
    margin-left: 9.2592592593%;
    -webkit-text-size-adjust: 100%;
  }
}

.p-message-area__box {
  position: relative;
  padding-left: 10.6666666667%;
  padding-right: 10.6666666667%;
  z-index: 3;
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-message-area__box {
    padding-left: 0;
    padding-right: 0;
    width: 39.8148148148%;
    margin-top: 3.875rem;
    margin-left: auto;
    margin-right: 10.1851851852%;
  }
}

.p-message-area__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.7142857143;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
}

.p-message-area__pan01 {
  position: absolute;
  top: -3.75rem;
  right: -2.5rem;
  width: 9.6875rem;
  height: 9.4375rem;
}
@media screen and (min-width: 768px) {
  .p-message-area__pan01 {
    top: -22.125rem;
    right: -13.125rem;
    width: 20rem;
    height: 19.5625rem;
  }
}

.p-message-area__pan02 {
  position: absolute;
  bottom: -10.75rem;
  left: -1.875rem;
  width: 9.375rem;
  height: 9.9375rem;
}
@media screen and (min-width: 768px) {
  .p-message-area__pan02 {
    bottom: -5.625rem;
    left: -36.375rem;
    width: 13.75rem;
    height: 14.5rem;
  }
}

.p-message-area__circle {
  position: absolute;
  bottom: -8.25rem;
  right: -6.5rem;
  width: 16.5625rem;
  height: 16.4375rem;
}
@media screen and (min-width: 768px) {
  .p-message-area__circle {
    bottom: -8.75rem;
    right: -17.5rem;
  }
}

.p-message-area__bg-line01 {
  position: absolute;
  aspect-ratio: 375/272;
  width: 100%;
  max-width: 100%;
  top: 0.75rem;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-message-area__bg-line01 {
    aspect-ratio: 1400/917;
    top: -10.75rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-message-area__bg-line01 {
    width: 100vw;
  }
}

.p-message-area__bg-line01 picture img {
  width: 100%;
}

.p-message-area__bg-line02 {
  position: absolute;
  aspect-ratio: 375/271;
  width: 100%;
  max-width: 100%;
  display: block;
  bottom: 0.375rem;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-message-area__bg-line02 {
    display: none;
  }
}

.p-footer {
  position: relative;
  overflow: hidden;
}

.p-footer__logo {
  width: 17.125rem;
  padding-right: 0.625rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-footer__logo {
    width: 24.875rem;
  }
}

.p-footer__logo a {
  width: 100%;
}

.p-footer__logo a img {
  width: 100%;
}

.p-footer__address {
  font-style: normal;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  margin-top: 2.5rem;
  text-align: center;
  -webkit-text-size-adjust: 100%;
}

.p-footer__space {
  display: inline-block;
  width: 1em;
}

.p-footer__copy {
  text-align: center;
  margin-top: 1rem;
  margin-right: 0.5rem;
}

.p-footer__copy small {
  font-size: 0.75rem;
  -webkit-text-size-adjust: 100%;
}

.p-footer__line {
  position: absolute;
  aspect-ratio: 375/216;
  width: 100%;
  max-width: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-footer__line {
    aspect-ratio: 1400/702;
  }
}

.p-info__wave img {
  width: 100%;
}

.p-info__main {
  background-color: #ecdec6;
  padding-top: 2.375rem;
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-info__main {
    padding-top: 0;
    padding-bottom: 6.75rem;
  }
}

.p-info__title {
  color: #a56d35;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-info__title {
    font-size: 2.5rem;
  }
}

.p-info__container {
  margin-top: 2.375rem;
}
@media screen and (min-width: 768px) {
  .p-info__container {
    margin-top: 3.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.p-info__img {
  width: 11.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-info__img {
    width: 17.5rem;
  }
}

.p-info__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 31.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-info__cards {
    max-width: none;
    width: 48.6111111111%;
    margin-left: 0;
  }
}

.p-info__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-info__box {
    margin-top: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    width: 100%;
  }
}

.p-info__card01 {
  aspect-ratio: 335/236;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-info__card01 {
    aspect-ratio: 525/370;
    width: 32.8125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-info__card02 {
    width: 15.625rem;
  }
}

.p-info__card03 {
  margin-left: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-info__card03 {
    margin-left: 0;
    width: 15.625rem;
  }
}

.p-info__items {
  margin-top: 2.0625rem;
}
@media screen and (min-width: 768px) {
  .p-info__items {
    margin-top: 0.75rem;
    margin-left: auto;
    margin-right: 3.125rem;
    width: 26.125rem;
  }
}

.p-info__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.3125rem 0rem 1.125rem 0.625rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-info__item {
    padding: 1.375rem 0.375rem 1.25rem 0.75rem;
  }
}

.p-info__item::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 0.125rem;
  background-image: url("../images/dot-gray.webp");
  background-repeat: repeat-x;
  background-position: center center;
  background-size: 0.375rem;
  top: 0;
  left: 0;
}

.p-info__item:last-child::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 0.125rem;
  background-image: url("../images/dot-gray.webp");
  background-repeat: repeat-x;
  background-position: center center;
  background-size: 0.375rem;
  bottom: 0;
  left: 0;
}

.p-info__item-name {
  width: 30%;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-info__item-name {
    width: 38%;
  }
}

.p-info__item-desc {
  width: 70%;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-info__item-desc {
    width: 62%;
    margin-left: -0.75rem;
  }
}
.p-info__item-desc address {
  font-style: normal;
  line-height: 2;
}

.p-info__item-sm {
  font-size: 0.75rem;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 0.625rem;
}

.p-info__item-link {
  margin-top: 2.0625rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-info__item-link {
    margin-top: 0.5rem;
    margin-bottom: 0;
  }
}

.p-info__item:nth-child(2) {
  padding-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-info__item:nth-child(2) {
    padding-bottom: 1.25rem;
  }
}
.p-info__item:nth-child(2) .p-info__item-link {
  margin-top: 0.375rem;
}

.p-info__item:nth-child(2) .p-info__item-desc {
  margin-top: -0.25rem;
}
@media screen and (min-width: 768px) {
  .p-info__item:nth-child(2) .p-info__item-desc {
    margin-top: 0;
    padding-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-info__item:nth-child(3) {
    padding-top: 1.25rem;
    padding-bottom: 0.875rem;
  }
}

.p-info__item--schedule .p-info__item-name {
  width: 40%;
}

.p-info__item--schedule .p-info__item-desc {
  width: 60%;
  margin-left: 1em;
}
@media screen and (min-width: 768px) {
  .p-info__item--schedule .p-info__item-desc {
    margin-left: -1.25rem;
    padding-top: 0;
  }
}

.p-pans {
  overflow: hidden;
}

.p-pans__bg-top,
.p-pans__bg-bottom {
  width: 100%;
}

.p-pans__bg-top picture img,
.p-pans__bg-bottom picture img {
  width: 100%;
}

.p-pans__bg-bottom {
  margin-top: -0.3125rem;
}

.p-pans__wrap {
  background-image: url("../images/stripe-bg-sp.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 100%;
  padding-top: 1.25rem;
  padding-bottom: 2.875rem;
}
@media screen and (min-width: 768px) {
  .p-pans__wrap {
    background-image: url("../images/stripe-bg.webp");
    padding-top: 0;
    padding-bottom: 1.75rem;
    margin-top: -0.75rem;
  }
}

.p-pans__top, .p-pans__bottom {
  display: none;
}

.p-pans__title-wrap {
  text-align: center;
}

.p-pans__title {
  display: inline-block;
  color: #1f7f65;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.6333333333;
  letter-spacing: 0.1em;
  padding-top: 4.14375rem;
  -webkit-text-size-adjust: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-pans__title {
    font-size: 2.5rem;
    line-height: 1.77;
    padding-top: 3.875rem;
  }
}

.p-pans__balloon {
  display: inline-block;
  position: absolute;
  top: 0.1875rem;
  left: -0.625rem;
  width: 7.125rem;
  height: 4.25rem;
}
@media screen and (min-width: 768px) {
  .p-pans__balloon {
    top: -0.8125rem;
    left: -4.25rem;
    width: 10.125rem;
    height: 7.3125rem;
  }
}

.p-pans__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.4285714286;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 0.625rem;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-pans__text {
    margin-top: 0.75rem;
  }
}

.p-pans__img {
  width: 100%;
  margin-top: 0.875rem;
}

.p-pans__box {
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-pans__box {
    margin-top: 2.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-pans__line {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-top: 0.375rem;
  padding-bottom: 0.75rem;
}
@media screen and (min-width: 600px) {
  .p-pans__line {
    padding-top: 0;
    padding-bottom: 0;
    background: none;
  }
}
@media screen and (min-width: 768px) {
  .p-pans__line {
    width: 50%;
    margin-left: 0;
    margin-right: 0;
    padding-top: 4.75rem;
    padding-bottom: 4.5rem;
    background: url(../images/bg-line-area.webp) no-repeat center/contain;
  }
}

@media screen and (min-width: 600px) {
  .p-pans__line-top,
  .p-pans__line-bottom {
    display: block;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-pans__line-top,
  .p-pans__line-bottom {
    display: none;
  }
}

.p-pans__line-bottom {
  margin-top: -1.125rem;
}

.p-pans__line-wrap {
  background-color: #fff;
  padding-top: 1.625rem;
}
@media screen and (min-width: 768px) {
  .p-pans__line-wrap {
    background: none;
  }
}

.p-pans__line-inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-pans__line-inner {
    padding-right: 4.625rem;
    padding-left: 4.75rem;
  }
}

.p-pans__line-title-wrap {
  margin-left: 1.4375rem;
}
@media screen and (min-width: 600px) {
  .p-pans__line-title-wrap {
    text-align: center;
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-pans__line-title-wrap {
    margin-left: 0.625rem;
  }
}

.p-pans__line-title {
  display: inline-block;
  color: #1f7f65;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.9090909091;
  letter-spacing: 0.1em;
  text-align: left;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-pans__line-title {
    font-size: 1.875rem;
    line-height: 1.8;
    text-align: center;
    -webkit-text-size-adjust: 100%;
  }
}

.p-pans__line-title::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.75rem;
  right: -5.5rem;
  width: 4.875rem;
  height: 5.125rem;
  background: url(../images/phone.svg) no-repeat bottom/cover;
}
@media screen and (min-width: 768px) {
  .p-pans__line-title::after {
    top: -2.625rem;
    right: -6.125rem;
    width: 6.75rem;
    height: 7.0625rem;
  }
}

.p-pans__line-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.4285714286;
  letter-spacing: 0.05em;
  text-align: left;
  margin-top: 0.375rem;
  margin-left: 1.4375rem;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 600px) {
  .p-pans__line-text {
    text-align: center;
    margin-left: 0;
  }
}

.p-pans__line-btn {
  margin-top: 1.625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-pans__line-btn {
    margin-top: 1.75rem;
  }
}

.p-pans__sns {
  margin-top: 1.375rem;
}
@media screen and (min-width: 768px) {
  .p-pans__sns {
    width: 50%;
    margin-top: 0;
    margin-left: 6.25rem;
  }
}

.p-pans__sns-title-wrap {
  text-align: center;
}

.p-pans__sns-title {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 2.1428571429;
  letter-spacing: 0.05em;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  position: relative;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-pans__sns-title {
    font-size: 1.25rem;
  }
}

.p-pans__sns-title::before,
.p-pans__sns-title::after {
  position: absolute;
  content: "";
  bottom: 0.4375rem;
  height: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-pans__sns-title::before,
  .p-pans__sns-title::after {
    height: 1.75rem;
  }
}

.p-pans__sns-title::before {
  border-left: solid 2px;
  left: 0;
  -webkit-transform: rotate(-36deg);
          transform: rotate(-36deg);
}

.p-pans__sns-title::after {
  border-right: solid 2px;
  right: 0;
  -webkit-transform: rotate(36deg);
          transform: rotate(36deg);
}

.p-pans__sns-items {
  margin-top: 0.875rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.625rem 1fr 0.625rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  row-gap: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .p-pans__sns-items {
    margin-top: 0.5rem;
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
    row-gap: 0.625rem;
  }
}

.p-pans__sns-item {
  aspect-ratio: 105/90;
  width: auto;
  height: auto;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-pans__sns-item {
    aspect-ratio: 154/154;
    width: auto;
    height: auto;
  }
}

.p-pans__sns-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: inherit;
}

.p-pans__sns-item a span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: inherit;
}

.p-pans__sns-item a span img {
  width: 100%;
  aspect-ratio: 105/90;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-pans__sns-item a span img {
    aspect-ratio: 4/4;
  }
}

.p-pans__sns-links {
  text-align: center;
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-pans__sns-links {
    text-align: left;
    margin-top: 1.5rem;
  }
}
.p-pans__sns-links .c-link + .c-link {
  margin-left: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-pans__sns-links .c-link + .c-link {
    margin-left: 0.875rem;
  }
}

.p-lessons {
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1440px) {
  .p-lessons {
    overflow: unset;
  }
}

.p-lessons__title-wrap {
  text-align: center;
  position: relative;
  z-index: 10;
}

.p-lessons__title-bg {
  display: inline-block;
  padding-top: 2.75rem;
  padding-bottom: 0.375rem;
  background: url(../images/lessons-title-items-sp.webp) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-lessons__title-bg {
    padding: 7.5rem 8.125rem 2.1875rem 9.375rem;
    background-image: url(../images/lessons-title-items.webp);
  }
}

.p-lessons__title {
  color: #a56d35;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-lessons__title {
    font-size: 3rem;
  }
}

.p-lessons__title-sm {
  color: #a56d35;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-lessons__title-sm {
    font-size: 1.875rem;
  }
}

.p-lessons__arrow {
  width: 7.5rem;
  margin-top: 1.125rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-lessons__arrow {
    width: 11.3125rem;
    margin-top: 1.625rem;
  }
}

.p-lessons__box {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-lessons__box {
    margin-top: 4.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .p-lessons__img {
    margin-top: 0.5rem;
    width: 49%;
  }
}

.p-lessons__contents {
  margin-top: 1.375rem;
}
@media screen and (min-width: 768px) {
  .p-lessons__contents {
    margin-top: 0;
    margin-left: 4.5rem;
    width: 43.7962962963%;
  }
}

.p-lessons__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.4285714286;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
}

.p-lessons__caution {
  color: #a56d35;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.9090909091;
  letter-spacing: 0.1em;
  margin-top: 2.625rem;
}
@media screen and (min-width: 768px) {
  .p-lessons__caution {
    font-size: 1.875rem;
    line-height: 1.6666666667;
    margin-top: 2rem;
    margin-left: 0.375rem;
  }
}

.p-lessons__items {
  margin-top: 1.875rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[1];
  grid-template-columns: repeat(1, 1fr);
  row-gap: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-lessons__items {
    margin-top: 3.9375rem;
    -ms-grid-columns: 1fr 8.125rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 8.125rem;
       -moz-column-gap: 8.125rem;
            column-gap: 8.125rem;
    row-gap: 6.125rem;
  }
}

.p-lessons__top {
  position: absolute;
  top: 0;
  right: 0;
  width: 11.4375rem;
  height: 9.8125rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-lessons__top {
    top: -4.375rem;
    left: 0;
    width: 18.5625rem;
    height: 26.5rem;
    z-index: 10;
  }
}

.p-lessons__line01 img,
.p-lessons__line02 img,
.p-lessons__line03 img,
.p-lessons__line04 img {
  width: 100%;
}

.p-lessons__line01 {
  position: absolute;
  aspect-ratio: 375/216;
  width: 100%;
  max-width: 100%;
  top: 33.125rem;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-lessons__line01 {
    aspect-ratio: 1400/1117;
    top: 12rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-lessons__line01 {
    width: 100vw;
  }
}

.p-header {
  width: 100%;
  height: 3.125rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}
@media screen and (min-width: 768px) {
  .p-header {
    height: 5rem;
  }
}

.p-header__wrap {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-header__logo {
  width: 10.4375rem;
  margin-top: 1.125rem;
  margin-left: 1rem;
  position: relative;
  z-index: 1000;
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    width: 13.9375rem;
    margin-top: 1.875rem;
    margin-left: 1.875rem;
    z-index: 1;
  }
}

.p-header__logo img {
  width: 100%;
}

.p-header__btns {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 1000;
}

.p-header__btn-access {
  display: inline-block;
  width: 3.75rem;
  height: inherit;
  background-color: #5EB384;
  color: #fff;
  font-size: 0.5rem;
  font-weight: 700;
  padding-top: 1.8125rem;
  border-radius: 0 0 0 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-header__btn-access {
    width: 5.9375rem;
    font-size: 0.75rem;
    padding-top: 3.0625rem;
  }
}

.p-header__btn-access::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0.685rem;
  height: 0.985rem;
  background: url(../images/icon-map.svg) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-header__btn-access::before {
    top: 1rem;
    width: 1.086875rem;
    height: 1.5625rem;
  }
}

.p-header__hamburger-btn {
  display: inline-block;
  width: 3.75rem;
  height: inherit;
  background-color: #5EB384;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn {
    width: 5.9375rem;
  }
}

.p-header__hamburger-btn::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 0.0625rem;
  height: 2.375rem;
  background-color: #fff;
}

.p-header__hamburger-btn span {
  width: 1.125rem;
  height: 2px;
  display: block;
  border-radius: 2px;
  background-color: #fff;
  margin-inline: auto;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn span {
    width: 1.75rem;
  }
}

.p-header__hamburger-btn::after {
  content: "メニュー";
  display: inline-block;
  position: absolute;
  color: #fff;
  font-size: 0.5rem;
  font-weight: 700;
  width: 100%;
  bottom: 0.5625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn::after {
    font-size: 0.75rem;
    bottom: 0.875rem;
  }
}

.p-header__hamburger-btn span:nth-child(1) {
  top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn span:nth-child(1) {
    top: 1.3125rem;
  }
}

.p-header__hamburger-btn span:nth-child(2) {
  top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn span:nth-child(2) {
    top: 1.9375rem;
  }
}

.p-header__hamburger-btn span:nth-child(3) {
  top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn span:nth-child(3) {
    top: 2.5rem;
  }
}

.p-header__hamburger-btn.open::after {
  content: "閉じる";
  display: inline-block;
  position: absolute;
  color: #fff;
  font-size: 0.5rem;
  font-weight: 700;
  width: 100%;
  bottom: 0.5625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn.open::after {
    font-size: 0.75rem;
    bottom: 0.875rem;
  }
}

.p-header__hamburger-btn.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 1.125rem;
  left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn.open span:nth-child(1) {
    top: 1.75rem;
    left: 2.125rem;
  }
}

.p-header__hamburger-btn.open span:nth-child(2) {
  opacity: 0;
}

.p-header__hamburger-btn.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 1.125rem;
  left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-header__hamburger-btn.open span:nth-child(3) {
    top: 1.75rem;
    left: 2.125rem;
  }
}

.p-header__nav {
  position: fixed;
  top: -5rem;
  right: -120%;
  z-index: 50;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-header__nav.active {
  right: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-nav {
  background-color: #fff4de;
  padding-top: 7rem;
  padding-bottom: 7.5625rem;
  height: calc(100vh + 5rem);
  overflow-y: scroll;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-nav {
    padding-top: 6.125rem;
  }
}

.p-nav__top {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-nav__top {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 19.375rem;
    height: 19.5rem;
  }
}

.p-nav__bottom {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-nav__bottom {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 13.9375rem;
    height: 21.8125rem;
  }
}

.p-nav__wrapper {
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-nav__wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2.5rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }
}

.p-nav__sub {
  margin-inline: auto;
}

.p-nav__logo {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-nav__logo {
    display: block;
    width: 17.5rem;
    margin-top: 1rem;
    margin-left: 5rem;
  }
}

.p-nav__main {
  margin-left: 1.25rem;
  padding-bottom: 7.5625rem;
}
@media screen and (min-width: 768px) {
  .p-nav__main {
    padding-bottom: 0;
  }
}

.p-nav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  color: #a56d35;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-left: 1.875rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-nav__link {
    padding-top: 1.1875rem;
    padding-bottom: 1.1875rem;
    font-size: 1.25rem;
    padding-left: 2.625rem;
  }
}

.p-nav__link::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.268125rem;
  height: 0.398125rem;
  background: url(../images/icon-pan.svg) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-nav__link::before {
    width: 1.371875rem;
    height: 0.430625rem;
  }
}

.p-nav__btns {
  margin-top: 2.625rem;
}
@media screen and (min-width: 768px) {
  .p-nav__btns {
    margin-top: 2.25rem;
  }
}

.p-nav__btn + .p-nav__btn {
  margin-left: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-nav__btn + .p-nav__btn {
    margin-left: 1rem;
  }
}

.p-about__son {
  overflow: hidden;
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p-about__son {
    overflow: unset;
  }
}

.p-about__box {
  position: relative;
  z-index: 3;
  padding: 5rem 2.75rem 2.875rem 3.5rem;
  margin-left: calc(50% - 50vw);
  margin-top: -4.375rem;
}
@media screen and (min-width: 768px) {
  .p-about__box {
    padding-top: 3.75rem;
    padding-right: 2rem;
    padding-bottom: 4.25rem;
    padding-left: 7.1875rem;
    margin-top: 0.5rem;
    margin-left: 0;
  }
}

.p-about__box::before {
  content: "";
  position: absolute;
  width: 413px;
  top: 0;
  bottom: 0;
  left: -2.875rem;
  background-image: url("../images/bg-about-sp.webp");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
  padding-left: 1.875rem;
  z-index: -1;
}
@media (orientation: landscape) {
  .p-about__box::before {
    left: -0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-about__box::before {
    width: 100%;
    left: 0;
    background-image: url("../images/bg-about.webp");
    background-size: cover;
    aspect-ratio: 1080/411;
  }
}

@media screen and (min-width: 768px) {
  .p-about__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-about__img-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-about__img-wrap {
    display: contents;
  }
}

.p-about__img-wrap-text {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.09em;
  margin-top: 3.375rem;
  margin-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about__img-wrap-text {
    display: none;
  }
}

.p-about__img {
  margin-top: 2.625rem;
  width: 119px;
  margin-left: -1.375rem;
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .p-about__img {
    margin-top: 1rem;
    margin-left: 0.5rem;
    width: 22%;
  }
}

.p-about__box-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.05;
  letter-spacing: 0.05em;
  width: 18.125rem;
  margin-left: -2.25rem;
  padding-left: 1.25rem;
  white-space: nowrap;
  -webkit-text-size-adjust: 100%;
  position: relative;
}
@media (orientation: landscape) {
  .p-about__box-text {
    padding-left: 3.75rem;
    width: 21.875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-about__box-text {
    width: 34.375rem;
    margin-top: 2.5rem;
    margin-left: 3.75rem;
    padding-left: 0;
  }
}

.p-about__text-sp {
  display: inline-block;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-about__text-sp {
    display: none;
  }
}

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

.p-about__under {
  display: inline-block;
  padding-bottom: 0.5625rem;
  position: relative;
}

.p-about__under::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 0.125rem;
  background-image: url("../images/dot-brown.webp");
  background-repeat: repeat-x;
  background-position: center center;
  background-size: 0.375rem;
  bottom: 0.125rem;
  left: 0;
}

.p-about__title {
  color: #a56d35;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  padding-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-about__title {
    padding-top: 5.625rem;
    -webkit-text-size-adjust: 100%;
  }
}

.p-about__items {
  margin-top: 1.75rem;
  margin-left: 0.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-about__items {
    margin-top: 2.375rem;
    margin-left: 3.375rem;
    margin-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-about__item {
    width: 13.8125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-about__item + .p-about__item {
    margin-left: 2.375rem;
  }
}

.p-about__item:nth-child(1) {
  width: 48%;
}
@media screen and (min-width: 768px) {
  .p-about__item:nth-child(1) {
    width: 14.625rem;
  }
}

.p-about__item:nth-child(2) {
  width: 50.6666666667%;
  margin-left: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-about__item:nth-child(2) {
    width: 14.5rem;
    margin-top: 6rem;
    margin-left: 2.375rem;
  }
}

.p-about__item:nth-child(3) {
  width: 45.3333333333%;
  margin-top: 2.125rem;
  margin-left: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-about__item:nth-child(3) {
    width: 12.5rem;
    margin-top: 0;
    margin-left: 2.25rem;
  }
}

.p-about__item:nth-child(4) {
  width: 46.9333333333%;
  margin-top: 2.125rem;
  margin-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about__item:nth-child(4) {
    width: 13.125rem;
    margin-top: 6rem;
    margin-left: 2rem;
  }
}

.p-about__caution {
  font-size: 0.75rem;
  text-align: right;
  letter-spacing: 0.1em;
  margin-top: 2.125rem;
  margin-right: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-about__caution {
    margin-top: 2.25rem;
  }
}

.p-about__family {
  position: relative;
  margin-top: -0.625rem;
}
@media screen and (min-width: 768px) {
  .p-about__family {
    margin-top: 0.75rem;
  }
}

.p-about__circle {
  position: absolute;
  width: 8.4375rem;
  height: 15.5625rem;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-about__circle {
    width: 15.875rem;
    height: 25.0625rem;
    top: -40px;
  }
}

.p-about__line {
  display: block;
  position: absolute;
  aspect-ratio: 375/272;
  width: 100%;
  max-width: 100%;
  top: -9.25rem;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-about__line {
    display: none;
  }
}

.p-hope {
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1440px) {
  .p-hope {
    overflow: unset;
  }
}

.p-hope__title {
  color: #a56d35;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-hope__title {
    font-size: 2.5rem;
    line-height: 1.8;
  }
}

.p-hope__lists {
  margin-top: 1.75rem;
  counter-reset: li;
}
@media screen and (min-width: 768px) {
  .p-hope__lists {
    margin-top: 5.375rem;
  }
}

.p-hope__list {
  list-style: none;
  counter-increment: mycounter;
}
@media screen and (min-width: 768px) {
  .p-hope__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

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

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(3) {
    margin-top: 8.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(4) {
    margin-top: 10rem;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list-img {
    width: 40%;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(even) .p-hope__list-img {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(3) .p-hope__list-img {
    margin-top: 1.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(4) .p-hope__list-img {
    margin-top: 0.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list-box {
    width: 36.625rem;
    margin-top: -0.625rem;
    margin-left: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(even) .p-hope__list-box {
    margin-left: 0;
    margin-right: 3.75rem;
  }
}

.p-hope__list-title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.9090909091;
  letter-spacing: 0.1em;
  margin-top: 0.5rem;
  position: relative;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-hope__list-title {
    font-size: 2rem;
    line-height: 1.625;
    margin-left: 6.875rem;
  }
}

.p-hope__list-title::before {
  content: counter(mycounter, decimal-leading-zero);
  display: inline-block;
  position: absolute;
  top: -6.375rem;
  left: 0;
  color: #9fca84;
  font-size: 4.375rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-hope__list-title::before {
    top: 0;
    left: -6.875rem;
  }
}

.p-hope__list:nth-child(2) .p-hope__list-title,
.p-hope__list:nth-child(3) .p-hope__list-title {
  margin-top: 1.875rem;
}

.p-hope__list-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.4285714286;
  letter-spacing: 0.05em;
  margin-top: 0.375rem;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
  .p-hope__list-text {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(3) .p-hope__list-text {
    margin-top: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-hope__list:nth-child(4) .p-hope__list-text {
    margin-top: 1.25rem;
  }
}

.p-hope__circle {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-hope__circle {
    display: block;
    position: absolute;
    width: 15.8125rem;
    height: 27.0625rem;
    top: 6.125rem;
    right: 0;
    z-index: -1;
  }
}

.p-hope__line01 img,
.p-hope__line02 img,
.p-hope__line03 img,
.p-hope__line04 img,
.p-hope__line05 img {
  width: 100%;
}

.p-hope__line01 {
  position: absolute;
  aspect-ratio: 375/272;
  width: 100%;
  max-width: 100%;
  top: -2rem;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-hope__line01 {
    aspect-ratio: 1400/917;
    top: -2.125rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-hope__line01 {
    width: 100vw;
  }
}

.p-hope__line02-p {
  position: relative;
}

.p-hope__line02 {
  display: block;
  position: absolute;
  aspect-ratio: 375/309;
  width: calc(100% + 3.125rem);
  top: -17.5rem;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-hope__line02 {
    aspect-ratio: 1400/1097;
    width: 100vw;
    top: -4.875rem;
  }
}

.p-hope__line03-p {
  position: relative;
}

.p-hope__line03 {
  display: block;
  position: absolute;
  aspect-ratio: 375/309;
  width: calc(100% + 3.125rem);
  top: -16.5rem;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-hope__line03 {
    display: none;
  }
}

.p-hope__line04-p {
  position: relative;
}

.p-hope__line04 {
  display: block;
  position: absolute;
  aspect-ratio: 375/309;
  width: calc(100% + 3.125rem);
  top: -16.875rem;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-hope__line04 {
    display: none;
  }
}

.p-hope__line05 {
  display: block;
  position: absolute;
  aspect-ratio: 375/309;
  width: 100%;
  max-width: 100%;
  bottom: -5.625rem;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-hope__line05 {
    display: none;
  }
}