@charset "UTF-8";
/* A Modern CSS Reset */
* {
  margin: 0;
  padding: 0;
}

*,
::before,
::after {
  border-style: solid;
  box-sizing: border-box;
  border-width: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  background-color: transparent;
  text-decoration: none;
  text-decoration-skip-ink: auto;
}

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

input,
button,
select,
textarea {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  border-radius: 0;
  background: transparent;
  font: inherit;
  outline: none;
}

textarea {
  resize: none;
}

input[type="checkbox"],
input[type="radio"] {
  display: none;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

body {
  color: #333333;
}

main {
  overflow: hidden;
}

html {
  font-size: 16px;
}
@media (max-width: 390px) {
  html {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.2030075188vw;
  }
}
@media (min-width: 1330px) {
  html {
    font-size: 16px;
  }
}

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

html.fixed,
html.fixed body {
  height: 100%;
  overflow: hidden;
}

.top-header {
  position: fixed;
  top: 0; /* ヘッダーの高さ分マイナス */
  left: 0;
  width: 100%;
  transition: top 0.7s; /* トランジションをスムーズに */
  -webkit-transition: top 0.3s; /* ベンダープレフィックスを追加 */
  -moz-transition: top 0.3s;
  -o-transition: top 0.3s;
  z-index: 1000;
  padding: 0.625rem 1.25rem;
  z-index: 1000;
  background-color: #faf9f6;
}
@media screen and (min-width: 768px) {
  .top-header {
    top: -130px; /* ヘッダーの高さ分マイナス */
  }
}
.top-header .top-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .top-header .top-header__inner {
    max-width: 90rem;
    margin-right: auto;
    margin-left: auto;
  }
}
.top-header .top-header__inner .header__logo {
  width: 4.875rem;
  height: auto;
  z-index: 1200;
}
@media screen and (min-width: 768px) {
  .top-header .top-header__inner .header__logo {
    width: 7.5rem;
    margin-top: -0.625rem;
    margin-left: 1.25rem;
  }
}
.top-header .top-header__inner .header__nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .top-header .top-header__inner .header__nav {
    display: block;
    margin-top: 0.625rem;
  }
}

.top-header.show {
  top: 0;
}

.top-main {
  margin-top: 4rem;
  background-color: rgba(255, 218, 185, 0.46);
}
@media screen and (min-width: 768px) {
  .top-main {
    margin-top: 0;
  }
}

.footer {
  background-color: rgba(250, 249, 246, 0.5);
  padding: 1.25rem 0 0.625rem 0;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 2.5rem 0 0.625rem 0;
  }
}
.footer .footer__inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4.375rem;
}
@media screen and (min-width: 768px) {
  .footer .footer__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.footer .footer__inner .footer__left {
  width: 25%;
}
@media screen and (min-width: 768px) {
  .footer .footer__inner .footer__left {
    width: 10%;
  }
}
.footer .footer__inner .footer__left img {
  width: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .footer .footer__inner .footer__left img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .footer .footer__inner .footer__right {
    padding-top: 0;
    width: initial;
  }
}
@media screen and (min-width: 768px) {
  .footer .footer__inner .footer__right ul {
    width: 100%;
    display: flex;
    flex: 1;
  }
}
.footer .footer__inner .footer__right ul li {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .footer .footer__inner .footer__right ul li {
    padding: 0.625rem 0;
  }
}
.footer .footer__inner .footer__right ul li a {
  display: block;
  color: #333333;
  padding: 0.625rem 0;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .footer .footer__inner .footer__right ul li a {
    padding: 0.625rem 1.25rem;
    font-size: 1.25rem;
    text-align: center;
  }
}
.footer .footer__sns {
  margin-top: 1.875rem;
  width: 1.875rem;
  margin-left: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .footer .footer__sns {
    margin-top: 0.625rem;
    margin-left: 2.5rem;
  }
}
.footer .footer__sns ul li {
  display: block;
}
.footer .footer__bottom {
  margin-top: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer .footer__bottom {
    margin-top: 0.625rem;
  }
}
.footer .footer__bottom small {
  font-size: 1rem;
  color: #333333;
}
@media screen and (min-width: 768px) {
  .footer .footer__bottom small {
    font-size: 1rem;
  }
}

.inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 77.75rem;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.top-btn {
  margin-top: 0.625rem;
  padding: 0.625rem;
}
.top-btn a {
  display: flex;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  background-color: transparent;
  padding: 0.625rem;
  color: #333333;
  border-radius: 6.25rem;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
  transition: 0.2s ease;
  justify-content: center;
  align-items: center;
  border: 1px solid #333333;
}
.top-btn a:hover {
  background-color: #666666;
  box-shadow: none;
  color: #faf9f6;
}
.top-btn span {
  display: block;
  margin-left: 0.5rem;
  transition: transform 0.2s ease;
}
.top-btn span svg {
  width: 100%;
}

.top-btn a:hover span {
  transform: translateX(0.25rem);
}

.section-title {
  text-align: center;
}
.section-title h2 {
  display: inline-block;
  text-align: center;
  border-bottom: 3px solid #e48343;
  font-family: "Poppins", sans-serif;
  padding: 0 0.5rem;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: normal;
  border-radius: 1.5px;
}
@media screen and (min-width: 768px) {
  .section-title h2 {
    font-size: 3.75rem;
  }
}
.section-title p {
  font-family: "Poppins", sans-serif;
  text-align: center;
  margin-top: 0.1875rem;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .section-title p {
    font-size: 2.125rem;
  }
}

.top-hum {
  width: 1.875rem;
  height: 1.5rem;
  position: absolute;
  top: 1.5625rem;
  right: 1.25rem;
  display: inline-block;
  z-index: 1200;
}
@media screen and (min-width: 768px) {
  .top-hum {
    display: none;
  }
}
.top-hum span {
  display: block;
  margin-top: 0.375rem;
  width: 100%;
  height: 0.25rem;
  background-color: #333333;
  border-radius: 4px;
  transition: all 0.5s;
}
.top-hum span:first-child {
  margin-top: 0;
}

.top-hum.active span {
  background-color: #faf9f6;
}

.top-hum span:nth-of-type(1) {
  -webkit-animation: btn07-bar01 0.75s forwards;
  animation: btn07-bar01 0.75s forwards;
}

@-webkit-keyframes btn07-bar01 {
  0% {
    -webkit-transform: translateY(0.625rem) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(0.625rem) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn07-bar01 {
  0% {
    transform: translateY(0.625rem) rotate(45deg);
  }
  50% {
    transform: translateY(0.625rem) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.top-hum span:nth-of-type(2) {
  transition: all 0.25s 0.25s;
  opacity: 1;
}

.top-hum span:nth-of-type(3) {
  -webkit-animation: btn07-bar03 0.75s forwards;
  animation: btn07-bar03 0.75s forwards;
}

@-webkit-keyframes btn07-bar03 {
  0% {
    -webkit-transform: translateY(-0.625rem) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-0.625rem) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn07-bar03 {
  0% {
    transform: translateY(-0.625rem) rotate(-45deg);
  }
  50% {
    transform: translateY(-0.625rem) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.top-hum.active span:nth-of-type(1) {
  -webkit-animation: active-btn07-bar01 0.75s forwards;
  animation: active-btn07-bar01 0.75s forwards;
}

@-webkit-keyframes active-btn07-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(0.625rem) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0.625rem) rotate(45deg);
  }
}
@keyframes active-btn07-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(0.625rem) rotate(0);
  }
  100% {
    transform: translateY(0.625rem) rotate(45deg);
  }
}
.top-hum.active span:nth-of-type(2) {
  opacity: 0;
}

.top-hum.active span:nth-of-type(3) {
  -webkit-animation: active-btn07-bar03 0.75s forwards;
  animation: active-btn07-bar03 0.75s forwards;
}

@-webkit-keyframes active-btn07-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-0.625rem) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-0.625rem) rotate(-45deg);
  }
}
@keyframes active-btn07-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-0.625rem) rotate(0);
  }
  100% {
    transform: translateY(-0.625rem) rotate(-45deg);
  }
}
.header-nav {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background-color: #666666;
  padding-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .header-nav {
    position: initial;
    background-color: initial;
    width: initial;
    height: initial;
    top: initial;
    left: initial;
    padding-top: initial;
  }
}
.header-nav .header-nav__items {
  display: inline-flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .header-nav .header-nav__items {
    display: inline-flex;
    flex-direction: row;
    align-items: start;
  }
}
.header-nav .header-nav__items .header-nav__item {
  text-align: center;
  padding: 0.9375rem 1.875rem;
}
@media screen and (min-width: 768px) {
  .header-nav .header-nav__items .header-nav__item {
    padding: 0 1.875rem;
  }
}
.header-nav .header-nav__items .header-nav__item a {
  position: relative;
  font-family: "Poppins", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #faf9f6;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .header-nav .header-nav__items .header-nav__item a {
    font-size: 1.5rem;
    color: #000;
    width: inherit;
  }
}
.header-nav .header-nav__items .header-nav__item a span {
  border-bottom: 1px solid rgba(51, 51, 51, 0.3);
  display: block;
  text-align: center;
  font-weight: 500;
  font-size: 1rem;
  padding-bottom: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .header-nav .header-nav__items .header-nav__item a span {
    font-size: 1.125rem;
    border-bottom: initial;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__items li a::after {
    content: "";
    position: absolute;
    bottom: 0.625rem;
    left: 0;
    width: 100%;
    height: 2px;
    background: #e48343;
    transition: all 0.3s;
    transform: scale(0, 1);
    transform-origin: left top;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__items li a:hover::after {
    transform: scale(1, 1);
  }
}

.top-header .top-header__inner .header-nav.open {
  display: block;
  transition: all 0.5s;
}

.header-nav .header-nav__item--application {
  padding: 0.9375rem 0.9375rem !important;
}
.header-nav .header-nav__item--application a {
  position: initial !important;
  background-color: rgba(228, 131, 67, 0.7);
  padding: 0.9375rem 0.9375rem;
  color: #faf9f6 !important;
  border-radius: 0.625rem;
  box-shadow: 0.25rem 0.25rem 0.25rem 0 rgba(51, 51, 51, 0.3);
}
@media screen and (min-width: 768px) {
  .header-nav .header-nav__item--application a {
    background-color: #e48343;
    padding: 0.625rem 0.625rem;
  }
}
.header-nav .header-nav__item--application a:hover {
  box-shadow: none;
}

@media screen and (min-width: 768px) {
  .header-nav__items .header-nav__item--application a::after {
    content: "";
    position: initial;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__items .header-nav__item--application a:hover::after {
    transform: initial;
  }
}

.top-mv {
  width: 100vw;
}
.top-mv .top-mv__video {
  width: 100%;
}

.about-mv {
  position: relative;
}
.about-mv img {
  opacity: 0.7;
  width: 100vw;
  height: auto;
  object-fit: cover;
}
.about-mv .about-mv__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.about-mv .about-mv__inner h2 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  color: #faf9f6;
  text-shadow: 0.125rem 0.125rem 0.25rem #333333;
}
@media screen and (min-width: 768px) {
  .about-mv .about-mv__inner h2 {
    font-size: 3.75rem;
  }
}

.test {
  font-size: 1rem;
  color: red;
}
@media screen and (min-width: 768px) {
  .test {
    font-size: 3.125rem;
    color: green;
  }
}

.top-about {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 3px dashed #666666;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .top-about {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.top-about::after {
  content: "";
  position: absolute;
  bottom: -60px;
  left: -188px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 14.53125rem 16.875rem 14.53125rem;
  border-color: transparent transparent #dded7a transparent;
  transform: rotate(229.5deg);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .top-about::after {
    bottom: -119px;
    left: -506px;
    border-width: 0 45.456875rem 47.956875rem 45.456875rem;
    transform: rotate(226.5deg);
  }
}

.top-about__wrap {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .top-about__wrap {
    margin-top: 5rem;
  }
}
.top-about__wrap p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin-top: 2.5rem;
  font-size: 0.9375rem;
  line-height: 250%;
}
@media screen and (min-width: 768px) {
  .top-about__wrap p {
    margin-top: 5rem;
    font-size: 2rem;
  }
}
.top-about__wrap p:first-child {
  margin-top: 0;
}
.top-about__wrap img {
  transform: translateX(1.25rem) !important;
  margin-top: 2.5rem;
  border-radius: 0.625rem 0 0 0.625rem;
  aspect-ratio: 709/655;
  width: 90%;
  margin-left: auto;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .top-about__wrap img {
    transform: translateX(9.625rem) !important;
    aspect-ratio: 899/615;
    border-radius: 0.625rem;
  }
}

.font-pop {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
}

.top-features {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .top-features {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

.top-feature__items {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .top-feature__items {
    margin-top: 5rem;
  }
}
.top-feature__items .top-feature__item {
  margin-top: 3.125rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .top-feature__items .top-feature__item {
    margin-top: 7.5rem;
    width: 100%;
    display: flex;
    gap: 4rem;
    align-items: center;
  }
}
.top-feature__items .top-feature__item:first-child {
  margin-top: 0;
}
.top-feature__items .top-feature__item img {
  aspect-ratio: 318/207;
  width: 100%;
  object-fit: cover;
  border-radius: 0.625rem;
  box-shadow: 0.1875rem 0.1875rem 1.875rem 0px #f2b884;
}
@media screen and (min-width: 768px) {
  .top-feature__items .top-feature__item img {
    aspect-ratio: 688/435;
    width: 50%;
  }
}
.top-feature__items .top-feature__item .top-feature__text {
  padding-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .top-feature__items .top-feature__item .top-feature__text {
    padding-top: 0;
  }
}
.top-feature__items .top-feature__item .top-feature__text h3 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .top-feature__items .top-feature__item .top-feature__text h3 {
    font-size: 2rem;
  }
}
.top-feature__items .top-feature__item .top-feature__text p {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 10px;
  color: #666666;
}
@media screen and (min-width: 768px) {
  .top-feature__items .top-feature__item .top-feature__text p {
    font-size: 1.625rem;
    margin-top: 20px;
  }
}
.top-feature__items .top-feature__btn {
  width: 100%;
  margin-top: 20px;
}
.top-feature__items .top-feature__item--right {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .top-feature__items .top-feature__item--right {
    margin-left: initial;
    flex-direction: row-reverse;
  }
}

.top-feature__coment {
  border-radius: 2.5rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .top-feature__coment {
    margin-top: 7.5rem;
  }
}
.top-feature__coment h4 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 180%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .top-feature__coment h4 {
    font-size: 2.25rem;
  }
}

.top-cta img {
  width: 100vw;
  z-index: -1;
}

.top-cta2 {
  position: relative;
}
.top-cta2 img {
  opacity: 0.7;
  width: 100vw;
  height: 21.875rem;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .top-cta2 img {
    height: 34.375rem;
  }
}
.top-cta2 .top-cta2__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top-cta2 .top-cta2__inner h2 {
  color: #faf9f6;
  text-align: center;
  font-family: "Poppins", sans-serif;
  font-size: 1.875rem;
  text-shadow: 0.125rem 0.125rem 0.25rem #333333;
}
@media screen and (min-width: 768px) {
  .top-cta2 .top-cta2__inner h2 {
    font-size: 3.75rem;
  }
}

.top-cta2__btn {
  margin-top: 0rem;
}
@media screen and (min-width: 768px) {
  .top-cta2__btn {
    margin-top: 2.5rem;
  }
}
.top-cta2__btn a {
  width: 70%;
  margin: 0 auto;
  color: #faf9f6;
  border: 1px solid #faf9f6;
  padding: 0.625rem 0.625rem;
  font-size: 1.375rem;
}
@media screen and (min-width: 768px) {
  .top-cta2__btn a {
    padding: 1.25rem 1.25rem;
    font-size: 2.5rem;
  }
}

.top-join {
  padding: 3.75rem 0;
}
@media screen and (min-width: 768px) {
  .top-join {
    padding: 7.5rem 0;
  }
}
.top-join .top-join__inner {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
}
.top-join .top-join__inner .top-join__items {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .top-join .top-join__inner .top-join__items {
    margin-top: 5rem;
  }
}
.top-join .top-join__inner .top-join__items .top-join__item {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .top-join .top-join__inner .top-join__items .top-join__item {
    margin-top: 3.75rem;
  }
}
.top-join .top-join__inner .top-join__items .top-join__item:first-child {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .top-join .top-join__inner .top-join__items .top-join__item .top-join__img {
    width: 50%;
    margin-right: auto;
    margin-left: auto;
  }
}
.top-join .top-join__inner .top-join__items .top-join__item .top-join__img h3 {
  display: inline-flex;
  align-items: center;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #333333;
}
@media screen and (min-width: 768px) {
  .top-join
    .top-join__inner
    .top-join__items
    .top-join__item
    .top-join__img
    h3 {
    font-size: 2rem;
  }
}
.top-join
  .top-join__inner
  .top-join__items
  .top-join__item
  .top-join__img
  h3
  span {
  display: block;
  font-size: 1.75rem;
  color: #8b4513;
  margin-right: 0.5rem;
}
@media screen and (min-width: 768px) {
  .top-join
    .top-join__inner
    .top-join__items
    .top-join__item
    .top-join__img
    h3
    span {
    font-size: 2.25rem;
  }
}
.top-join .top-join__inner .top-join__items .top-join__item .top-join__img img {
  aspect-ratio: 350/235;
  object-fit: cover;
  border-radius: 0.625rem;
  box-shadow: 0.25rem 0.25rem 1.25rem 0px rgba(0, 0, 0, 0.2);
  width: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .top-join
    .top-join__inner
    .top-join__items
    .top-join__item
    .top-join__img
    img {
    margin-top: 1.25rem;
  }
}
.top-join .top-join__inner .top-join__items .top-join__item .top-join__text {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .top-join .top-join__inner .top-join__items .top-join__item .top-join__text {
    margin-top: 2.5rem;
  }
}
.top-join .top-join__inner .top-join__items .top-join__item .top-join__text p {
  color: #666666;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .top-join
    .top-join__inner
    .top-join__items
    .top-join__item
    .top-join__text
    p {
    font-size: 1.75rem;
    text-align: center;
  }
}
.top-join
  .top-join__inner
  .top-join__items
  .top-join__item
  .top-join__text
  .top-join__btn {
  width: 50%;
  margin-right: auto;
  margin-left: auto;
}
.top-join
  .top-join__inner
  .top-join__items
  .top-join__item
  .top-join__text
  .top-join__btn
  a {
  font-size: 1.125rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  color: #666666;
  border-radius: 0.3125rem;
  padding: 0.3125rem;
  border: 1px solid #666666;
}
.top-join
  .top-join__inner
  .top-join__items
  .top-join__item
  .top-join__text
  .top-join__btn
  a:hover {
  color: #faf9f6;
}

@media screen and (min-width: 768px) {
  .top-join__arrow {
    text-align: center;
    margin-top: 5rem;
    width: 100%;
  }
}

.about-pagelink {
  padding: 2.5rem 0;
  border-bottom: 3px dashed #666666;
}
@media screen and (min-width: 768px) {
  .about-pagelink {
    padding: 2.5rem 0;
  }
}
@media screen and (min-width: 768px) {
  .about-pagelink .about-pagelink__inner ul {
    width: 80%;
    display: flex;
    justify-content: space-between;
    margin-right: auto;
    margin-left: auto;
  }
}
.about-pagelink .about-pagelink__inner ul li {
  text-align: center;
}
.about-pagelink .about-pagelink__inner ul li a {
  font-size: 1.5rem;
  color: #8b4513;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  text-align: center;
  display: block;
  padding: 1.25rem;
}

.about-schedule {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .about-schedule {
    padding-top: 10rem;
  }
}
.about-schedule .about-suchedule__wrap {
  padding-top: 2.5rem;
  width: 100%;
  max-width: 62.5rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .about-schedule .about-suchedule__wrap {
    padding-top: 5rem;
  }
}
.about-schedule .about-suchedule__wrap img {
  aspect-ratio: 1280/1280;
  width: 100%;
  height: auto;
  max-width: 62.5rem;
  object-fit: contain;
  border-radius: 0.625rem;
}
.about-schedule .about-suchedule__wrap .about-suchedule__text {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about-schedule .about-suchedule__wrap .about-suchedule__text {
    margin-top: 2.5rem;
  }
}
.about-schedule .about-suchedule__wrap .about-suchedule__text h3 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .about-schedule .about-suchedule__wrap .about-suchedule__text h3 {
    font-size: 1.5rem;
  }
}
.about-schedule .about-suchedule__wrap .about-suchedule__text h3 span {
  margin-left: 1rem;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .about-schedule .about-suchedule__wrap .about-suchedule__text h3 span {
    font-size: 1.25rem;
  }
}
.about-schedule .about-suchedule__wrap .about-suchedule__text h3 span svg {
  display: block;
  height: inherit;
}
.about-schedule .about-suchedule__wrap .about-suchedule__text p {
  font-size: 1rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about-schedule .about-suchedule__wrap .about-suchedule__text p {
    font-size: 1.25rem;
  }
}
.about-schedule .about-suchedule__wrap .about-suchedule__text p span svg {
  display: block;
  margin-right: 0.5rem;
  height: inherit;
}
.about-schedule .about-suchedule__wrap .about-suchedule__text p:last-child {
  text-indent: calc(1em + 0.5rem);
}

.about-class {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .about-class {
    padding-top: 10rem;
  }
}
.about-class .about-class__items {
  padding-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .about-class .about-class__items {
    padding-top: 5rem;
  }
}
.about-class .about-class__items .about-class__item {
  position: relative;
}
.about-class .about-class__items .about-class__item img {
  aspect-ratio: 398/490;
  width: 100%;
  object-fit: cover;
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .about-class .about-class__items .about-class__item img {
    aspect-ratio: 1440/800;
  }
}
.about-class .about-class__items .about-class__item .about-class__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(250, 249, 246, 0.8);
  width: 80%;
  padding: 1.25rem 1.25rem;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about-class .about-class__items .about-class__item .about-class__text {
    width: 60%;
    padding: 6.25rem 0.625rem;
  }
}
.about-class .about-class__items .about-class__item .about-class__text h3 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .about-class .about-class__items .about-class__item .about-class__text h3 {
    font-size: 2rem;
    width: 50%;
    margin: 0 auto;
  }
}
.about-class .about-class__items .about-class__item .about-class__text p {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 1.25rem;
  letter-spacing: normal;
  line-height: 160%;
}
@media screen and (min-width: 768px) {
  .about-class .about-class__items .about-class__item .about-class__text p {
    font-size: 1.375rem;
    width: 70%;
    margin: 2.5rem auto;
    line-height: 180%;
  }
}

.instructor {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .instructor {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
.instructor .instructor__inner ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .instructor .instructor__inner ul {
    gap: 2.5rem;
    margin-top: 5rem;
  }
}
.instructor .instructor__inner ul li {
  width: calc((100% - 1.25rem) / 2);
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .instructor .instructor__inner ul li {
    width: calc((100% - 5rem) / 3);
    margin-top: 3.75rem;
  }
}
.instructor .instructor__inner ul li:first-child {
  margin-top: 0;
}
.instructor .instructor__inner ul li:nth-child(2) {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .instructor .instructor__inner ul li:nth-child(3) {
    margin-top: 0;
  }
}
.instructor .instructor__inner ul li img {
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0.25rem 0.25rem 1.25rem 0 rgba(139, 69, 19, 0.2);
}
.instructor .instructor__inner ul li .instructor__sns {
  margin-top: 0.625rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .instructor .instructor__inner ul li .instructor__sns {
    margin-top: 1.25rem;
  }
}
.instructor .instructor__inner ul li .instructor__sns p {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .instructor .instructor__inner ul li .instructor__sns p {
    font-size: 1.75rem;
  }
}
.instructor .instructor__inner ul li .instructor__sns img {
  border-radius: initial;
  width: 1.625rem;
  height: 1.625rem;
  margin: 0.625rem auto 0;
}
@media screen and (min-width: 768px) {
  .instructor .instructor__inner ul li .instructor__sns img {
    width: 2rem;
    height: 2rem;
    margin: 1.25rem auto 0;
  }
}

.price {
  padding: 5rem 0;
}
@media screen and (min-width: 768px) {
  .price {
    padding: 10rem 0;
  }
}
.price .price__wrap {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .price .price__wrap {
    margin-top: 5rem;
    width: 50%;
    margin-right: auto;
    margin-left: auto;
  }
}
.price .price__wrap dl {
  display: flex;
  border-bottom: 1px solid rgba(102, 102, 102, 0.3);
  padding: 0.625rem 0;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .price .price__wrap dl {
    padding: 1.25rem 0;
  }
}
.price .price__wrap dl dt {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-size: 1.25rem;
  width: 50%;
}
@media screen and (min-width: 768px) {
  .price .price__wrap dl dt {
    font-size: 1.5rem;
  }
}
.price .price__wrap dl dd {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .price .price__wrap dl dd {
    font-size: 1.375rem;
  }
}
.price .price__wrap p {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  margin-top: 0.625rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .price .price__wrap p {
    font-size: 1.25rem;
    margin-top: 1.25rem;
  }
}
.price .price__wrap p:nth-of-type(2) {
  margin-top: 0.3125rem;
}

.access {
  padding: 5rem 0;
}
@media screen and (min-width: 768px) {
  .access {
    padding: 10rem 0;
  }
}
.access .access__wrap {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .access .access__wrap {
    margin-top: 5rem;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
  }
}
.access .access__wrap .access__info dl {
  display: flex;
  border-bottom: 1px solid rgba(102, 102, 102, 0.3);
  padding: 0.625rem 0;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .access .access__wrap .access__info dl {
    padding: 1.25rem 0;
  }
}
.access .access__wrap .access__info dl dt {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-size: 1.25rem;
  width: 30%;
}
@media screen and (min-width: 768px) {
  .access .access__wrap .access__info dl dt {
    font-size: 1.5rem;
  }
}
.access .access__wrap .access__info dl dd {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .access .access__wrap .access__info dl dd {
    font-size: 1.375rem;
  }
}
.access .access__wrap .access__map {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .access .access__wrap .access__map {
    margin-top: 5rem;
  }
}
.access .access__wrap .access__map iframe {
  width: 100%;
  height: 18.75rem;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .access .access__wrap .access__map iframe {
    height: 31.25rem;
  }
}

.contact {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .contact {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}

.contact-form {
  margin-top: 2.5rem;
}

.wpcf7 {
  margin-top: 3.75rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .wpcf7 {
    max-width: 43.75rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.wpcf7 label {
  display: flex;
  width: 100%;
}

.wpcf7 input {
  background-color: #faf9f6;
  padding: 0.3125rem 0.5rem;
  border-radius: 0.5rem;
  width: inherit;
}
@media screen and (min-width: 768px) {
  .wpcf7 input {
    width: initial;
  }
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  flex: 1;
}

.wpcf7 textarea {
  background-color: #faf9f6;
  width: 100%;
}

.contact-text p {
  width: 100%;
  flex-direction: column;
  align-items: initial !important;
}

.contact-text p label {
  display: block;
  width: 100%;
}

.wpcf7-form p {
  display: flex;
  flex-direction: column;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .wpcf7-form p {
    margin-top: 0;
    flex-direction: row;
    align-items: center;
    margin-top: 1.25rem;
  }
}

.contact-form .wpcf7-form p:nth-of-type(4) {
  position: relative;
}
.contact-form .wpcf7-form p:nth-of-type(4)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #666666 transparent transparent transparent;
  top: 3rem;
  right: 1.0625rem;
  position: absolute;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .contact-form .wpcf7-form p:nth-of-type(4)::after {
    top: 0.8125rem;
    right: 1.0625rem;
  }
}

.contact-form .wpcf7-form p:nth-of-type(5) {
  position: relative;
}
.contact-form .wpcf7-form p:nth-of-type(5)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #666666 transparent transparent transparent;
  position: absolute;
  top: 3rem;
  right: 1.0625rem;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .contact-form .wpcf7-form p:nth-of-type(5)::after {
    top: 0.8125rem;
    right: 1.0625rem;
  }
}

.wpcf7-form p label {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .wpcf7-form p label {
    width: 11.25rem;
  }
}

.wpcf7-form p span {
  display: flex;
  flex: 1;
  margin-top: -0.875rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .wpcf7-form p span {
    margin-top: 0;
  }
}

.wpcf7-form p span textarea {
  padding: 0.3125rem 0.5rem;
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .wpcf7-form p span textarea {
    flex: 1;
  }
}

.wpcf7-form select {
  background-color: #faf9f6;
  padding: 0.3125rem 0.5rem;
  border-radius: 0.5rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  flex: 1;
  position: relative;
}

.hissu {
  color: #8b4513;
  margin-left: 0.25rem;
  font-size: 1.125rem;
  margin-top: initial !important;
  display: initial !important;
}

input[type="submit"] {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  background-color: #e48343;
  padding: 0.625rem 2.5rem;
  color: #333333;
  border-radius: 6.25rem;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
  transition: 0.2s ease;
  margin: 1.25rem auto 0;
}
input[type="submit"]:hover {
  box-shadow: none;
  color: #faf9f6;
}

.wpcf7-spinner {
  display: none !important;
}

.contact2-form {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .contact2-form {
    margin-top: 2.5rem;
  }
}

.contact2-form__text {
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: normal;
  font-family: "M PLUS Rounded 1c", sans-serif;
  margin-bottom: 2.5rem;
}

.contact-line {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .contact-line {
    flex-direction: row;
  }
}

.contact-line p {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 120%;
}

.contact-line a img {
  width: 7.25rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .contact-line a img {
    width: initial;
  }
}

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

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
} /*# sourceMappingURL=style.css.map */

/* ニュース投稿ページの見出しスタイル */
.news-single__content h1 {
  font-size: 2.4rem;
  font-weight: bold;
  margin: 2rem 0 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #333;
}

.news-single__content h1::before {
  content: "・";
  display: inline;
  width: 100%;
  color: #e48343;
}
.news-single__content h2 {
  font-size: 2rem;
  font-weight: bold;
  margin: 1.8rem 0 1.2rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid #666;
  color: #e48343;
}

.news-single__content h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 1.5rem 0 1rem;
  color: #444;
}

.news-single__content .wp-block-group {
  margin-top: 2rem !important;
  gap: 2rem !important;
}
/* ニュース投稿ページの画像スタイル */
.news-single__content {
  width: 100%;
}

.news-single__content figure:last-child {
  margin-right: 0 !important;
}

.news-single__content figure img {
  width: 100% !important;
  height: auto !important;
  display: block;
}

/*# sourceMappingURL=style.css.map */
