@charset "UTF-8";
@font-face {
  font-family: din;
  src: url(../otf/din-2014.otf)
}
body {
  font-family: Noto Sans JP, sans-serif
}
@media screen and (max-width: 768px) {
  .u-desktop {
    display: none
  }
}
.u-mobile {
  display: none
}
@media screen and (max-width: 768px) {
  .u-mobile {
    display: block
  }
}
main {
  overflow: hidden
}
html {
  font-size: 16px
}
@media (max-width: 1300px) {
  html {
    font-size: 1.2307692308vw
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 16px
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw
  }
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none
  }
}
a {
  text-decoration: none;
  color: inherit;
  transition: opacity .3s
}
@media screen and (max-width: 768px) {
  a:hover {
    opacity: .8
  }
}
*, *:before, *:after {
  box-sizing: border-box
}
ul, ol {
  padding: 0
}
body, h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd {
  margin: 0
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 5rem
}
@media screen and (max-width: 768px) {
  html {
    scroll-padding-top: 3.9375rem
  }
}
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  letter-spacing: .04em
}
ul, ol {
  list-style: none
}
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto
}
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto
}
article>*+* {
  margin-top: 1em
}
input, button, textarea, select {
  font: inherit
}
img:not([alt]) {
  filter: blur(10px)
}
input, button, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none
}
textarea {
  resize: vertical
}
input[type=checkbox], input[type=radio] {
  display: none
}
input[type=submit], input[type=button], label, button, select {
  cursor: pointer
}
select::-ms-expand {
  display: none
}
picture {
  display: block
}
button {
  display: block;
  padding: 0;
  width: 100%
}
.c-btn {
  padding: .625rem 2.5rem;
  background-color: #000;
  color: #ff0
}
.c-hamburger {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #fff
}
.c-hamburger span {
  position: absolute;
  display: inline-block;
  background-color: #442906;
  height: 1px;
  width: 1.875rem;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all .45s
}
.c-hamburger span:nth-child(1) {
  top: calc(50% - .625rem)
}
.c-hamburger span:nth-child(2) {
  top: 50%
}
.c-hamburger span:nth-child(3) {
  top: calc(50% + .625rem)
}
.c-hamburger.is-active span:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg)
}
.c-hamburger.is-active span:nth-child(2) {
  opacity: 0
}
.c-hamburger.is-active span:nth-child(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg)
}
.c-text {
  font-size: 1rem;
  letter-spacing: .05em
}
.c-title {
  position: relative;
  z-index: 1
}
.c-title__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: .3125rem
}
.c-title__main span {
  font-size: 4.75rem;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.4473684211;
  padding-inline: .3125rem
}
@media screen and (max-width: 768px) {
  .c-title__main span {
    font-size: 2rem;
    line-height: 1.4375
  }
}
.c-title__main span small {
  font-size: 4.125rem;
  line-height: 1.4545454545
}
@media screen and (max-width: 768px) {
  .c-title__main span small {
    font-size: 2rem;
    line-height: 1.4375
  }
}
.c-title__en {
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  font-style: italic;
  margin-top: 1.25rem
}
@media screen and (max-width: 768px) {
  .c-title__en {
    margin-top: .3125rem
  }
}
.l-inner {
  margin: 0 auto;
  width: 100%;
  height: inherit;
  max-width: calc(68.75rem + 50px);
  padding-right: 25px;
  padding-left: 25px
}
@media screen and (max-width: 768px) {
  .l-inner {
    max-width: 33.75rem;
    padding-right: 1.875rem;
    padding-left: 1.875rem
  }
}
.l-section {
  position: relative;
  padding-top: 5rem;
  border-top: 2.5rem solid
}
@media screen and (max-width: 768px) {
  .l-section {
    padding-top: 2.5rem
  }
}
.l-section:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 8.375rem;
  top: 0rem;
  left: 0;
  -webkit-mask: url(../img/bg.png) top left/auto 100% repeat-x;
  mask: url(../img/bg.png) top left/auto 100% repeat-x
}
.l-section--yellow {
  border-color: #fbf006
}
.l-section--yellow:after {
  background-color: #fbf006
}
.l-section--gray {
  border-color: #efefef
}
.l-section--gray:after {
  background-color: #efefef
}
.l-section--white {
  border-color: #fff
}
.l-section--white:after {
  background-color: #fff
}
.p-access {
  padding-bottom: 7.5rem
}
@media screen and (max-width: 768px) {
  .p-access {
    padding-bottom: 2.8125rem
  }
}
.p-access__inner {
  max-width: calc(56.25rem + 50px)
}
.p-access__title .c-title__en {
  position: relative;
  margin-top: 3.3125rem
}
@media screen and (max-width: 768px) {
  .p-access__title .c-title__en {
    margin-top: 1.875rem
  }
}
.p-access__title .c-title__en:before {
  position: absolute;
  content: "";
  width: 1.75rem;
  height: .625rem;
  left: 50%;
  transform: translate(-50%);
  top: -1.875rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='10'%20viewBox='0%200%2028%2010'%3e%3cg%20id='グループ_42892'%20data-name='グループ%2042892'%20transform='translate(-167.347%20-1059.237)'%3e%3cpath%20id='パス_47580'%20data-name='パス%2047580'%20d='M354.052,1087.4l6.152-6.492a.915.915,0,0,1,1.292,0l6.153,6.492a.75.75,0,0,1-.647,1.241H354.7A.75.75,0,0,1,354.052,1087.4Z'%20transform='translate(-172.503%20-19.404)'%20fill='%23fbf006'/%3e%3cpath%20id='パス_47579'%20data-name='パス%2047579'%20d='M337.249,1089.089l7.911-8.115a1.2,1.2,0,0,1,1.661,0l7.91,8.115c.6.613.095,1.552-.831,1.552H338.081C337.154,1090.641,336.652,1089.7,337.249,1089.089Z'%20transform='translate(-169.643%20-21.404)'%20fill='%23008d47'/%3e%3c/g%3e%3c/svg%3e") center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-access__title .c-title__en:before {
    top: -.9375rem
  }
}
.p-access__box {
  padding: 2.5rem;
  border: .25rem solid #FBF006;
  background-color: #fffeea;
  border-radius: .625rem;
  margin-top: 3.75rem
}
@media screen and (max-width: 768px) {
  .p-access__box {
    margin-top: 1.25rem;
    padding: 1.25rem
  }
}
.p-access__map iframe {
  aspect-ratio: 820/563;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: .625rem
}
.p-access__figure {
  margin-top: 1.875rem
}
@media screen and (max-width: 768px) {
  .p-access__figure {
    margin-top: 1.25rem
  }
}
.p-access__point {
  margin-top: 1.25rem
}
.p-block {
  position: relative;
  padding-block: 7.5rem
}
@media screen and (max-width: 768px) {
  .p-block {
    padding-block: 3.75rem
  }
}
.p-block:before {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  width: 10.375rem;
  height: 100%;
  -webkit-mask: url(../img/bg_vector.svg) top center/100% auto repeat-y;
  mask: url(../img/bg_vector.svg) top center/100% auto repeat-y
}
.p-block.u-bg-gray:before {
  background-color: #fff
}
.p-block.u-bg-khaki:before {
  background-color: #e0dfc9
}
.p-block.u-bg-white:before {
  background-color: #efefef
}
.p-block__inner {
  position: relative
}
.p-block__title {
  font-size: 3.125rem;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.25
}
@media screen and (max-width: 768px) {
  .p-block__title {
    font-size: 2rem
  }
}
.p-block__title strong {
  position: relative;
  font-weight: 700;
  font-size: 5rem;
  z-index: 1
}
@media screen and (max-width: 768px) {
  .p-block__title strong {
    font-size: 2.75rem;
    line-height: 1.4545454545
  }
}
.p-block__title strong:before {
  position: absolute;
  content: "";
  width: 100%;
  height: .875rem;
  background-color: #fbf006;
  left: 0;
  bottom: .375rem;
  z-index: -1
}
@media screen and (max-width: 768px) {
  .p-block__title strong:before {
    height: .5rem;
    bottom: .125rem
  }
}
.p-block__number {
  position: absolute;
  top: 0;
  right: 0;
  text-align: right;
  font-size: 9.875rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .01em
}
@media screen and (max-width: 768px) {
  .p-block__number {
    display: none
  }
}
.p-block__number span {
  display: block;
  font-size: 1.375rem
}
.p-block__box {
  border-radius: .625rem;
  padding: 2.5rem 2.5rem 2.5rem 4.375rem;
  margin-top: 2.5rem
}
@media screen and (max-width: 768px) {
  .p-block__box {
    padding: 2.5rem 1.25rem 2.5rem 3.125rem;
    margin-top: 1.875rem
  }
}
.p-block__unit+.p-block__unit {
  margin-top: 2.5rem
}
.p-block__unitTitle {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .01em;
  margin-bottom: .75rem
}
@media screen and (max-width: 768px) {
  .p-block__unitTitle {
    font-size: 1.375rem
  }
}
.p-block__unitTitle:before {
  position: absolute;
  content: "";
  top: .625rem;
  width: .875rem;
  height: 1.75rem;
  left: -1.875rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='28'%20viewBox='0%200%2014%2028'%3e%3cg%20id='グループ_42893'%20data-name='グループ%2042893'%20transform='translate(14)%20rotate(90)'%3e%3cpath%20id='パス_47580'%20data-name='パス%2047580'%20d='M.2,6.759,6.353.267a.915.915,0,0,1,1.292,0L13.8,6.759A.75.75,0,0,1,13.152,8H.847A.75.75,0,0,1,.2,6.759Z'%20transform='translate(14%206)'%20fill='%23fbf006'/%3e%3cpath%20id='パス_47579'%20data-name='パス%2047579'%20d='M.259,11.828,8.17.467a.972.972,0,0,1,1.661,0l7.91,11.361c.6.858.095,2.172-.831,2.172H1.09C.164,14-.338,12.686.259,11.828Z'%20fill='%23442906'/%3e%3c/g%3e%3c/svg%3e") center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-block__unitTitle:before {
    top: .25rem
  }
}
.p-block__people {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 1.25rem;
  border-radius: .625rem
}
@media screen and (max-width: 768px) {
  .p-block__people {
    grid-template-columns: 1fr;
    gap: .9375rem
  }
}
.p-block__person {
  color: #535353;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 1.2222222222
}
@media screen and (max-width: 768px) {
  .p-block__person {
    font-size: 1rem;
    line-height: 1.5
  }
}
.p-block__person span {
  display: block;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  margin-bottom: .3125rem
}
@media screen and (max-width: 768px) {
  .p-block__person span {
    font-size: .75rem;
    line-height: 1.6666666667
  }
}
.p-block__person small {
  display: block;
  font-size: .625rem;
  font-weight: 700;
  line-height: 2.2
}
.p-block__person.--small {
  font-size: 1rem
}
.p-block__main {
  border-radius: .625rem;
  overflow: hidden;
  margin-top: 3.125rem
}
@media screen and (max-width: 768px) {
  .p-block__main {
    margin-top: 1.875rem
  }
}
.p-block__lead {
  text-align: center;
  font-weight: 500;
  letter-spacing: .05em;
  padding-block: 2.5rem
}
@media screen and (max-width: 768px) {
  .p-block__lead {
    padding: 2.5rem 1.25rem
  }
}
.p-block__virtual {
  padding: 3.75rem;
  background-color: #e0dfc9
}
@media screen and (max-width: 768px) {
  .p-block__virtual {
    padding: 2.5rem 1.25rem
  }
}
.p-block__virtualTitle {
  position: relative;
  max-width: 40.125rem;
  width: 100%;
  margin-inline: auto;
  background-color: #ac9784;
  border-radius: .625rem;
  text-align: center;
  padding-block: .8125rem
}
.p-block__virtualTitle span {
  position: relative;
  display: inline-block;
  z-index: 1;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4583333333
}
@media screen and (max-width: 768px) {
  .p-block__virtualTitle span {
    font-size: 1rem;
    line-height: 1.3125
  }
}
.p-block__virtualTitle:before {
  position: absolute;
  content: "";
  height: 75%;
  width: 100%;
  background-color: #968576;
  bottom: 0;
  right: 0;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  border-radius: 0 0 .625rem .625rem
}
@media screen and (max-width: 768px) {
  .p-block__virtualTitle:before {
    height: 65%
  }
}
.p-block__virtualTitle:after {
  position: absolute;
  content: "";
  left: 50%;
  transform: translate(-50%);
  background-color: #968576;
  -webkit-clip-path: polygon(0 0, 44% 100%, 100% 0);
  clip-path: polygon(0 0, 44% 100%, 100% 0);
  width: .75rem;
  height: .5rem;
  bottom: -.4375rem
}
.p-block__iframe {
  max-width: 50.625rem;
  margin-inline: auto;
  margin-top: 1.6875rem
}
.p-block__iframe iframe, .p-block__iframe img {
  border-radius: .625rem;
  aspect-ratio: 810/455;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.p-block__wrap {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-radius: .625rem;
  min-height: 25rem;
  background-color: #efefef
}
@media screen and (max-width: 768px) {
  .p-block__wrap {
    display: block;
    min-height: auto
  }
}
.p-block__left {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: url(../img/bg_brown.jpg) center center/cover no-repeat;
  border-radius: .625rem
}
@media screen and (max-width: 768px) {
  .p-block__left {
    background-image: url(../img/bg_brown_sp.png);
    padding-block: 2.5rem
  }
}
.p-block__price {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.25
}
@media screen and (max-width: 768px) {
  .p-block__price {
    font-size: 1.5rem
  }
}
.p-block__price strong {
  font-weight: 700;
  font-size: 3.125rem
}
@media screen and (max-width: 768px) {
  .p-block__price strong {
    font-size: 2.875rem
  }
}
.p-block__price small {
  font-size: 1.25rem
}
@media screen and (max-width: 768px) {
  .p-block__price small {
    font-size: 1rem
  }
}
.p-block__bottom {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.7083333333;
  letter-spacing: .01em;
  margin-top: .625rem
}
@media screen and (max-width: 768px) {
  .p-block__bottom {
    font-size: 1rem;
    line-height: 1.625
  }
}
.p-block__right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-inline: 2.5rem
}
@media screen and (max-width: 768px) {
  .p-block__right {
    padding: 2.5rem 1.25rem
  }
}
.p-course {
  padding-bottom: 7.5rem
}
@media screen and (max-width: 768px) {
  .p-course {
    padding-bottom: 3.75rem
  }
}
.p-course__title .c-title__en {
  position: relative;
  margin-top: 3.3125rem
}
@media screen and (max-width: 768px) {
  .p-course__title .c-title__en {
    margin-top: 1.875rem
  }
}
.p-course__title .c-title__en:before {
  position: absolute;
  content: "";
  width: 1.75rem;
  height: .625rem;
  left: 50%;
  transform: translate(-50%);
  top: -1.875rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='10'%20viewBox='0%200%2028%2010'%3e%3cg%20id='グループ_42892'%20data-name='グループ%2042892'%20transform='translate(-167.347%20-1059.237)'%3e%3cpath%20id='パス_47580'%20data-name='パス%2047580'%20d='M354.052,1087.4l6.152-6.492a.915.915,0,0,1,1.292,0l6.153,6.492a.75.75,0,0,1-.647,1.241H354.7A.75.75,0,0,1,354.052,1087.4Z'%20transform='translate(-172.503%20-19.404)'%20fill='%23fbf006'/%3e%3cpath%20id='パス_47579'%20data-name='パス%2047579'%20d='M337.249,1089.089l7.911-8.115a1.2,1.2,0,0,1,1.661,0l7.91,8.115c.6.613.095,1.552-.831,1.552H338.081C337.154,1090.641,336.652,1089.7,337.249,1089.089Z'%20transform='translate(-169.643%20-21.404)'%20fill='%23442906'/%3e%3c/g%3e%3c/svg%3e") center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-course__title .c-title__en:before {
    top: -.9375rem
  }
}
.p-course__box {
  padding: 5rem;
  border-radius: .625rem;
  margin-top: 3.75rem
}
@media screen and (max-width: 768px) {
  .p-course__box {
    margin-top: 2.5rem;
    padding: 2.5rem 1.25rem
  }
}
.p-course__subTitle {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25
}
@media screen and (max-width: 768px) {
  .p-course__subTitle {
    font-size: 1.375rem;
    line-height: 1.4545454545
  }
}
.p-course__lead {
  color: #535353;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .05em;
  margin-top: 1.25rem
}
@media screen and (max-width: 768px) {
  .p-course__lead {
    text-align: left;
    margin-top: .625rem
  }
}
.p-course__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-top: 3.75rem;
  margin-top: 3.75rem;
  background-image: linear-gradient(to right, #D6D6D6 .1875rem, transparent .1875rem);
  background-size: .375rem .125rem;
  background-repeat: repeat-x;
  background-position: left top
}
@media screen and (max-width: 768px) {
  .p-course__wrap {
    grid-template-columns: 100%;
    gap: 1.25rem;
    padding-top: 2.5rem;
    margin-top: 2.5rem
  }
}
.p-course__content {
  padding-left: 4.375rem
}
@media screen and (max-width: 768px) {
  .p-course__content {
    padding-left: 1.875rem
  }
}
.p-course__contentTitle {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .01em
}
@media screen and (max-width: 768px) {
  .p-course__contentTitle {
    font-size: 1.375rem;
    line-height: 1.4545454545
  }
}
.p-course__contentTitle:before {
  position: absolute;
  content: "";
  top: .625rem;
  width: .875rem;
  height: 1.75rem;
  left: -1.875rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='28'%20viewBox='0%200%2014%2028'%3e%3cg%20id='グループ_42893'%20data-name='グループ%2042893'%20transform='translate(1073.237%20-167.347)%20rotate(90)'%3e%3cpath%20id='パス_47580'%20data-name='パス%2047580'%20d='M354.052,1087.4l6.152-6.492a.915.915,0,0,1,1.292,0l6.153,6.492a.75.75,0,0,1-.647,1.241H354.7A.75.75,0,0,1,354.052,1087.4Z'%20transform='translate(-172.503%20-15.404)'%20fill='%23fbf006'/%3e%3cpath%20id='パス_47579'%20data-name='パス%2047579'%20d='M337.249,1092.469l7.911-11.361a.972.972,0,0,1,1.661,0l7.91,11.361c.6.858.095,2.172-.831,2.172H338.081C337.154,1094.641,336.652,1093.327,337.249,1092.469Z'%20transform='translate(-169.643%20-21.404)'%20fill='%23442906'/%3e%3c/g%3e%3c/svg%3e") center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-course__contentTitle:before {
    top: .25rem
  }
}
.p-course__info {
  border-radius: .625rem;
  padding: 1.25rem;
  margin-top: 1.25rem
}
@media screen and (max-width: 768px) {
  .p-course__info {
    margin-top: .625rem
  }
}
.p-course__row {
  padding-bottom: .75rem
}
.p-course__row+.p-course__row {
  margin-top: .75rem
}
.p-course__row:not(:last-child) {
  border-bottom: 1px solid #D6D6D6
}
.p-course__row dt {
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .01em
}
.p-course__row dd {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .05em;
  margin-top: .3125rem
}
.p-course__lists li {
  position: relative;
  padding-left: 1em
}
.p-course__lists li:before {
  position: absolute;
  content: "・";
  left: 0;
  top: 0;
  width: 1em;
  height: 1.5em
}
.p-cta {
  background: url(../img/bg_cta.jpg) center center/cover no-repeat;
  padding-block: 5rem
}
@media screen and (max-width: 768px) {
  .p-cta {
    padding-block: 3.75rem
  }
}
.p-cta__bnr {
  position: relative;
  max-width: 50rem;
  margin-inline: auto
}
.p-cta__btn {
  position: absolute;
  width: 47.5rem;
  height: 4.6875rem;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.1875rem
}
@media screen and (max-width: 768px) {
  .p-cta__btn {
    width: 18.4375rem;
    height: 3.5rem;
    bottom: 2.625rem
  }
}
.p-cta__btn a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  background-color: #000;
  border-radius: .625rem;
  transition: all .2s
}
@media screen and (max-width: 768px) {
  .p-cta__btn a {
    font-size: 1.125rem
  }
}
.p-cta__btn a:hover {
  background-color: #fbf006
}
.p-cta__btn:before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  width: 1.3125rem;
  height: .75rem;
  right: 1.25rem;
  background: url(../img/icon_arrow_double.svg) no-repeat center/contain;
}


.general_bnr {
  position: relative;
  background-color: #FFF;
  margin-inline: auto;
  margin-top: 30px;
  max-width: 800px;
  text-align: center;
}
.general_bnr::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  width: 100%;
  aspect-ratio: 800/13;
  background-image: url(../img/general_bnr_pc_top.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}
.general_bnr::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  width: 100%;
  aspect-ratio: 800/13;
  background-image: url(../img/general_bnr_pc_bottom.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}
.general_bnr a {
  text-decoration: none;
}
.general_bnr a:hover {
  opacity: 1 !important;
}
@media screen and (max-width: 768px) {
  .general_bnr {
    max-width: 320px;
  }
  .general_bnr::before {
    top: -12px;
    aspect-ratio: 315/13;
    background-image: url(../img/general_bnr_sp_top.svg);
  }
  .general_bnr::after {
    bottom: -12px;
    aspect-ratio: 315/13;
    background-image: url(../img/general_bnr_sp_bottom.svg);
  }
}

.general_bnr_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .general_bnr_link {
    display: block;
  }
}
.general_bnr_link:hover .general_bnr_btn {
  background-color: #FBF006;
  color: #000;
}

.general_bnr_text {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #EF6318;
}
@media screen and (min-width: 768px) {
  .general_bnr_text {
    br {
      display: none;
    }
  }
}

.general_bnr_btn {
  position: relative;
  width: 200px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  padding: 20px;
  background-color: #000;
  text-align: left;
  color: #FFF;
  border-radius: 10px;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .general_bnr_btn {
    width: 100%;
    max-width: 300px;
    font-size: 16px;
    font-weight: 500;
    margin-top: 10px;
    padding: 15px;
    text-align: center;
  }
}
.general_bnr_btn::after {
  position: absolute;
  top: 50%;
  right: 20px;
  content: "";
  width: 21px;
  height: 12px;
  background: url(../img/icon_arrow_double.svg) no-repeat center/contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}


.p-drawer {
  position: fixed;
  width: 100%;
  top: 3.75rem;
  left: 0;
  background: #442906f2;
  padding-block: 1.875rem 2.5rem;
  transform: translateY(-105%);
  opacity: 0;
  visibility: hidden;
  transition: all .45s
}
.p-drawer__nav {
  max-width: 20.9375rem
}
.p-drawer__link {
  height: 3.75rem
}
.p-drawer__link a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  font-size: 1.25rem;
  padding-inline: 1.25rem
}
.p-drawer__link a:before {
  position: absolute;
  content: "";
  width: .625rem;
  height: .625rem;
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='9.9'%20height='9.9'%20viewBox='0%200%209.9%209.9'%3e%3cpath%20id='パス_60030'%20data-name='パス%2060030'%20d='M-16290.863-7643.572v6h6'%20transform='translate(16924.908%20-6110.315)%20rotate(-45)'%20fill='none'%20stroke='%23fff'%20stroke-width='2'/%3e%3c/svg%3e") center center/contain no-repeat
}
.p-drawer.is-active {
  transform: translateY(0);
  visibility: visible;
  opacity: 1
}
.p-float {
  position: fixed;
  width: 100%;
  height: 5.75rem;
  bottom: 0;
  background-color: #ef6318;
  z-index: 99;
  transform: translateY(calc(105% + 2.625rem));
  transition: all .45s
}
@media screen and (max-width: 768px) {
  .p-float {
    height: auto;
    background: none
  }
}
.p-float:before {
  position: absolute;
  content: "";
  width: 4.125rem;
  height: 2.625rem;
  right: 1.15625rem;
  top: -2.625rem;
  background: url(data:image/png;base64,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) center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-float:before {
    display: none
  }
}
.p-float.is-active {
  transform: translateY(0)
}
.p-float__inner {
  display: grid;
  grid-template-columns: 48rem 1fr;
  align-items: center;
  gap: .75rem
}
@media screen and (max-width: 768px) {
  .p-float__inner {
    display: none;
    padding: 0
  }
}
.p-float__btn {
  position: relative;
  width: 100%;
  height: 3.5rem
}
.p-float__btn a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  background-color: #000;
  border-radius: .625rem;
  transition: all .2s;
  color: #fff
}
.p-float__btn a:hover {
  background-color: #fbf006
}
.p-float__btn:before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  width: 1.3125rem;
  height: .75rem;
  right: 1.25rem;
  background: url("data:image/svg+xml,%3csvg%20id='グループ_42720'%20data-name='グループ%2042720'%20xmlns='http://www.w3.org/2000/svg'%20width='21'%20height='12'%20viewBox='0%200%2021%2012'%3e%3cpath%20id='パス_71041'%20data-name='パス%2071041'%20d='M.173,1.241,5.446,7.733a.708.708,0,0,0,1.108,0l5.274-6.492A.758.758,0,0,0,11.274,0H.726A.758.758,0,0,0,.173,1.241Z'%20transform='translate(13%2012)%20rotate(-90)'%20fill='%23fff'/%3e%3cpath%20id='パス_71042'%20data-name='パス%2071042'%20d='M.173,1.241,5.446,7.733a.708.708,0,0,0,1.108,0l5.274-6.492A.758.758,0,0,0,11.274,0H.726A.758.758,0,0,0,.173,1.241Z'%20transform='translate(0%2012)%20rotate(-90)'%20fill='%23fff'/%3e%3c/svg%3e") center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-float__img {
    width: auto;
    margin-inline: auto
  }
  .p-float__img img {
    height: auto;
    width: auto;
    margin-inline: auto
  }
}
.p-footer {
  background: #00be42;
  padding-block: 3.125rem 8.875rem
}
@media screen and (max-width: 768px) {
  .p-footer {
    padding-block: 1.875rem 6.25rem
  }
}
.p-footer__inner {
  display: flex;
  align-items: center;
  justify-content: center
}
@media screen and (max-width: 768px) {
  .p-footer__inner {
    display: block
  }
}
.p-footer__logo {
  padding-right: 1.875rem
}
@media screen and (max-width: 768px) {
  .p-footer__logo {
    padding-right: 0
  }
}
.p-footer__logo img {
  max-width: 17.5rem
}
@media screen and (max-width: 768px) {
  .p-footer__logo img {
    max-width: 16.25rem;
    margin-inline: auto
  }
}
.p-footer__info {
  padding-left: 1.875rem;
  border-left: 1px solid #fff
}
@media screen and (max-width: 768px) {
  .p-footer__info {
    padding-left: 0;
    border: none;
    margin-top: .625rem
  }
}
.p-footer__text {
  font-size: .8125rem;
  line-height: 1.5384615385
}
@media screen and (max-width: 768px) {
  .p-footer__text {
    text-align: center
  }
}
.p-footer__text+.p-footer__text {
  margin-top: .375rem
}
@media screen and (max-width: 768px) {
  .p-footer__text+.p-footer__text {
    margin-top: .125rem
  }
}
.p-globalNav {
  height: 100%
}
.p-globalNav__links {
  display: flex;
  height: 100%
}
.p-globalNav__link {
  height: 100%
}
.p-globalNav__link a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 1.125rem;
  font-weight: 700;
  padding-inline: .875rem;
  color: #111
}
.p-header {
  position: fixed;
  width: 100%;
  height: 5rem;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: #fff
}
@media screen and (max-width: 768px) {
  .p-header {
    height: 3.9375rem;
    background-color: #442906
  }
}
.p-header__inner {
  display: flex;
  align-items: center;
  padding-left: 0;
  max-width: unset;
  padding-right: 6.875rem
}
@media screen and (max-width: 768px) {
  .p-header__inner {
    padding-right: 0;
    padding-left: 1.875rem
  }
}
.p-header__logo {
  background-color: #442906;
  padding-inline: 4.5rem;
  width: 22.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%
}
@media screen and (max-width: 768px) {
  .p-header__logo {
    width: calc(100% - 4.6875rem);
    padding-inline: 0
  }
}
@media screen and (max-width: 768px) {
  .p-header__logo {
    justify-content: flex-start
  }
}
@media screen and (max-width: 768px) {
  .p-header__logo img {
    width: 11.875rem
  }
}
.p-header__globalNav {
  margin-left: auto
}
@media screen and (max-width: 768px) {
  .p-header__hamburger {
    width: 4.6875rem;
    height: 100%
  }
}
.p-mv {
  position: relative
}
@media screen and (max-width: 768px) {
  .p-mv:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    background-color: #efefef;
    -webkit-mask: url(../img/bg_vector.svg) top right/10.375rem repeat-y;
    mask: url(../img/bg_vector.svg) top right/10.375rem repeat-y
  }
}
.p-mv__inner {
  position: relative;
  z-index: 1
}
.p-mv__btn {
  position: absolute;
  width: 21.875rem;
  right: 0;
  bottom: 0
}
.p-mv__btn a:hover {
  opacity: .8
}
.p-mv__text {
  padding: .8125rem 1.875rem 1.875rem
}
.p-point {
  position: relative;
  background-color: #fbf006;
  border-radius: .625rem;
  padding-block: 1.25rem;
  padding-inline: 10rem
}
@media screen and (max-width: 768px) {
  .p-point {
    padding: 1.25rem 1.25rem 2.5rem
  }
}
.p-point:before {
  position: absolute;
  content: "";
  width: 5.125rem;
  height: 2.875rem;
  background: url(../img/bus.png) center center/contain no-repeat;
  bottom: .625rem;
  right: 1.25rem
}
@media screen and (max-width: 768px) {
  .p-point:before {
    width: 3.625rem;
    height: 2.0625rem;
    bottom: -1rem;
    right: 0
  }
}
.p-point__title {
  text-align: center;
  color: #fbd506;
  text-transform: uppercase;
  font-weight: 600;
  font-style: italic;
  letter-spacing: .01em;
  font-size: 1rem
}
.p-point__lead {
  margin-top: .625rem
}
.p-point__lead p {
  display: flex;
  align-items: center;
  justify-content: center
}
.p-point__lead>small {
  display: block;
  text-align: center;
  font-size: 1rem;
  margin-bottom: .3125rem
}
@media screen and (max-width: 768px) {
  .p-point__lead>small {
    font-size: .875rem
  }
}
.p-point__lead p:nth-child(2) {
  font-size: 1rem;
  letter-spacing: .01em;
  gap: .25rem
}
@media screen and (max-width: 768px) {
  .p-point__lead p:nth-child(2) {
    font-size: .875rem
  }
}
.p-point__lead p:nth-child(2) span {
  position: relative;
  display: inline-block;
  font-weight: 700;
  border-radius: .3125rem;
  padding-inline: .3125rem
}
@media screen and (max-width: 768px) {
  .p-point__lead p:nth-child(2) span {
    line-height: 1.4285714286
  }
}
.p-point__lead p:nth-child(2) span+span {
  margin-left: .625rem
}
.p-point__lead p:nth-child(2) span+span:before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  width: .9375rem;
  height: .125rem;
  left: -.9375rem;
  background-color: #535353
}
.p-point__lead p:nth-child(3) {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: .01em;
  line-height: 1.25;
  gap: .1875rem
}
@media screen and (max-width: 768px) {
  .p-point__lead p:nth-child(3) {
    align-items: baseline;
    font-size: 1rem;
    line-height: 2.1875rem;
    gap: .125rem;
    margin-top: .25rem
  }
}
.p-point__lead p:nth-child(3) strong {
  position: relative;
  font-size: 3.125rem;
  font-weight: 700;
  z-index: 1
}
@media screen and (max-width: 768px) {
  .p-point__lead p:nth-child(3) strong {
    font-size: 1.5rem
  }
}
.p-point__lead p:nth-child(3) strong:before {
  position: absolute;
  content: "";
  width: 100%;
  height: .625rem;
  background-color: #fff;
  left: 0;
  bottom: .375rem;
  z-index: -1
}
@media screen and (max-width: 768px) {
  .p-point__lead p:nth-child(3) strong:before {
    height: .3125rem;
    bottom: 0rem
  }
}
.p-point__lead p:nth-child(3) small {
  font-size: 1.375rem
}
@media screen and (max-width: 768px) {
  .p-point__lead p:nth-child(3) small {
    font-size: 1rem
  }
}
.p-point__text {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #535353;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  background-image: linear-gradient(to right, #FBD506 .1875rem, transparent .1875rem);
  background-size: .375rem .125rem;
  background-repeat: repeat-x;
  background-position: left top;
  font-size: 1rem;
  letter-spacing: .01em
}
@media screen and (max-width: 768px) {
  .p-point__text {
    display: grid;
    grid-template-columns: 1fr 4.25rem;
    margin-top: 1.25rem;
    padding-top: .5rem;
    font-size: .875rem
  }
}
.p-point__text span {
  display: inline-block;
  background-color: #535353;
  font-size: .875rem;
  font-weight: 700;
  padding: .125rem .375rem;
  margin-left: .3125rem
}
@media screen and (max-width: 768px) {
  .p-point__text span {
    height: 2.625rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    letter-spacing: .01em;
    padding-inline: .25rem
  }
}
.p-program {
  position: relative;
  background: linear-gradient(to right, #efefef 50%, #d6d6d6 50%);
  padding-bottom: 7.5rem
}
@media screen and (max-width: 768px) {
  .p-program {
    padding-bottom: 3.75rem
  }
}
.p-program:before {
  position: absolute;
  content: "";
  width: 50%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../img/bg_box.png) center center/100% auto repeat
}
@media screen and (max-width: 768px) {
  .p-program:before {
    background-image: url(../img/bg_box_sp.png)
  }
}
.p-program__inner, .p-program__title {
  position: relative;
  z-index: 1
}
.p-program__title span:nth-child(2) {
  position: relative
}
.p-program__title span:nth-child(2):before {
  position: absolute;
  content: "";
  width: 4.125rem;
  height: 2.625rem;
  right: .84375rem;
  top: -2.625rem;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAABUCAYAAABDep+IAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAnRSURBVHhe7V1PbxQ3FPduSCgIRAAVtWoKgYKKeiKfoOFAwq3wCYBzDy0K5VZBr20i6KHnhnslOAI5ED4B9EIPUFgQVf8JGgQCkZB139uMdz3emR3b42fPrDzSKtkZe/ze8+/93lvP826DVeX44fg0a7avsmZzip293qqKWF7kWJj9mnF+io2sHmVnl1e8jJkzSCPk4Kmx52fusEbjCONsmZ27cbQyclELcml6nLXHHjHWGGeMf8fmbl6kHnLQ/asBiIUZMELjQk/Q9hk2t7QY0jDexp6fuQqOcKI73np7ip1fuuttfGWg8IC4dHyStdt3NjxEHHyFNVf3h6ZP8knphEl+KzVOYIYMD4j52Vuswab7jM/5FXbu5mnySQk1QCdUbAZHYJMZIpxlczcuhxAtLCDmZ04AXV7NVbzdOMq+ub4cwjDkY/aFSXnEcAwZDhCpZCrX/C3wlP3kk+N7gO+PHWEjTWSH/IPza8CQJ32LFg4Q87OXIVR8Vaxw+My7WEbDFnlhUr1NAIYMAwgdD0klmEO0NoFrDoxd0oSQd4YMAwix5qBplaFZm9ALk4pV/DKkf0CYeUjPOJyfhJh6TRdDlWw3P7MISfQpY9maDfgI7mf11i8grDyka74Wa76FZe2wS7vGkyk6ZK056N7M49qEX0Coq3K6BunlE8GXdo1FFh0WZmF5OnPNQe+WnhjSHyDKeIhsssBLu3qzp7QauOagfUcvDOkPEGU9RNjNI31qT9WghplL85Z35uxHePCHn1LIDj+AcOMhkhFq9PCrdJhU5p6YIekB4dJDerlEPR5+uQqTMiaIGZIeEK49pBc6yOmzNC+7CpN9gtAxJC0gKDykLgmm8zCZogkyhqQFBJmHJMYhpk9rhiAJk4o0RAkmHSBIPUQ2Dh19WgOCKkyqAhEkmDSA8OEhVU0wqcMkcYJJAwhfHlLFBJM6TBInmO4B4dNDqpZgeguTdAmme0B495CKJJhew6RKE+4ekVMAAh5R814FNW9MQmXUPusELa8jZ49Zg7d6lxsrUG7XK2d3PmDBDTcAsZhqxdkReNy9w70o/Fe4p7yhZ9nVfg73gFC1l8vFtrUZe9W0t88W6P8m6V/1qmy1qlqW3dQCI5yxMXgJ3Rkjq8qmBYRcVY0GObzO2DMY8smmDZPsgnP74Nxr+P8BnFuHa9ju0LuN6/fhHBoBDXIQzm2Fc3dGe+YMUHOoPZdyPiH0fDzC2PME0B+B3ntAV9UeE6An2uEhtJV1h7fsntCdriqbDhBZ+w6EYdAIyBQIhleg6HvwWoXXH6D1ATAIh+tr8B694k84h/0QDLJBcWY4vwtVVFPak+SrYSd8cKx/6B17Qa/doA/qgEyJ/6Pu25D80R7wmkAGhPc47w24/hAcAoEzhg6TAETckYgh6QCRl3ELUKBiqDyyAE78QVAciQPJAZVfBdGQKbYkFlDB0DM1GX1a4yevqlqAAm8smEHXHr1wQcqQNIAoqqrekaD+X+TB5EBQoHGQUhEMeGCowHNvEkbJnCGkzwpVZS8cO81Y8+dcML0PumNIEKEDGyJjbAFd8Rxew0PY4wW8zwIDtiFgSBpA6O47sHZBpWOgTS194perGbW1hlOGdA+IIg+xVbuoXxUSTO3NR0XKmFx3y5BuARHGQ4T1vG9qSU1bUZg0mWPTtg4Z0i0ggniIbD13K3amc8J8h0lVQEcM6Q4QIT2kaxy39KkNCtvNR9oDaDV0wpDuABHaQ4TNHNKn1jSEDZNqdl1634obQFTDQ3rG8bSppTOg7fY8LbSZNirPkOUBUSkP6RrQy6YWFupR/yCclGTI8oColId4TjBNd7GbOrxt+xIMWQ4QVfQQ2YiUu6arFibT4LFmyHKAqKqHdBNMou+8rGaYdJJg2gOi2h5Cm2BWNkymQqbVMx47QNTCQ4gSzKqHyRQmzL+4zA4QtfAQogSz6mGy5AqmHSAWZuFZbY0Ozl9AIY30TbmWsteJHXqrt7eh3nJaV2M7QKh3z6oQ0pWAoh3lpwtV3lBPd7PtVnr52g0g5BCyH6qc/obCl9cZt94NhSB4PMsotN0KpLMDXv9gkUiGttgXz69k9MUimm3Q94kouPH4kEuEECxo+QDkwDJAVX4UazecxEKflxnyb08KZJ4N6Islh1k2/RD6chj7r0T3EmsQaPXygFBp9DAUQ6JxHkBhoKzAXjCIDIju5IEUCIaD0G8ExFkv6KuW0okSNKxPvC8V4BLse+yDqVwmiDp/Cs6AtZCy7jhPqBvWhOKRJz9e6xQbgw4CUHLfQXZBJ0IgbhzWaxBuAKFuzEG5DiWgeApFklgWJsCAdYRYDjaB1dfwF0EhwIBlc6jUJFyTjSr6ysWpwqgCDJ3aTMmQqBn1zvCsjTmoyycSKN6CTgIMg+SXi44FKFAH7IsFti2wCxbbYn2p0F22qahiF5AosTO8HEPkFdIKUKACL2GI7WCorPJ7rDZGukQwiAmVjYr0Op5UKosaRFGoin3xWhYYuq5MuDM8b/+qLD8CQq0WF/KjQyBjYs0kVlfjMQ7vP4aJxwp0PBAMv8M1ZNoim3Z1Tv6xZEh7QBRtXUMFDgDCscw8TWkbEg/ybjQqMsVmBQxCaWFUDBMPFWZIGYZo/0LRp40y8gtQoB4CDEKnIpvKulsypD0gfO/wVj1A930J+swcYvDvXOhK5amdOUPaAaLIQzypqz2MJX1m3j/IDm9tTZWG5gxpDohaeUhiH1f7F6q23qKDE0OGNAdErTwkZbHy+xeqUiaoAwS5jQFDmgGijh7SNYw5fabsXvRzUKaT5LO9AUOaAaKuHiKMb7tBto5hsh9wWgypD4g6e4hsHJv9C/UNk5LmegypB4jh8JAN4xjQZ6d9rcOk+qGj+Kcv9QAxFB5imWDWPUyqoaOAIYsBMUweYppgDkuYlEFRwJDFgBg2D9FNMIcpTBokmIMBMYweoptgDl+Y1Eow8wEx3B4yOMEcyjCpl2DmA2KoPSRFE2fY3NJiylwLs/hzkF/4XDsKMlbGCmY+IDoPsNrTrgX98rOnp3Ztfjdpet/nbze1fro3ccW0X2H7dShVP790Nw0I/J6ohrGMRWN9O9W6UNQm6/pvK1tv//Joz7JN34F9mquX1Z+9LE4qHUux9t/oMny76+fGt+X89ujONecANZajRIe1Fayzszg4+2505+pFi57GXSIgjE1m3yECIsN2kSEsABUZIsNoMWTEkJGCRQREBEQERGKBGDJiyEg7Q/yU0Y+IGDJiyIghI4aM/M9kkSEiQ0SGiAwRGSLLAvFTRlZOya+M7Vw7bbHOV5kucena6dK1v49eVAiKgIiASFkgAiICIgKiiG7tn3bGkFFkWxfX/wfjUmCgyohOWwAAAABJRU5ErkJggg==) center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-program__title span:nth-child(2):before {
    width: 2.9375rem;
    height: 1.875rem;
    top: -1.875rem;
    right: 0
  }
}
.p-program__title:before {
  position: absolute;
  content: "";
  width: 81.25rem;
  height: 21.875rem;
  background: url(../img/ttl_program.png) center center/contain no-repeat;
  left: 50%;
  top: 2.5rem;
  transform: translate(-50%);
  z-index: -1
}
@media screen and (max-width: 768px) {
  .p-program__title:before {
    width: 23.4375rem;
    height: 13.375rem;
    background-image: url(../img/ttl_program_sp.png);
    top: -1.25rem
  }
}
.p-program__schedule {
  margin-top: .125rem
}
@media screen and (max-width: 768px) {
  .p-program__schedule {
    margin-top: 1.25rem
  }
}
.p-program__box {
  border-radius: .625rem;
  padding: 5rem;
  margin-top: 1.25rem
}
@media screen and (max-width: 768px) {
  .p-program__box {
    padding: 2.5rem 1.25rem
  }
}
.p-program__block+.p-program__block {
  margin-top: 3.75rem
}
@media screen and (max-width: 768px) {
  .p-program__block+.p-program__block {
    margin-top: 2.5rem
  }
}
.p-program__block article {
  display: flex
}
@media screen and (max-width: 768px) {
  .p-program__block article {
    display: block
  }
}
.p-program__slider {
  position: relative;
  width: 50%
}
@media screen and (max-width: 768px) {
  .p-program__slider {
    width: 100%
  }
}
.p-program__slider picture {
  display: block;
  border-radius: .625rem;
  overflow: hidden
}
.p-program__slider picture img {
  aspect-ratio: 470/230;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}
@media screen and (max-width: 768px) {
  .p-program__slider picture img {
    aspect-ratio: 275/180
  }
}
.p-program__slider:before {
  position: absolute;
  content: attr(data-text);
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: .01em;
  bottom: .8125rem;
  left: 0;
  background-color: #796b5f;
  color: #fff;
  padding: .3125rem;
  z-index: 1
}
@media screen and (max-width: 768px) {
  .p-program__slider:before {
    font-size: .75rem;
    bottom: .625rem
  }
}
.p-program__block:nth-child(1) .p-program__slider:before, .p-program__block:nth-child(5) .p-program__slider:before {
  color: #535353;
  background-color: #e0dfc9
}
.p-program__content {
  position: relative;
  width: 50%;
  padding-left: 4.625rem;
  padding-top: .5625rem;
  z-index: 1
}
@media screen and (max-width: 768px) {
  .p-program__content {
    width: 100%;
    padding-top: 0;
    padding-left: 1.875rem
  }
}
.p-program__content:before {
  position: absolute;
  content: attr(data-en);
  font-family: din, sans-serif;
  font-weight: 600;
  font-style: italic;
  font-size: 7.25rem;
  line-height: .724137931;
  top: 0;
  right: 0;
  color: #efefef;
  z-index: -1
}
@media screen and (max-width: 768px) {
  .p-program__content:before {
    display: none
  }
}
.p-program__subTitle {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .01em
}
@media screen and (max-width: 768px) {
  .p-program__subTitle {
    font-size: 1.375rem;
    line-height: 1.4545454545
  }
}
.p-program__subTitle:before {
  position: absolute;
  content: "";
  width: .875rem;
  height: 1.75rem;
  top: .625rem;
  left: -2.125rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='28'%20viewBox='0%200%2014%2028'%3e%3cg%20id='グループ_42893'%20data-name='グループ%2042893'%20transform='translate(1073.237%20-167.347)%20rotate(90)'%3e%3cpath%20id='パス_47580'%20data-name='パス%2047580'%20d='M354.052,1087.4l6.152-6.492a.915.915,0,0,1,1.292,0l6.153,6.492a.75.75,0,0,1-.647,1.241H354.7A.75.75,0,0,1,354.052,1087.4Z'%20transform='translate(-172.503%20-15.404)'%20fill='%23fbf006'/%3e%3cpath%20id='パス_47579'%20data-name='パス%2047579'%20d='M337.249,1092.469l7.911-11.361a.972.972,0,0,1,1.661,0l7.91,11.361c.6.858.095,2.172-.831,2.172H338.081C337.154,1094.641,336.652,1093.327,337.249,1092.469Z'%20transform='translate(-169.643%20-21.404)'%20fill='%23442906'/%3e%3c/g%3e%3c/svg%3e") center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-program__subTitle:before {
    top: .25rem
  }
}
.p-program__text {
  letter-spacing: .01em;
  margin-top: .9375rem
}
@media screen and (max-width: 768px) {
  .p-program__text {
    letter-spacing: .05em;
    margin-top: .625rem
  }
}
.p-program__text .caution {
  font-size: .875rem;
  color: #666;
  margin-top: .5rem;
}
.p-schedule__title {
  max-width: 45.375rem;
  width: 100%;
  margin-inline: auto
}
@media screen and (max-width: 768px) {
  .p-schedule__title {
    max-width: 100%
  }
}
.p-schedule__main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.75rem;
  border-radius: .625rem;
  padding: 1.875rem 5rem;
  margin-top: -.25rem
}
@media screen and (max-width: 768px) {
  .p-schedule__main {
    padding: 1.875rem 1.25rem;
    grid-template-columns: 100%;
    gap: 0
  }
}
@media screen and (max-width: 768px) {
  .p-schedule__block+.p-schedule__block {
    padding-top: 1.25rem;
    margin-top: 1.25rem;
    background-image: linear-gradient(to right, #535353 .25rem, transparent .25rem);
    background-size: .5rem .0625rem;
    background-repeat: repeat-x;
    background-position: left top
  }
}
.p-schedule__subTitle {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: .01em
}
@media screen and (max-width: 768px) {
  .p-schedule__subTitle {
    font-size: 1rem
  }
}
.p-schedule__flows {
  margin-top: .75rem
}
@media screen and (max-width: 768px) {
  .p-schedule__flows {
    margin-top: .625rem
  }
}
.p-schedule__flow {
  display: grid;
  color: #535353;
  grid-template-columns: 6.25rem 1fr;
  gap: 1.25rem;
  align-items: center;
  padding-inline: .625rem;
  height: 2.75rem
}
@media screen and (max-width: 768px) {
  .p-schedule__flow {
    grid-template-columns: 5.625rem 1fr;
    gap: .625rem;
    height: 2.5rem
  }
}
.p-schedule__flow+.p-schedule__flow {
  margin-top: .3125rem
}
.p-schedule__flow:nth-child(1) {
  background-color: #efefef
}
.p-schedule__flow:nth-child(2) {
  background-color: #d6d6d6
}
.p-schedule__flow:nth-child(3) {
  background-color: #968576
}
.p-schedule__flow:nth-child(4) {
  background-color: #e0dfc9
}
.p-schedule__time {
  font-size: 1rem;
  letter-spacing: .01em
}
@media screen and (max-width: 768px) {
  .p-schedule__time {
    font-size: .875rem
  }
}
.p-schedule__text {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .01em
}
@media screen and (max-width: 768px) {
  .p-schedule__text {
    font-size: .875rem;
    letter-spacing: 0em
  }
}
.p-strong {
  padding-top: 7.5rem;
  background: url(../img/bg_strong.png) center center/100% auto repeat
}
@media screen and (max-width: 768px) {
  .p-strong {
    padding-top: 3.75rem;
    background-image: url(../img/bg_strong_sp.png)
  }
}
.p-strong__title .c-title__en {
  position: relative;
  margin-top: 3.4375rem
}
@media screen and (max-width: 768px) {
  .p-strong__title .c-title__en {
    margin-top: 1.875rem
  }
}
.p-strong__title .c-title__en:before {
  position: absolute;
  content: "";
  width: 1.75rem;
  height: .625rem;
  left: 50%;
  transform: translate(-50%);
  top: -1.875rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='10'%20viewBox='0%200%2028%2010'%3e%3cg%20id='グループ_42892'%20data-name='グループ%2042892'%20transform='translate(-167.347%20-1059.237)'%3e%3cpath%20id='パス_47580'%20data-name='パス%2047580'%20d='M354.052,1087.4l6.152-6.492a.915.915,0,0,1,1.292,0l6.153,6.492a.75.75,0,0,1-.647,1.241H354.7A.75.75,0,0,1,354.052,1087.4Z'%20transform='translate(-172.503%20-19.404)'%20fill='%23fbf006'/%3e%3cpath%20id='パス_47579'%20data-name='パス%2047579'%20d='M337.249,1089.089l7.911-8.115a1.2,1.2,0,0,1,1.661,0l7.91,8.115c.6.613.095,1.552-.831,1.552H338.081C337.154,1090.641,336.652,1089.7,337.249,1089.089Z'%20transform='translate(-169.643%20-21.404)'%20fill='%23442906'/%3e%3c/g%3e%3c/svg%3e") center center/contain no-repeat
}
@media screen and (max-width: 768px) {
  .p-strong__title .c-title__en:before {
    top: -1.25rem
  }
}
.p-strong__lists {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5625rem;
  margin-top: 3.75rem;
  padding-bottom: 4.375rem
}
@media screen and (max-width: 768px) {
  .p-strong__lists {
    max-width: 19.6875rem;
    margin-top: 1.25rem;
    grid-template-columns: 100%;
    gap: .9375rem;
    margin-inline: auto;
    padding-bottom: 3.75rem
  }
}
.p-strong__lists:before {
  position: absolute;
  content: "";
  width: 100vw;
  left: calc(50% - 50vw);
  background: #fff;
  height: 12.3125rem;
  bottom: 0
}
@media screen and (max-width: 768px) {
  .p-strong__lists:before {
    height: 17.0625rem
  }
}
.p-strong__lists:after {
  position: absolute;
  content: "";
  width: 100vw;
  left: calc(50% - 50vw);
  background: #000;
  opacity: .4;
  height: 12.3125rem;
  bottom: 0
}
@media screen and (max-width: 768px) {
  .p-strong__lists:after {
    height: 17.0625rem
  }
}
.p-strong__list {
  position: relative;
  z-index: 1;
  padding-top: .625rem
}
.p-strong__text {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  top: 0;
  left: 0;
  gap: .125rem
}
.p-strong__text span {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  background-color: #796b5f;
  line-height: 1.4375;
  padding-inline: .3125rem
}
@media screen and (max-width: 768px) {
  .p-strong__text span {
    font-size: 1.5rem
  }
}
.p-top {
  padding-block: 5rem 10rem
}
@media screen and (max-width: 768px) {
  .p-top {
    padding-block: 3.125rem 3.75rem
  }
}
.p-top__wrap {
  display: flex
}
@media screen and (max-width: 768px) {
  .p-top__wrap {
    display: block
  }
}
.p-top__content {
  position: relative;
  width: 50%;
  padding-top: 3.125rem
}
@media screen and (max-width: 768px) {
  .p-top__content {
    width: 100%;
    padding-top: 0;
    padding-bottom: 3.125rem
  }
}
.p-top__content:after {
  position: absolute;
  content: "";
  width: 37.5rem;
  height: 34.1875rem;
  aspect-ratio: 1;
  top: -5rem;
  left: max((50vw - min(550px, 34.375rem)) * -1, -135px);
  background: url(../img/bg_top_01.jpg) center center/cover no-repeat;
  border-radius: 0 0 3.75rem;
  overflow: hidden
}
@media screen and (max-width: 768px) {
  .p-top__content:after {
    background: #ac9784;
    width: calc(100% - .625rem);
    height: calc(100% + 3.125rem);
    top: -3.125rem;
    left: calc(50% - 50vw);
    border-radius: 0 0 2.5rem
  }
}
.p-top__content:before {
  position: absolute;
  content: "";
  width: 34.375rem;
  height: 34.375rem;
  aspect-ratio: 1;
  top: 0;
  left: 0;
  background: url(../img/bg_top_02.jpg) center center/cover no-repeat;
  border-radius: 3.75rem;
  overflow: hidden
}
@media screen and (max-width: 768px) {
  .p-top__content:before {
    width: 100%;
    height: calc(100% + 2.5rem);
    border-radius: 2.5rem;
    background-image: url(../img/bg_top_02_sp.png)
  }
}
.p-top__content>div {
  position: relative;
  z-index: 1
}
.p-top__title {
  line-height: 1.2;
  letter-spacing: .05em
}
.p-top__title span {
  display: block;
  font-size: 1.25rem
}
@media screen and (max-width: 768px) {
  .p-top__title span {
    font-size: 1.75rem;
    line-height: 1.4285714286
  }
}
.p-top__title strong {
  font-size: 5rem;
  font-weight: 800
}
@media screen and (max-width: 768px) {
  .p-top__title strong {
    font-size: 4.125rem;
    line-height: 1.4393939394
  }
}
.p-top__lead {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.375;
  letter-spacing: .05em
}
@media screen and (max-width: 768px) {
  .p-top__lead {
    font-size: 1.75rem;
    line-height: 1.5;
    margin-top: .3125rem
  }
}
.p-top__en {
  font-size: 1rem;
  font-style: italic;
  margin-top: 1.25rem
}
.p-top__main {
  width: 50%;
  padding-left: 5rem
}
@media screen and (max-width: 768px) {
  .p-top__main {
    width: 100%;
    margin-top: 3.75rem;
    padding-left: 0
  }
}
.p-top__slider picture {
  border-radius: .625rem;
  overflow: hidden
}
.p-top__slider picture img {
  aspect-ratio: 470/230;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
@media screen and (max-width: 768px) {
  .p-top__slider picture img {
    aspect-ratio: 315/180
  }
}
.p-top__slider .slider-dots {
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
  gap: .625rem;
  margin-top: 1.25rem
}
.p-top__slider .slider-dots li {
  list-style: none;
  width: 6px;
  height: 6px;
  background-color: #d6d6d6;
  border-radius: 50%
}
.p-top__slider .slider-dots li.slick-active {
  background-color: #796b5f
}
.p-top__slider .slider-dots button {
  display: none
}
.p-top__bottom {
  position: relative
}
.p-top__bottom>div {
  transition: all .4s
}
.p-top__bottom>div:not(.is-active) {
  opacity: 0;
  visibility: hidden
}
.p-top__bottom>div:nth-child(n+2) {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%
}
@media screen and (max-width: 768px) {
  .p-top .slick-dotted.slick-slider {
    margin-bottom: 1.25rem
  }
}
.p-top__text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2.1111111111;
  letter-spacing: .01em
}
.p-top__name {
  font-weight: 700;
  font-size: 1.5rem;
  margin-top: 1.25rem
}
@media screen and (max-width: 768px) {
  .p-top__name {
    font-size: 1.125rem
  }
}
.p-top__name span {
  font-size: 1rem
}
@media screen and (max-width: 768px) {
  .p-top__name span {
    font-size: .875rem
  }
}
.u-white {
  color: #fff
}
.u-dark-brown {
  color: #442906
}
.u-brown {
  color: #796b5f
}
.u-gray {
  color: #d6d6d6
}
.u-gray2 {
  color: #efefef
}
.u-khaki {
  color: #e0dfc9
}
.u-yellow {
  color: #fbf006
}
.u-bg-white {
  background-color: #fff
}
.u-bg-black {
  background-color: #000
}
.u-bg-yellow {
  background-color: #fbf006
}
.u-bg-pink {
  background-color: #f080c1
}
.u-bg-green {
  background-color: #00be42
}
.u-bg-gray {
  background-color: #efefef
}
.u-bg-khaki {
  background-color: #f5f4e4
}
.u-mincho {
  font-family: "Noto Serif JP", serif
}
.u-en-font {
  font-family: din, sans-serif
}
.u-sub-font {
  font-family: Zen Kaku Gothic New, sans-serif
}