@charset "UTF-8";
@media (max-height: 920px) {
  .c-nav > * + * {
    margin-top: 28px;
  }
  .c-nav .nav__item span {
    margin-top: 0;
  }
  .c-nav .nav__item--insta {
    margin-top: 29px;
  }
  .p-top .info .cr {
    bottom: 30px;
  }
}
@media (max-width: 1650px) {
  .p-story .content .block:nth-of-type(n) {
    translate: unset !important;
    padding: 0 5vw;
    gap: unset;
    justify-content: space-between;
  }
  .p-story .content .block:nth-of-type(3) {
    padding-right: 0 !important;
  }
  .p-story .content .block:nth-of-type(6) {
    padding-left: 0 !important;
  }
  .p-story .content .block__img {
    max-width: calc(85vw - 400px);
  }
  .p-story .content .block:nth-of-type(3n) .block__img {
    max-width: calc(90vw - 400px);
  }
}
@media (max-width: 1536px) {
  /*-------------------------------

  1536

  -------------------------------*/
  /* :root {
    --hd-height: 143px;
    --logo-width: 195px;
    --logo-top: 30px;
    --logo-left: 23px;
  } */
  .p-concept .lead {
    padding-left: 0;
  }
  .p-concept .lead .wrap {
    gap: unset;
  }
  .p-concept .lead .txt-wrap {
    padding: 0 5vw;
  }
  .p-concept .content .wrap {
    gap: unset;
  }
  .p-concept .content .txt-wrap {
    width: 50vw;
    padding: 0 5vw;
  }
}
@media (max-width: 1280px) {
  /*-------------------------------

  1280

  -------------------------------*/
  /* :root {
    --hd-height: 118px;
    --logo-width: 161px;
    --logo-top: 25px;
    --logo-left: 20px;
  } */
  .p-concept .story .wrap {
    gap: 5vw;
  }
  .p-access .access .calendar {
    translate: unset;
  }
}
@media (max-width: 1111px) {
  /*-------------------------------

  1111

  -------------------------------*/
  .s-menu .menu .block__content p:has(img, picture) {
    width: 90vw;
    margin-left: calc((100% - 90vw) / 2);
  }
  .s-news .news .block__content p:has(img, picture) {
    width: 90vw;
    margin-left: calc((100% - 90vw) / 2);
  }
}
@media (max-width: 1024px) {
  /*-------------------------------

  1024

  -------------------------------*/
  .p-access .access .block {
    display: block;
  }
  .p-access .access .calendar-wrap {
    margin-top: 90px;
  }
  .p-access .access .calendar {
    translate: unset;
  }
}
@media (max-width: 768px) {
  /*-------------------------------

  768 common

  -------------------------------*/
  .c-nav > * + * {
    margin-top: 18px;
  }
  .c-nav .nav__item {
    font-size: 18px;
  }
  .c-nav .nav__item span {
    font-size: 12px;
    margin-top: -2px;
    margin-left: auto;
    letter-spacing: 0.96px;
  }
  .c-nav .nav__item--insta {
    width: 15px;
    margin-top: 33px;
  }
  .c-a--underline {
    text-underline-offset: 6px;
  }
  .c-a-pager {
    font-size: 13px;
    gap: 8px;
  }
  .c-tag {
    font-size: 12px;
  }
  .c-s-pager .pager__item {
    font-size: 13px;
  }
  .c-s-pager .pager__item--prev,
  .c-s-pager .pager__item--next {
    width: 71px;
  }
  .c-s-pager :is(.pager__item--prev, .pager__item--next)::before {
    width: 58px;
    bottom: -6px;
  }
  .c-s-pager .pager__item--prev::before {
    left: 0;
  }
  .c-s-pager .pager__item--next::before {
    right: 0;
  }
  .c-s-pager :is(.pager__item--prev, .pager__item--next)::after {
    bottom: -2px;
  }
  .c-s-pager .pager__item--prev::after {
    left: -1px;
  }
  .c-s-pager .pager__item--next::after {
    right: -1px;
  }
  .c-content-rule p + p:has(img, picture),
  .c-content-rule p:has(img, picture) + p {
    margin-top: 2em;
  }
  /*-------------------------------

  768 hd

  -------------------------------*/
  :root {
    /* --hd-height: 24vw;
    --logo-width: 36vw;
    --logo-top: 1.2vw;
    --logo-left: 2.3vw; */
  }
  .hd .ham {
    top: 43px;
    right: 21px;
    width: 40px;
  }
  .hd .ham__buns--2 {
    top: 7px;
  }
  .hd .ham__buns--3 {
    top: 14px;
  }
  .hd .ham--open .ham__buns {
    width: 28px;
  }
  .hd .ham--open .ham__buns--1 {
    translate: 6px 7px;
  }
  .hd .ham--open .ham__buns--3 {
    translate: 6px -7px;
  }
  .hd .ham-wrap {
    width: 237px;
  }
  .hd .ham-wrap--open {
    mask-size: 500% 500%;
  }
  .hd .c-nav {
    margin-right: 35px;
  }
  .hd::after {
    /* ! .hd .btn の透過対策（PCのみ） */
    display: none;
  }
  /*-------------------------------

  768 ft

  -------------------------------*/
  .ft {
    padding-bottom: 60px;
  }
  /*-------------------------------

  768 p-top

  -------------------------------*/
  .p-top .fv .bg {
    /* height: 96px; */
  }
  .p-top .fv .slick-slider {
    /* height: calc(100svh - 96px) !important; */
  }
  .p-top .fv .slick-slide {
    /* height: calc(100svh - 96px) !important; */
  }
  .p-top .fv .news {
    right: auto;
    left: 25px;
    bottom: 27px;
  }
  .p-top .fv .news__date {
    font-size: 12px;
  }
  .p-top .fv .news__ttl {
    font-size: 12px;
  }
  .p-top .info .c-nav {
    /* right: 29px; */
    /* translate: 0 -17%; */
    /* right: 35px; */
  }
  .p-top .info .logo {
    /* left: 19px; */
    bottom: 32px;
  }
  .p-top .info .cr {
    font-size: 12px;
    /* right: 18px; */
    bottom: 30px;
  }
  /*-------------------------------

  768 p-concept

  -------------------------------*/
  .p-concept .lead {
    padding-top: 121px;
  }
  .p-concept .lead .wrap {
    display: block;
    margin: 0 5vw;
  }
  .p-concept .lead .img {
    width: auto;
  }
  .p-concept .lead .txt-wrap {
    width: auto;
  }
  .p-concept .lead .heading {
    font-size: 24px;
    margin-top: 33px;
  }
  .p-concept .lead .subheading {
    font-size: 12px;
    margin-top: 6px;
    margin-left: 1px;
  }
  .p-concept .lead .txt-wrap {
    padding: 0;
  }
  .p-concept .lead .txt {
    font-size: 13px;
    margin-top: 21px;
    line-height: 2.3;
  }
  .p-concept .content {
    padding-top: 37px;
  }
  .p-concept .content > * + * {
    margin-top: 54px;
  }
  .p-concept .content .wrap {
    display: block;
    padding: 0 5vw;
  }
  .p-concept .content .img {
    width: auto;
    height: unset;
  }
  .p-concept .content .img :is(img, picture) {
    aspect-ratio: 350/265;
  }
  .p-concept .content .txt-wrap {
    width: auto;
    padding: 0;
  }
  .p-concept .content .ttl {
    font-size: 16px;
    margin-top: 38px;
  }
  .p-concept .content .txt {
    font-size: 13px;
    margin-top: 25px;
    line-height: 2.3;
  }
  .p-concept .story {
    padding-top: 62px;
    padding-bottom: 131px;
  }
  .p-concept .story .wrap {
    display: block;
    padding-bottom: 41px;
  }
  .p-concept .story .img {
    width: 176px;
    margin: 0 auto;
  }
  .p-concept .story .ttl {
    font-size: 15px;
    text-align: center;
    margin-top: 20px;
  }
  .p-concept .story .txt {
    font-size: 12px;
    margin-top: 16px;
  }
  .p-concept .story .btn {
    width: 123px;
    height: 44px;
    font-size: 15px;
    bottom: -26px;
    right: 18px;
  }
  .p-concept .story .wrap::after {
    /* !.p-concept .story .btn の透過対策 */
    width: 123px;
    height: 44px;
    bottom: -26px;
    right: 18px;
  }
  /*-------------------------------

  p-story

  -------------------------------*/
  .p-story .fv .heading {
    font-size: 16px;
    line-height: 2.5;
  }
  .p-story .lead .txt {
    margin-top: 288px;
    line-height: 2.3;
  }
  .p-story .content {
    padding-top: 93px;
  }
  .p-story .content > * + * {
    margin-top: 101px;
  }
  .p-story .content .block:nth-of-type(n) {
    display: block;
    padding: 0 5vw !important;
  }
  .p-story .content .block__img {
    width: auto !important;
    max-width: unset !important;
  }
  .p-story .content .block__txt-wrap {
    width: auto;
    margin-top: 35px;
  }
  .p-story .content .block__ttl {
    line-height: 2.5;
    font-size: 16px;
  }
  .p-story .content .block__txt {
    margin-top: 24px;
    line-height: 2.3;
  }
  .p-story .content .block__txt + .block__ttl {
    margin-top: 41px;
  }
  .p-story .last {
    padding-top: 101px;
  }
  .p-story .last .block__txt-wrap {
    margin-top: 35px;
  }
  .p-story .last .block__ttl {
    line-height: 2.5;
    font-size: 16px;
  }
  .p-story .last .block__txt {
    margin-top: 24px;
    line-height: 2.3;
  }
  /*-------------------------------

  768 p-people

  -------------------------------*/
  .p-people .fv {
    padding-top: 189px;
  }
  .p-people .fv .heading {
    font-size: 30px;
  }
  .p-people .fv .ttl {
    font-size: 16px;
    margin-top: 15px;
  }
  .p-people .fv .txt {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 24px;
    text-align: left;
  }
  .p-people .fv .c-tag {
    margin-top: 65px;
  }
  .p-people .people {
    padding-top: 100px;
    padding-bottom: 83px;
  }
  .p-people .people .slider__top .slick-slide {
    width: 139px;
    margin-right: 20px;
  }
  .p-people .people .slider__bottom {
    margin-top: 93px;
  }
  .p-people .people .slider__bottom .slick-slide {
    width: 95px;
    margin-right: 20px;
  }
  /*-------------------------------

  768 p-menu

  -------------------------------*/
  .p-menu .fv {
    padding-top: 189px;
  }
  .p-menu .fv .heading {
    font-size: 30px;
  }
  .p-menu .fv .txt {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 35px;
    text-align: left;
  }
  .p-menu .fv .bd {
    width: 41px;
    margin-top: 46px;
  }
  .p-menu .menu {
    padding-top: 61px;
  }
  .p-menu .menu .container > * + * {
    margin-top: 58px;
  }
  .p-menu .menu .course__heading {
    font-size: 24px;
  }
  .p-menu .menu .course__price {
    display: block;
    text-align: center;
    margin-top: 8px;
  }
  .p-menu .menu .course__price > * + * {
    margin-top: 8px;
  }
  .p-menu .menu .course__price-ttl {
    font-size: 15px;
  }
  .p-menu .menu .course__price-num {
    font-size: 15px;
  }
  .p-menu .menu .course__price-num span {
    font-size: 10px;
  }
  .p-menu .menu .course__txt {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 20px;
  }
  .p-menu .last {
    padding-top: 69px;
    padding-bottom: 94px;
  }
  .p-menu .last .bd {
    width: 41px;
  }
  .p-menu .last .c-tag {
    margin-top: 69px;
  }
  .p-menu .last .slider .slick-slide {
    width: 182px;
    margin-right: 2px;
  }
  .p-menu .last .slider {
    margin-top: 50px;
  }
  .p-menu .last .slider__bottom {
    margin-top: 2px;
  }
  /*-------------------------------

  768 p-access

  -------------------------------*/
  .p-access .access {
    padding-top: 189px;
  }
  .p-access .access .block {
    display: block;
    margin-top: 44px;
  }
  .p-access .access .heading {
    font-size: 30px;
    text-align: center;
  }
  .p-access .access .block__contact {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 20px;
    /* text-align: center; */
  }
  .p-access .access .block__opening {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 23px;
    /* width: fit-content;
    margin-left: auto;
    margin-right: auto; */
  }
  .p-access .access .block__caution {
    font-size: 12px;
    translate: unset;
    margin-left: 11px;
    margin-top: 24px;
    line-height: 1.8;
    /* width: fit-content;
    margin-left: auto;
    margin-right: auto; */
  }
  .p-access .access .block__caution-item::before {
    left: -12px;
  }
  .p-access .access .block__map {
    margin-top: 42px;
    height: auto;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
  }
  .p-access .access .block__map iframe {
    aspect-ratio: 352/244;
  }
  .p-access .access .block__link {
    font-size: 12px;
    margin-right: 0;
    margin-top: 16px;
  }
  .p-access .access .calendar-wrap {
    margin-top: 54px;
  }
  .p-access .access .calendar {
    width: auto;
  }
  .p-access .access .calendar .calendar-hd {
    width: 93%;
    padding-bottom: 22px;
  }
  .p-access .access .calendar .date {
    gap: 10px;
  }
  .p-access .access .calendar .date__year {
    font-size: 15px;
  }
  .p-access .access .calendar .date__month {
    font-size: 30px;
  }
  .p-access .access .calendar :is(th, td) {
    font-size: 15px;
    height: 44px;
  }
  .p-access .access .calendar .arrow {
    gap: 20px;
  }
  .p-access .access .calendar .arrow__item {
    width: 8px;
    height: 8px;
  }
  .p-access .access .calendar .cap__item {
    font-size: 13px;
  }
  .p-access .access .calendar .cap {
    margin-top: 20px;
  }
  .p-access .other {
    padding-top: 64px;
    padding-bottom: 96px;
  }
  .p-access .other .wrap {
    display: block;
  }
  .p-access .other .map,
  .p-access .other .slider {
    width: auto;
  }
  .p-access .other .map,
  .p-access .other .slider__item {
    height: auto;
  }
  .p-access .other :is(.map, .slider__item) :is(img, iframe) {
    aspect-ratio: 4/3;
  }
  .p-access .other .link {
    margin-top: 16px;
    font-size: 12px;
  }
  /*-------------------------------

  768 p-contact

  -------------------------------*/
  .p-contact .contact {
    padding-top: 185px;
  }
  .p-contact .contact .heading {
    font-size: 30px;
  }
  .p-contact .contact .form {
    margin-top: 38px;
  }
  .p-contact .contact .form-wrap {
    margin-top: 65px;
  }
  .p-contact .contact .form-wrap > * + * {
    margin-top: 28px;
  }
  .p-contact .contact .form__lead {
    font-size: 13px;
    line-height: 2.3;
  }
  .p-contact .contact .form__item {
    font-size: 14px;
  }
  .p-contact .contact .form__ttl--required {
    font-size: 11px;
    right: -41px;
  }
  .p-contact
    .contact
    :is(.form__item--name, .form__item--tel)
    .form__txt
    :is(input, textarea) {
    width: 80%;
  }
  .p-contact .contact .form__txt :is(input, textarea) {
    height: 37px;
    margin-top: 12px;
  }
  .p-contact .contact .form__item--detail .form__txt :is(input, textarea) {
    height: 200px;
  }
  .p-contact .contact .form__btn-wrap,
  .p-contact .contact .form__btn {
    margin-top: 58px;
  }
  .p-contact .contact .form__btn {
    width: 254px;
    height: 60px;
    font-size: 16px;
  }
  .p-contact .contact .form__btn-wrap {
    display: block;
    width: fit-content;
  }
  .p-contact .contact .form__btn-wrap > * + * {
    margin-top: 20px;
  }
  .p-contact .policy {
    padding-bottom: 67px;
  }
  .p-contact .policy .block {
    padding: 30px 32px 50px 32px;
  }
  .p-contact .policy .block-wrap {
    margin-top: 33px;
  }
  .p-contact .policy .block__heading {
    font-size: 14px;
  }
  .p-contact .policy .block__item {
    font-size: 12px;
  }
  /*-------------------------------

  p-notfound

  -------------------------------*/
  .p-notfound .notfound {
    /* padding-top: 185px;
    padding-bottom: 67px; */
    height: calc(100svh - 78px);
  }
  .p-notfound .notfound .heading {
    font-size: 30px;
  }
  .p-notfound .notfound .txt {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 38px;
  }
  /*-------------------------------

  768 a-people

  -------------------------------*/
  .a-people .people {
    padding-top: 183px;
    padding-bottom: 115px;
  }
  .a-people .people .heading {
    font-size: 30px;
  }
  .a-people .people .ttl {
    font-size: 12px;
    margin-top: 13px;
  }
  .a-people .people .block {
    margin-top: 42px;
    grid-template-columns: repeat(2, 1fr);
    gap: 47px 32px;
  }
  .a-people .people .block__ttl {
    font-size: 12px;
    margin-top: 10px;
  }
  .a-people .people .c-a-pager {
    margin-top: 60px;
  }
  .a-people .people .c-tag {
    margin-top: 55px;
  }
  /*-------------------------------

  768 s-people

  -------------------------------*/
  .s-people .people {
    padding-top: 185px;
  }
  .s-people .people .heading {
    font-size: 30px;
  }
  .s-people .people .block {
    display: block;
    margin-top: 41px;
  }
  .s-people .people .block__img {
    width: 70vw;
    margin: 0 auto;
  }
  .s-people .people .block__txt-wrap {
    width: auto;
    margin-top: 38px;
	  
  }
  .s-people .people .block__organization {
    font-size: 12px;
    text-align: center;
  }
  .s-people .people .block__heading {
    font-size: 16px;
    text-align: center;
    margin-top: 11px;
  }
  .s-people .people .block__content {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 21px;
  }
  .s-people .people .c-tag {
    margin-top: 47px;
  }
  .s-people .people .c-s-pager {
    margin-top: 57px;
  }
  .s-people .other {
    padding-top: 77px;
    padding-bottom: 92px;
  }
  .s-people .other .slider {
    margin-top: 82px;
  }
  .s-people .other .slider .slick-slide {
    width: 138px;
    margin-right: 20px;
  }
  /*-------------------------------

  768 a-menu

  -------------------------------*/
  .a-menu .menu {
    padding-top: 183px;
    padding-bottom: 115px;
  }
  .a-menu .menu .heading {
    font-size: 30px;
  }
  .a-menu .menu .ttl {
    font-size: 12px;
    margin-top: 13px;
  }
  .a-menu .menu .block {
    margin-top: 42px;
    grid-template-columns: repeat(2, 1fr);
    gap: 47px 32px;
  }
  .a-menu .menu .block__date {
    font-size: 12px;
    margin-top: 15px;
  }
  .a-menu .menu .block__ttl {
    font-size: 13px;
    margin-top: 10px;
  }
  .a-menu .menu .c-a-pager {
    margin-top: 60px;
  }
  .a-menu .menu .c-tag {
    margin-top: 55px;
  }
  /*-------------------------------

  768 s-menu

  -------------------------------*/
  .s-menu .menu {
    padding-top: 185px;
  }
  .s-menu .menu .heading {
    font-size: 30px;
  }
  .s-menu .menu .block__heading {
    font-size: 16px;
    text-align: center;
    margin-top: 11px;
  }
  .s-menu .menu .block__ttl {
    font-size: 16px;
    margin-top: 38px;
  }
  .s-menu .menu .block__content {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 32px;
    width: auto;
  }
  .s-menu .menu .block__content p:has(img, picture) {
    width: auto;
    margin-left: auto;
    margin-right: auto;
  }
  .s-menu .menu .block__date {
    font-size: 12px;
    margin-top: 58px;
  }
  .s-menu .menu .c-tag {
    margin-top: 23px;
  }
  .s-menu .menu .c-s-pager {
    margin-top: 57px;
  }
  .s-menu .other {
    padding-top: 77px;
    padding-bottom: 92px;
  }
  .s-menu .other .slider {
    margin-top: 49px;
  }
  .s-menu .other .slider .slick-slide {
    width: 183px;
    margin-right: 2px;
  }
  .s-menu .other .slider__bottom {
    margin-top: 2px;
  }
  /*-------------------------------

  768 a-news

  -------------------------------*/
  .a-news .news {
    padding-top: 215px;
    padding-bottom: 73px;
  }
  .a-news .news .heading {
    font-size: 30px;
  }
  .a-news .news .block {
    margin-top: 25px;
  }
  .a-news .news .block__item {
    display: block;
    padding: 13px 10px;
  }
  .a-news .news .block__date {
    font-size: 12px;
    width: auto;
    margin: auto;
  }
  .a-news .news .block__ttl {
    font-size: 13px;
    margin-top: 4px;
  }
  .a-news .news .c-a-pager {
    margin-top: 42px;
  }
  /*-------------------------------

  768 s-news

  -------------------------------*/
  .s-news .news {
    padding-top: 185px;
  }
  .s-news .news .heading {
    font-size: 30px;
  }
  .s-news .news .block__heading {
    font-size: 16px;
    text-align: center;
    margin-top: 11px;
  }
  .s-news .news .block__date {
    font-size: 12px;
    margin-top: 29px;
  }
  .s-news .news .block__ttl {
    font-size: 16px;
    margin-top: 9px;
  }
  .s-news .news .block__content {
    font-size: 13px;
    line-height: 2.3;
    margin-top: 32px;
    width: auto;
  }
  .s-news .news .block__content p:has(img, picture) {
    width: auto;
    margin-left: auto;
    margin-right: auto;
  }
  .s-news .news .c-s-pager {
    margin-top: 78px;
  }
}
@media (max-width: 450px) {
  :root {
    /* --hd-height: 63px;
    --logo-width: 100px;
    --logo-top: 5px;
    --logo-left: 9px; */
    /* --hd-height: 96px;
    --logo-width: 143px;
    --logo-top: 5px;
    --logo-left: 9px; */
    --hd-height: 24vw;
    --logo-width: 36vw;
    --logo-top: 1.2vw;
    --logo-left: 2.3vw;
  }
}
