@charset "UTF-8";
@media screen and (max-width: 1200px) {
  .price_member {
    padding: 2% 10% 2% 3%;
  }
  .accordion-content {
    padding: 2% 3%;
  }
}
@media screen and (max-width: 1000px) {
  .header-txt {
    display: none;
  }
  .nav {
    gap: 25px;
  }
  .hidden1000 {
    display: none;
  }
  .second-fv_info {
    padding-left: 4%;
    padding-top: 5%;
    gap: 5px;
  }
  .header_nav, .header-txt, .nav {
    display: none;
  }
  .menu-button {
    top: 45px;
  }
  .head_menu-button {
    top: 23px;
  }
  .contact_txt {
    font-size: 90px;
  }
  .contact-text::after {
    right: -42%;
    width: 32%;
  }
  .contact_arrow-circle {
    width: 100px;
    height: 100px;
  }
  .contact-inner {
    width: 800px;
  }
  .contact-line {
    width: 200px;
  }
  .footer_inner {
    width: 90%;
  }
  .footer_nav {
    gap: 24px;
  }
  .accordion-btn::before {
    width: 30px;
    height: 30px;
  }
  .accordion-btn::after {
    width: 12px;
    height: 12px;
    background:
    linear-gradient(to right, #000 0%, #000 100%) center/12px 2px no-repeat, /* 横線 */
    linear-gradient(to bottom, #000 0%, #000 100%) center/2px 12px no-repeat; /* 縦線 */
  }
  .accordion-btn::after{
  right: calc(2% + (30px / 2) - (12px / 2));
  }
  .movie__btn {
    right: 20px;
    bottom: 20px;
  }
  .movie__btn button {
    height: 50px;
    width: 50px;
    padding: 12px;
  }
}
@media screen and (max-width: 880px) {
  .nav {
    gap: 10px;
  }
  .second-fv_info {
    gap: 3px;
  }
  .contact-inner {
    width: 90%;
  }
  .contact-text::after {
    right: -27%;
    width: 23%;
  }
  .contact-line {
    width: 150px;
  }
}
@media screen and (max-width: 800px) {
  .contents {
    width: 100%;
  }
  .img_center {
    margin-left: 0px;
  }
  img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  video {
    width: 100%;
  }
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
  --------------------------------------------------------*/
  /* --共通-- */
  /* --共通-- */
  /*--header--*/
  header {
    padding: 4% 2%;
  }
  .l800 {
    text-align: left !important;
  }
  /*--header-end--*/
  /*--contents--*/
  .menu-button {
    top: 39px;
  }
  .bg-concept ,.footer, header {
    background-image: url('../img/stg_bg_sp.webp');
  }
  .bg-hamburger {
    background-image: url('../img/stg_bg_sp.webp');
    background-position: center;
    background-size: cover;
  }
  .section-txt {
    font-size: 55px;
  }
  .schedule_top-container {
    width: 90%;
    display: block;
  }
  .price_member {
    padding: 6% 12% 6% 6%;
  }
  .accordion-content {
    padding: 6% 6%;
  }
  .accordion-btn::before {
    right:3%;
  }
  .accordion-btn::after{
  right: calc(3% + (35px / 2) - (16px / 2));
  }
  .access_top-container {
    display: block;
  }
  .schedule_top-container p:first-child::after,
  .access_top-container p:first-child::after {
    display: none;
  }
  .schedule-btn {
    width: 80%;
    padding: 8% 12%;
  }
  .schedule-btn_txt {
    font-size: 37px;
  }
  .schedule-btn_subtxt {
    font-size: 12px;
  }
  .contact-inner {
    display: block;
  }
  .contact-line {
    width: 100%;
    margin: 10px 0;
  }
  .contact-inner {
    display: block;
  }
  .contact_top-img {
    margin-top: 13%;
  }

  .flex800 {
    display: flex;
    margin-top: 20px;
    justify-content: center;
    gap: 35px;
  }

  .contact-line {
  height: 2px;
  background-color: #1F1F1F;
  }

  .contact_arrow-circle {
    flex-shrink: 0;
  }
  .contact_arrow-circle {
  width: 110px;
  height: 110px;
  }
  .instagram_imgs {
    width: 90%;
  }
  li {
  width: calc((100% - 20px) / 3); /* 10px gap × 2 = 20px */
  }
  .second-fv_info-txt {
    font-size: 14px;
  }
  .fv-logo, .access-logo, .concept-logo{
  width: 200px;
  }
  .sp90w {
    width: 90%;
  }
  
  .price_inner {
    width: 90%;
  }
  /*--contents-end--*/
  /*--footer--*/
  /* footer {
    height: 520px;
  } */
  .footer {
    padding: 7% 0% 7% 0%;
  }
  .footer_top-box {
    display: block;
  }
  .footer-logo {
    width: 36%;
    margin: 0 auto;
  }
  .footer_add-tel {
    text-align: center;
  }
  .footer_nav {
    justify-content: space-between;
    padding-bottom: 20%;
    gap: 0;
  }
  .sns_log {
    justify-content: flex-start !important;
  }
  .pp_box {
    position: absolute;
    top: 68%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    gap: 30px;
    width: 100%;
    font-size: 10px;
  }
  .copyright {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  /*--footer-end--*/

  /* --contact-- */
  .top-txt {
    font-size: 80px;
    margin-top: 110px;
  }
  .form {
  padding-bottom: 110px;
  width: 80%;
  }
  .send-btn {
    width: 80%;
    margin-top: 11%;
  }
  .recaptcha {
    margin-top: 11%;
  }
  .send-btn_txt {
    font-size: 18px;
  }
  /* --contact-end-- */

  /* --pp-- */
  .policy_top-txt {
    font-size: 80px;
  }
  .policy-inner {
    width: 80%;
  }
  .policy {
    padding: 120px 0 80px 0;
  }
  /* --pp-end-- */

  /* --プラポリ-- */
  /* --プラポリ-end-- */
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
  --------------------------------------------------------*/
}
@media screen and (max-width: 700px) {
  .concept_second-txt br {
    display: none;
  }

  /* footer {
    height: 455px;
  } */
}
@media screen and (max-width: 600px) {
  body {
    font-size: 1.5rem;
  } /*todo 要調査*/
  /* footer {
      height: 415px;
  } */
  .menu-button {
    top: 35px;
  }
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
  --------------------------------------------------------*/
  /* .concept-logo {
    width: 50%;
  } */
  .concept_second-txt {
    width: 86%;
  }
  .section-txt {
    font-size: 50px;
  }
  .schedule-btn_txt {
    font-size: 34px;
  }
  .schedule-btn {
    width: 100%;
  }
  .swiper { 
    width: 100%;
    overflow:hidden;
  }
  .access_map-area {
    display: block;
  }
  .access_map {
    margin-top: 30px;
  }
  .hidden600 {
    display: none;
  }
  .br600 {
    content: "\A";
    display: block;
  }

  /* --contact-- */
  .top-txt {
    font-size: 60px;
    margin-top: 80px;
  }
  .form {
    width: 100%;
    padding-bottom: 80px;
  }
  input, textarea, select {
    padding: 12px 15px;
  }
  textarea {
    height: 500px;
  }
  .send-btn {
    padding: 28px 42px;
  }
  .contactpage_arrow-circle {
    width: 32px;
    height: 32px;
  }
  .contactpage_arrow-circle span {
    font-size: 21px;
  }
  .radio-group input[type="radio"] {
    transform: scale(0.8);
    margin-right: 10px;
  }
  .movie__btn button {
    height: 40px;
    width: 40px;
    padding: 9px;
  }
  /* --contact-end-- */
  /* --pp-- */
  .policy_top-txt {
    font-size: 60px;
  }
  .policy-inner {
    width: 100%;
  }
  .policy {
    padding: 110px 0 60px 0;
  }
  .policy_wrapper-toptxt {
    font-size: 16px;
  }
  /* --pp-end-- */
  .footer_nav p {
    width: 30%;  /* 約3列になるように調整（余白に応じて25%〜33%） */
    text-align: center;
    margin: 10px 0; 
  }
  .footer_nav p::after {
    content: none;
  }
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
  --------------------------------------------------------*/
}
@media screen and (max-width: 500px) {
  /* footer {
    height: 365px;
  } */
  .menu-button {
    top: 30px;
  }
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
  --------------------------------------------------------*/
  body {
  font-size: 1.4rem;
  }
  .section-txt {
  font-size: 40px;
  }
  .schedule-btn_txt {
  font-size: 30px;
  }
  .contact_txt {
  font-size: 75px;
  }
  .contact_arrow-circle {
  width: 100px;
  height: 100px;
  }
  .footer {
    padding: 45px 0;
  }
  .footer_add-tel {
    font-size: 12px;
  }
  .footer_nav {
    font-size: 15px;
  }
  .pp_box  {
    top: 67%;
    white-space: nowrap;
  }
  .pp_box {
    font-size: 12px;
  }
  .second-fv_info-txt {
    font-size: 12px;
  }
  .fv-logo, .access-logo, .concept-logo{
  width: 160px;
  }
  .price_member {
    padding: 6% 14% 6% 4%;
  }
  .accordion-content {
    padding: 6% 4%;
  }
  .accordion-btn::before {
    right:3%;
  }
  .accordion-btn::after{
  right: calc(3% + (35px / 2) - (16px / 2));
  }
  .jost {
    font-size: 20px;
  }

  /* --contact-- */
  .send-btn {
    padding: 28px 25px;
  }
  .contactpage_arrow-circle {
    width: 28px;
    height: 28px;
  }
  .contactpage_arrow-circle span {
    font-size: 17px;
  }

  /* --contact-end-- */
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
  --------------------------------------------------------*/
}
@media screen and (max-width: 400px) {
    .menu-button {
    top: 30px;
  }
  .section-txt {
  font-size: 35px;
  }
  .schedule-btn_txt {
  font-size: 28px;
  }
  .contact_txt {
  font-size: 70px;
  }
  .contact_arrow-circle {
  width: 90px;
  height: 90px;
  }
  .second-fv_info-txt {
    font-size: 10px;
  }
  .accordion-btn::before {
    width: 24px;
    height: 24px;
  }
  .accordion-btn::after {
    width: 10px;
    height: 10px;
    background: linear-gradient(to right, #000 0%, #000 100%) center / 10px 2px no-repeat, /* 横線 */ linear-gradient(to bottom, #000 0%, #000 100%) center / 2px 10px no-repeat;
  }
  .accordion-btn::before {
    right:3.3%;
  }
  .accordion-btn::after{
  right: calc(2.8% + (27px / 2) - (10px / 2));
  }
  .jost {
    font-size: 16px;
  }
  .price_member {
    padding: 6% 12% 6% 2%;
  }
  /* --contact-- */
  .top-txt {
    font-size: 45px;
  }
  input, textarea, select {
    padding: 12px 15px;
  }
  .send-btn {
    padding: 28px 20px;
    width: 100%;
  }
  .radio-group input[type="radio"] {
    transform: scale(0.6);
    margin-right: 0px;
  }
  .movie__btn button {
    height: 35px;
    width: 35px;
    padding: 7px;
  }

  /* --contact-end-- */

  /* --pp-- */
  .policy_top-txt {
    font-size: 40px;
  }
  .policy {
    padding: 100px 0 40px 0;
  }
  .margin_t-10 {
    margin-top: -6px;
  }
  /* --pp-end-- */
}

@media screen and (max-width: 370px) {
  .section-txt {
  font-size: 30px;
  }
}
/* 360px以下の場合　これ以上小さくしたくない場合は横スクロール対応 */
@media screen and (max-width: 359px) {
  body {
    overflow-x: visible;
  }
  .contents {
    min-width: 360px;
  }
  .contents1800 {
    min-width: 360px;
  }
  header {
    min-width: 360px;
  }
  /* footer {
    min-width: 360px;
  } */
}
/*# sourceMappingURL=base_sp.css.map */
@media screen and (max-width: 375px) and (max-height: 667px) {
  .hamburger-logo {
    padding-bottom: 30px;
  }
  .hamburger_sns-log {
    margin-top: 30px;
  }
}
