@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Gabriela&family=Noto+Sans+JP:wght@400;500;700&family=Roboto:wght@400;700&display=swap");
/*base is →　! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

article, aside, footer, header, nav, section, figcaption, figure, main {
  display: block; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

img {
  border-style: none;
  vertical-align: top; }

table {
  border-collapse: collapse; }

button, input, select, textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

textarea {
  overflow: auto;
  resize: vertical; }

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0; }

a, area, button, input, label, select, summary, textarea, [tabindex] {
  touch-action: manipulation; }

@media screen and (max-width: 959px) {
  body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    color: #2a2a2a;
    font-size: 13px;
    line-height: 1.46154; }
    body :before, body :after {
      box-sizing: border-box; }
  img {
    max-width: 100%; }
  a {
    color: #2a2a2a;
    text-decoration: none;
    transition: all 0.4s; }
  h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: 400; }
  ul, ol {
    list-style: none; }
  address, i, em {
    font-style: normal; }
  .inner {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto; }
  .anim {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    transition: all 0.4s; }
    .anim.is-show {
      opacity: 1.0;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .header {
    height: 62px; }
    .header:before {
      content: "";
      width: 100%;
      height: 100%;
      background: rgba(245, 171, 24, 0.85);
      position: fixed;
      left: 0;
      top: 0;
      z-index: 1000;
      visibility: hidden;
      opacity: 0;
      transition: all 0.4s; }
    .header_inner {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 2000;
      display: flex;
      justify-content: space-between;
      background: #2a2a2a;
      height: 62px;
      padding-right: 5%; }
    .header .logo {
      width: 135px; }
      .header .logo a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        background: #fff;
        padding: 10px; }
        .header .logo a img {
          width: 108px; }
    .header_menu_btn {
      width: 25px;
      height: 19px;
      position: relative;
      margin: auto 0; }
      .header_menu_btn span {
        width: 100%;
        height: 2px;
        background: #fff;
        position: absolute;
        left: 0;
        transition: all 0.4s; }
        .header_menu_btn span:nth-child(1) {
          top: 0; }
        .header_menu_btn span:nth-child(2), .header_menu_btn span:nth-child(3) {
          top: 0;
          bottom: 0;
          margin: auto; }
        .header_menu_btn span:nth-child(4) {
          bottom: 0; }
    .header .gnav {
      position: fixed;
      right: -240px;
      top: 62px;
      background: #fff;
      width: 240px;
      height: calc(100% - 62px);
      padding: 40px 20px;
      overflow: scroll;
      transition: all 0.4s; }
      .header .gnav_list {
        margin-bottom: 30px; }
        .header .gnav_list li {
          padding: 10px 0;
          border-bottom: 1px solid #d8d8d8; }
          .header .gnav_list li a {
            font-weight: 500;
            position: relative;
            padding: 10px 0;
            font-size: 16px;
            display: block; }
            .header .gnav_list li a:before {
              content: "";
              width: 22px;
              height: 1px;
              background: #2a2a2a;
              position: absolute;
              right: 0;
              top: calc(50% + 1px); }
            .header .gnav_list li a:after {
              content: "";
              width: 8px;
              height: 1px;
              background: #2a2a2a;
              position: absolute;
              right: 0;
              top: calc(50% + 1px);
              -webkit-transform: rotate(30deg);
                      transform: rotate(30deg);
              -webkit-transform-origin: right bottom;
                      transform-origin: right bottom; }
      .header .gnav_link {
        display: flex;
        -webkit-column-gap: 12px;
           -moz-column-gap: 12px;
                column-gap: 12px; }
        .header .gnav_link li {
          width: calc((100% - 15px) / 2); }
          .header .gnav_link li a {
            display: block;
            text-align: center;
            font-weight: 500;
            position: relative;
            padding: 6px;
            font-size: 10px;
            line-height: 1.35;
            border-radius: 5px; }
            .header .gnav_link li a:before {
              content: "";
              width: 25px;
              height: 25px;
              display: block;
              margin: 0 auto 4px; }
            .header .gnav_link li a img {
              display: block;
              margin: 12px auto 0; }
        .header .gnav_link_line a {
          background: #00b900;
          color: #fff; }
          .header .gnav_link_line a:before {
            background: url(../images/common/icon_line.svg) no-repeat center/contain; }
        .header .gnav_link_hp a {
          background: #ae2d5b;
          color: #fff; }
          .header .gnav_link_hp a:before {
            background: url(../images/common/icon_hp.svg) no-repeat center/contain;
            background-size: 22.5px; }
    .header.open:before {
      visibility: visible;
      opacity: 1.0; }
    .header.open .header_menu_btn span:nth-child(1), .header.open .header_menu_btn span:nth-child(4) {
      opacity: 0; }
    .header.open .header_menu_btn span:nth-child(2) {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .header.open .header_menu_btn span:nth-child(3) {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
    .header.open .gnav {
      right: 0; }
  .aside_link {
    position: fixed;
    right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    background: #fff;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-weight: 500;
    letter-spacing: 0.08em;
    box-shadow: 0px 0px 10px 0px rgba(179, 179, 179, 0.2);
    top: 33.03226%;
    gap: 16px;
    font-size: 15px;
    padding-bottom: 10px; }
    .aside_link_free {
      display: block;
      background: #f5ab18;
      position: relative;
      padding: 5px; }
      .aside_link_free img {
        width: 36px; }
      .aside_link_free:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-color: #f5ab18 transparent transparent transparent;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        border-width: 6px 6px 0 6px;
        bottom: -6px; }
  .footer {
    color: #fff;
    position: relative;
    padding-top: 50px;
    background: url(../images/common/footer_bg_sp.png) no-repeat left top/50%, #2a2a2a; }
    .footer #pageTop {
      background: #fff;
      border: 1px solid currentColor;
      color: #2a2a2a;
      border-radius: 50%;
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: color 0.4s, background 0.4s;
      cursor: pointer;
      z-index: 1000;
      width: 38px;
      height: 38px;
      right: 5%;
      bottom: calc(100% - 19px); }
      .footer #pageTop span {
        display: block;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        position: relative;
        width: 10px;
        height: 10px;
        margin-top: 6px;
        border-top: 1px solid currentColor;
        border-left: 1px solid currentColor; }
        .footer #pageTop span:after {
          content: "";
          height: 100%;
          position: absolute;
          width: calc(100% - 2px);
          border-left: 1px solid #f5ab18;
          bottom: -2px;
          left: 2px; }
      .footer #pageTop.fixed {
        position: fixed;
        bottom: 20px; }
    .footer .logo {
      text-align: center;
      margin: 0 auto 30px;
      max-width: 180px; }
    .footer address {
      margin: 0 auto;
      line-height: 1.84615;
      text-align: center; }
    .footer .copy {
      line-height: 1.0;
      text-align: center;
      border-top: 1px solid #393939;
      font-size: 10px;
      margin-top: 45px;
      padding: 10px 0; }
      .footer .copy small {
        font-size: 100%; }
  /* import */
  /* use Slick 
@import "_slick";
@import "_slick-theme";
*/
  /* ココから下には記入禁止 */
  .forPC {
    display: none !important; }
  .h2 {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.04em;
    position: relative;
    z-index: 2;
    font-size: 21px;
    line-height: 1.57143;
    margin-bottom: 30px; }
    .h2:before {
      content: attr(data-txt);
      color: #d8d8d8;
      font-family: "Gabriela", serif;
      font-weight: 400;
      letter-spacing: 0;
      line-height: 1.0;
      text-align: center;
      position: absolute;
      z-index: -1;
      font-size: 70px;
      top: -0.5em;
      left: -5%;
      width: 110%; }
    .h2_wht {
      color: #fff; }
      .h2_wht:before {
        color: #3c3b3b; }
    .h2_light:before {
      color: #ededed; }
  .mv {
    position: relative;
    height: 125.6vw;
    background: url(../images/home/mv_img_sp.jpg) no-repeat center/cover; }
    .mv_inner {
      padding-top: 12.8vw; }
    .mv_title {
      width: 92.23881%; }
    .mv_subtitle {
      color: #fff;
      line-height: 1.0;
      text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5);
      font-size: 5.33333vw;
      line-height: 1.375;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: -0.5em -0.5em 0 auto; }
    .mv_news {
      position: absolute;
      right: 0;
      background: #fff;
      display: flex;
      align-items: center;
      padding: 10px;
      -webkit-column-gap: 10px;
         -moz-column-gap: 10px;
              column-gap: 10px;
      bottom: 25px;
      width: 89.73333%; }
      .mv_news_title {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        border: 1px solid #f5ab18;
        font-family: "Gabriela", serif;
        font-size: 14px;
        width: 51px;
        height: 33px; }
      .mv_news_item {
        width: calc(100% - 51px -10px);
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden; }
        .mv_news_item a {
          display: block;
          position: relative;
          font-weight: 500;
          padding-right: 40px; }
          .mv_news_item a:before {
            content: "";
            height: 1px;
            background: #2a2a2a;
            position: absolute;
            top: calc(50% + 5px);
            transition: all 0.4s;
            width: 24px;
            right: 10px; }
          .mv_news_item a:after {
            content: "";
            height: 1px;
            background: #2a2a2a;
            position: absolute;
            top: calc(50% + 5px);
            -webkit-transform: rotate(30deg);
                    transform: rotate(30deg);
            -webkit-transform-origin: right bottom;
                    transform-origin: right bottom;
            transition: all 0.4s;
            width: 6px;
            right: 10px; }
          .mv_news_item a time {
            display: block;
            font-family: "Roboto", sans-serif;
            font-weight: 700;
            line-height: 1.3;
            color: #f5ab18;
            text-decoration: none;
            font-size: 9px; }
          .mv_news_item a span {
            text-decoration: underline;
            -webkit-text-decoration-color: transparent;
                    text-decoration-color: transparent;
            display: block;
            text-overflow: ellipsis;
            white-space: nowrap;
            overflow: hidden; }
  .lead {
    background: url(../images/common/bg.png);
    padding-top: 50px; }
    .lead .inner {
      background: #fff;
      width: 100%;
      padding: 30px 5%; }
    .lead_box {
      display: -ms-grid;
      display: grid;
      justify-content: center;
      align-items: center;
      -ms-grid-columns: 41.49254% 58.20896%;
          grid-template-columns: 41.49254% 58.20896%; }
      .lead_box .pic_box {
        padding-bottom: 8px; }
        .lead_box .pic_box img {
          display: block;
          border-radius: 0 15px 0 15px;
          -webkit-filter: drop-shadow(8px 8px 0px #e0e0e0);
                  filter: drop-shadow(8px 8px 0px #e0e0e0); }
    .lead_title {
      font-weight: 500;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      text-decoration: underline;
      -webkit-text-decoration-color: #f5ab18;
              text-decoration-color: #f5ab18;
      text-decoration-thickness: 3px;
      font-size: 17.5px;
      letter-spacing: 0.02em;
      line-height: 1.8;
      text-underline-offset: 6px;
      text-align: right;
      -webkit-transform: rotate(-10deg);
              transform: rotate(-10deg);
      margin-left: -1.5em; }
      .lead_title strong {
        font-weight: 500;
        font-size: 26.5px; }
      .lead_title span {
        display: inline-block;
        width: 4em; }
    .lead_list {
      display: -ms-grid;
      display: grid;
      font-weight: 500;
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
      gap: 20px 12px;
      font-size: 16px;
      line-height: 1.3125;
      -ms-grid-column: 1;
      -ms-grid-column-span: 2;
      grid-column: 1 / 3;
      margin-top: 30px; }
      .lead_list li {
        display: flex;
        align-items: flex-start;
        gap: 6px; }
        .lead_list li:before {
          content: "";
          background: url(../images/common/icon_balloon.svg) no-repeat center/contain;
          flex-shrink: 0;
          width: 23px;
          height: 26px; }
    .lead_txt {
      position: relative;
      margin: 0 auto;
      z-index: 5;
      margin: 30px 0 -80px; }
      .lead_txt:before {
        content: "";
        background: #f5ab18;
        position: absolute;
        width: 1.5px;
        height: 65px;
        right: -5px;
        top: 5px; }
      .lead_txt:after {
        content: "";
        background: #f5ab18;
        position: absolute;
        width: calc(100% + 5px);
        height: 35px;
        right: -5px;
        bottom: -4px;
        -webkit-clip-path: polygon(100% 3.75%, calc(50% - 2.5px) 100%, 0 3.75%, 0 0, calc(50% - 2.5px) 96.25%, 100% 0);
                clip-path: polygon(100% 3.75%, calc(50% - 2.5px) 100%, 0 3.75%, 0 0, calc(50% - 2.5px) 96.25%, 100% 0); }
      .lead_txt_main {
        background: #2a2a2a;
        position: relative;
        text-align: center;
        font-weight: 700;
        letter-spacing: 0.04em;
        z-index: 2;
        padding: 15px 0 50px;
        font-size: 21px;
        -webkit-clip-path: polygon(0 64%, 0 0, 100% 0, 100% 64%, 50% 100%);
                clip-path: polygon(0 64%, 0 0, 100% 0, 100% 64%, 50% 100%); }
        .lead_txt_main:before {
          content: "";
          background: #fff;
          position: absolute;
          top: 0;
          z-index: -1;
          width: calc(100% - 3px);
          height: calc(100% - 1.5px);
          left: 1.5px;
          -webkit-clip-path: polygon(0 64%, 0 0, 100% 0, 100% 64%, 50% 100%);
                  clip-path: polygon(0 64%, 0 0, 100% 0, 100% 64%, 50% 100%); }
        .lead_txt_main img {
          vertical-align: middle;
          margin-right: 10px;
          width: 119px; }
  .point_box {
    position: relative;
    z-index: -1; }
  .point_bg {
    display: flex;
    position: relative;
    height: 254px; }
    .point_bg img {
      width: 50%;
      -o-object-fit: cover;
         object-fit: cover; }
    .point_bg:after {
      content: "";
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.35);
      position: absolute;
      top: 0;
      left: 0; }
  .point_title {
    position: absolute;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5);
    bottom: 60px;
    row-gap: 10px; }
    .point_title_eng {
      font-family: "Gabriela", serif;
      line-height: 1.53333;
      font-size: 15px; }
    .point_title_jp {
      font-weight: 700;
      letter-spacing: 0.04em;
      font-size: 21px;
      line-height: 1.3; }
      .point_title_jp strong {
        font-weight: 700;
        font-size: 31px; }
        .point_title_jp strong span {
          font-family: "Roboto", sans-serif;
          font-size: 34px; }
  .point_list {
    display: flex;
    flex-wrap: wrap; }
    .point_list li {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      text-align: center;
      background: #2a2a2a;
      color: #fff;
      position: relative;
      z-index: 2;
      counter-increment: cnt;
      width: 50%;
      height: 155px;
      padding: 0 6px 12px;
      row-gap: 8px; }
      .point_list li:before {
        content: counter(cnt);
        font-family: "Gabriela", serif;
        line-height: 1.0;
        font-size: 25px; }
      .point_list li:after {
        content: "";
        border-right: 1px solid #f5ab18;
        border-bottom: 1px solid #f5ab18;
        position: absolute;
        z-index: -1;
        width: calc(100% - 16px);
        height: calc(100% - 16px);
        right: 8px;
        bottom: 8px; }
      .point_list li .ttl {
        font-weight: 700;
        letter-spacing: 0.04em;
        font-size: 16px; }
      .point_list li .txt {
        font-weight: 500;
        line-height: 1.23077; }
      .point_list li:nth-child(even) {
        background: #3a3a3a; }
  .message {
    background: url(../images/common/bg.png);
    padding: 50px 0; }
    .message .inner {
      background: #fff;
      width: 100%;
      padding: 0 5%; }
    .message_box {
      padding: 30px 0; }
      .message_box .pic_box {
        position: relative;
        width: 220px;
        margin: 20px auto 12px;
        padding-right: 12px; }
        .message_box .pic_box img {
          border-radius: 0 15px 0 15px;
          -webkit-filter: drop-shadow(12px 12px 0px #e0e0e0);
                  filter: drop-shadow(12px 12px 0px #e0e0e0); }
        .message_box .pic_box .name {
          position: absolute;
          bottom: 0;
          background: #fff;
          font-weight: 500;
          line-height: 1.4;
          left: 14px;
          padding: 8px 16px;
          font-size: 8px;
          border-radius: 0 15px 0 0; }
          .message_box .pic_box .name strong {
            font-weight: 500;
            font-size: 13px; }
          .message_box .pic_box .name span {
            font-family: "Gabriela", serif;
            font-weight: 400;
            font-size: 9px; }
      .message_box .txt_box p + p {
        margin-top: 1.46154em; }
    .message_title {
      font-weight: 700;
      letter-spacing: 0.04em;
      font-size: 24px;
      text-align: center; }
      .message_title_eng {
        font-family: "Gabriela", serif;
        text-align: right;
        display: flex;
        align-items: center;
        font-size: 12px;
        gap: 10px;
        margin-bottom: 20px; }
        .message_title_eng:before {
          content: "";
          flex-grow: 1;
          border-top: 1px solid #2a2a2a;
          border-bottom: 1px solid #f5ab18;
          height: 8px; }
  .menu {
    background: #2a2a2a;
    padding: 70px 0 60px; }
    .menu_item {
      background: #f3f3f3;
      display: flex;
      flex-direction: column;
      padding: 0 20px 30px;
      margin-top: 60px; }
      .menu_item_title {
        background: #fff;
        border: 1px solid #272727;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-end;
        z-index: 2;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        gap: 9px;
        padding: 16px 0 12px; }
        .menu_item_title:before {
          content: "";
          width: 100%;
          height: 100%;
          border-right: 1px solid #f5ab18;
          border-bottom: 1px solid #f5ab18;
          position: absolute;
          z-index: -1;
          right: -5px;
          bottom: -5px; }
        .menu_item_title_jp {
          font-weight: 700;
          line-height: 1.0;
          letter-spacing: 0.04em;
          font-size: 17px; }
        .menu_item_title_eng {
          font-family: "Gabriela", serif;
          line-height: 1.0;
          font-size: 11px; }
      .menu_item .catch {
        border-bottom: 1px solid #2a2a2a;
        position: relative;
        font-weight: 700;
        line-height: 1.66667;
        font-size: 16px;
        -webkit-font-feature-settings: "palt";
                font-feature-settings: "palt";
        padding-left: 15px;
        padding-bottom: 10px;
        margin-bottom: 20px; }
        .menu_item .catch:before {
          content: "";
          background: #f5ab18;
          position: absolute;
          left: 0;
          top: 0;
          width: 3px;
          height: calc(100% - 10px); }
      .menu_item .txt_box p + p {
        margin-top: 1.46154em; }
      .menu_item .pic_box {
        position: relative;
        width: 89.15254%;
        max-width: 300px;
        margin: 0 auto 30px; }
        .menu_item .pic_box img {
          border-radius: 0 15px 0 15px;
          -webkit-filter: drop-shadow(12px 12px 0px #e0e0e0);
                  filter: drop-shadow(12px 12px 0px #e0e0e0); }
    .menu_point {
      position: absolute;
      display: flex;
      right: 15px;
      bottom: 15px;
      gap: 10px; }
      .menu_point li {
        background: #f5ab18;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        border-radius: 50%;
        font-weight: 700;
        text-shadow: 0px 0px 15px rgba(242, 153, 17, 0.6);
        width: 67px;
        height: 67px;
        font-size: 10px;
        line-height: 1.47059; }
        .menu_point li span {
          -webkit-transform: scale(0.88);
                  transform: scale(0.88); }
    .menu_service {
      margin-top: 20px; }
      .menu_service_list li {
        background: #fff;
        display: flex;
        align-items: center;
        font-weight: 500;
        line-height: 1.57143;
        gap: 10px;
        padding: 10px 15px;
        margin-bottom: 1px;
        font-size: 12px; }
        .menu_service_list li img {
          border-radius: 50%;
          overflow: hidden;
          flex-shrink: 0;
          width: 30px;
          height: 30px;
          border: 1px solid #ffb728; }
        .menu_service_list li:last-child {
          margin-bottom: 0; }
  .price {
    background: url(../images/common/bg.png);
    padding: 70px 0 45px; }
    .price .entrance_fee {
      position: relative;
      background: #fff;
      border: 1px solid #2a2a2a;
      z-index: 2;
      margin: 0 auto 30px;
      padding: 15px 10px; }
      .price .entrance_fee:before {
        content: "";
        width: 100%;
        height: 100%;
        border-right: 1px solid #f5ab18;
        border-bottom: 1px solid #f5ab18;
        position: absolute;
        z-index: -1;
        right: -5px;
        bottom: -5px; }
      .price .entrance_fee dl {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 700;
        line-height: 1.0;
        gap: 20px;
        font-size: 16px; }
        .price .entrance_fee dl dd span {
          font-family: "Roboto", sans-serif;
          font-weight: 700;
          font-size: 28px; }
    .price_detail {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 20px 0; }
      .price_detail_item {
        background: #f4f4f4;
        border: 1px solid #d3d3d3;
        width: 100%; }
        .price_detail_item .ttl {
          background: #2a2a2a;
          color: #fff;
          font-weight: 700;
          text-align: center;
          position: relative;
          font-size: 16px;
          padding: 14px; }
          .price_detail_item .ttl:after {
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-color: #2a2a2a transparent transparent transparent;
            position: absolute;
            left: 0;
            right: 0;
            margin: auto;
            border-width: 10px 10px 0 10px;
            bottom: -10px; }
        .price_detail_item .term {
          text-align: center;
          background: #fff;
          padding: 22px 0; }
          .price_detail_item .term > span {
            font-weight: 700;
            border-bottom: 4px solid #f5ab18;
            font-size: 21px; }
            .price_detail_item .term > span span {
              font-family: "Roboto", sans-serif;
              font-size: 35px;
              margin-right: 6px; }
        .price_detail_item > dl {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          row-gap: 1.5em;
          padding: 8.95522% 5.97015%; }
          .price_detail_item > dl dt {
            font-weight: 700;
            flex-shrink: 0;
            width: 28.81356%;
            font-size: 16px; }
          .price_detail_item > dl dd {
            font-family: "Roboto", "Noto Sans JP", sans-serif;
            -webkit-font-feature-settings: "palt";
                    font-feature-settings: "palt";
            width: 71.18644%; }
            .price_detail_item > dl dd span {
              font-weight: 700;
              font-size: 21px; }
        .price_detail_item .pair_lesson {
          background: #fff;
          margin: 0 5.97015% 30px;
          padding: 12px 20px 15px; }
          .price_detail_item .pair_lesson_title {
            text-align: center;
            font-weight: 700;
            border-bottom: 1px dotted #2a2a2a;
            padding-bottom: 5px;
            margin-bottom: 10px; }
          .price_detail_item .pair_lesson dl {
            display: flex;
            flex-wrap: wrap;
            row-gap: 1em; }
            .price_detail_item .pair_lesson dl dt {
              font-weight: 700;
              font-size: 15px;
              width: 27.45098%;
              padding-left: 0.5em; }
            .price_detail_item .pair_lesson dl dd {
              font-size: 14px;
              line-height: 1.0;
              width: 72.54902%; }
              .price_detail_item .pair_lesson dl dd span {
                font-family: "Roboto", sans-serif;
                font-weight: 700;
                font-size: 21px; }
              .price_detail_item .pair_lesson dl dd small {
                font-size: 10px; }
      .price_detail_product {
        width: 100%;
        background: #fff;
        border: 1px solid #d3d3d3; }
        .price_detail_product .ttl {
          text-align: center;
          background: #2a2a2a;
          color: #fff;
          font-weight: 700;
          font-size: 16px;
          padding: 15px; }
        .price_detail_product .product_list {
          padding: 20px 0; }
          .price_detail_product .product_list li {
            margin-bottom: 8px; }
            .price_detail_product .product_list li:last-child {
              margin-bottom: 0; }
            .price_detail_product .product_list li dl {
              display: flex;
              align-items: center;
              gap: 1em;
              justify-content: center; }
              .price_detail_product .product_list li dl dt {
                font-weight: 700; }
              .price_detail_product .product_list li dl dd span {
                font-family: "Roboto", sans-serif;
                font-weight: 700;
                font-size: 21px; }
	.wear_list{
		padding-top: 20px;
	}
  .reserve {
    background: #2a2a2a;
    padding: 70px 0 50px; }
    .reserve_box {
      background: #fff;
      padding: 30px 5.97015%; }
    .reserve_link {
      text-align: center;
      font-weight: 700;
      line-height: 1.61538;
      margin-bottom: 30px; }
      .reserve_link .logo {
        margin: 30px 0 20px; }
        .reserve_link .logo img {
          display: block;
          margin: 0 auto;
          width: 120px; }
      .reserve_link .btn {
        display: block;
        margin: 0 auto;
        position: relative;
        font-weight: 700;
        z-index: 2;
        background: #fff;
        width: 256px;
        height: 50px;
        font-size: 16px; }
        .reserve_link .btn:before {
          content: "";
          width: 100%;
          height: 100%;
          border: 1px solid #f5ab18;
          position: absolute;
          z-index: -1;
          transition: all 0.4s;
          right: -6px;
          bottom: -6px; }
        .reserve_link .btn span {
          background: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 100%;
          transition: all 0.4s;
          position: relative;
          border: 2px solid #2a2a2a; }
          .reserve_link .btn span:before {
            content: "";
            background: #2a2a2a;
            position: absolute;
            width: 25px;
            height: 1px;
            right: 15px;
            top: calc(50% + 1px); }
          .reserve_link .btn span:after {
            content: "";
            height: 1px;
            background: #2a2a2a;
            position: absolute;
            -webkit-transform: rotate(30deg);
                    transform: rotate(30deg);
            -webkit-transform-origin: right bottom;
                    transform-origin: right bottom;
            width: 6px;
            right: 15px;
            top: calc(50% + 1px); }
    .reserve_date {
      background: #f4f4f4;
      text-align: center; }
      .reserve_date .ttl {
        background: #2a2a2a;
        color: #fff;
        font-weight: 700;
        font-size: 16px;
        padding: 10px; }
      .reserve_date_body {
        font-weight: 700;
        line-height: 1.625;
        padding: 20px; }
        .reserve_date_body p {
          font-size: 14px;
          line-height: 1.5; }
          .reserve_date_body p + p {
            margin-top: 15px; }
          .reserve_date_body p span {
            font-family: "Roboto", sans-serif;
            font-size: 18px; }
          .reserve_date_body p small {
            font-size: 13px; }
  .studio {
    padding: 75px 0 45px; }
    .studio_gallery {
      position: relative;
      z-index: 5;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 15px 0; }
      .studio_gallery li {
        font-weight: 500;
        width: 46.71642%;
        font-size: 10px;
        line-height: 1.3; }
        .studio_gallery li img {
          display: block;
          width: 100%;
          margin-bottom: 5px; }
  .access {
    padding: 45px 0 40px; }
    .access_map {
      width: 100%;
      position: relative;
      padding-top: 52.83582%;
      margin-bottom: 15px; }
      .access_map iframe {
        width: 100% !important;
        height: 100% !important;
        position: absolute;
        top: 0;
        left: 0; }
    .access_detail {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      row-gap: 30px; }
      .access_detail_item {
        width: 100%; }
        .access_detail_item .ttl {
          border-bottom: 1px solid #2a2a2a;
          font-weight: 700;
          position: relative;
          font-size: 16px;
          padding-left: 14px;
          padding-bottom: 5px;
          margin-bottom: 10px; }
          .access_detail_item .ttl:before {
            content: "";
            background: #f5ab18;
            position: absolute;
            left: 0;
            top: 0;
            width: 3px;
            height: calc(100% - 5px); }
  .news {
    background: url(../images/common/bg.png);
    padding: 50px 0; }
    .news_box {
      background: #fff;
      padding: 8.95522% 5.97015%; }
    .news_title {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #f5ab18;
      font-family: "Gabriela", serif;
      width: 100%;
      height: 40px;
      font-size: 16px;
      margin-bottom: 15px; }
    .news_list_item {
      border-bottom: 1px solid #d8d8d8;
      padding: 16px 0; }
      .news_list_item time {
        display: block;
        color: #f5ab18;
        font-family: "Roboto", sans-serif;
        font-weight: 700;
        line-height: 1.0;
        margin-bottom: 5px; }
      .news_list_item .ttl {
        font-size: 15px;
        font-weight: 700;
        line-height: 1.66667; }
      .news_list_item p {
        margin-top: 10px; } }

@media screen and (max-width: 1023px) and (min-width: 959px) {
  body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    color: #2a2a2a; }
    body :before, body :after {
      box-sizing: border-box; }
  img {
    max-width: 100%; }
  a {
    color: #2a2a2a;
    text-decoration: none;
    transition: all 0.4s; }
  h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: 400; }
  ul, ol {
    list-style: none; }
  address, i, em {
    font-style: normal; }
  .inner {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto; }
  .anim {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    transition: all 0.4s; }
    .anim.is-show {
      opacity: 1.0;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .header_inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2000;
    display: flex;
    justify-content: space-between;
    background: #2a2a2a; }
  .header .logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #fff; }
  .header_menu_btn {
    width: 25px;
    height: 19px;
    position: relative;
    margin: auto 0; }
    .header_menu_btn span {
      width: 100%;
      height: 2px;
      background: #fff;
      position: absolute;
      left: 0;
      transition: all 0.4s; }
      .header_menu_btn span:nth-child(1) {
        top: 0; }
      .header_menu_btn span:nth-child(2), .header_menu_btn span:nth-child(3) {
        top: 0;
        bottom: 0;
        margin: auto; }
      .header_menu_btn span:nth-child(4) {
        bottom: 0; }
  .header .gnav_list {
    font-size: 14px; }
    .header .gnav_list li a {
      font-weight: 500;
      position: relative; }
      .header .gnav_list li a:after {
        content: ""; }
  .header .gnav_link {
    display: flex; }
    .header .gnav_link li a {
      display: block;
      text-align: center;
      font-weight: 500;
      position: relative; }
      .header .gnav_link li a:before {
        content: ""; }
      .header .gnav_link li a img {
        display: block;
        margin: 12px auto 0; }
    .header .gnav_link_line a {
      background: #00b900;
      color: #fff; }
      .header .gnav_link_line a:before {
        background: url(../images/common/icon_line.svg) no-repeat center/contain; }
    .header .gnav_link_hp a {
      background: #ae2d5b;
      color: #fff; }
      .header .gnav_link_hp a:before {
        background: url(../images/common/icon_hp.svg) no-repeat center/contain; }
  .header.open:before {
    visibility: visible;
    opacity: 1.0; }
  .header.open .header_menu_btn span:nth-child(1), .header.open .header_menu_btn span:nth-child(4) {
    opacity: 0; }
  .header.open .header_menu_btn span:nth-child(2) {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  .header.open .header_menu_btn span:nth-child(3) {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  .header.open .gnav {
    right: 0; }
  .aside_link {
    position: fixed;
    right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    background: #fff;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-weight: 500;
    letter-spacing: 0.08em;
    box-shadow: 0px 0px 10px 0px rgba(179, 179, 179, 0.2); }
    .aside_link_free {
      display: block;
      background: #f5ab18;
      position: relative; }
      .aside_link_free:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-color: #f5ab18 transparent transparent transparent;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto; }
  .footer {
    color: #fff;
    position: relative; }
    .footer #pageTop {
      background: #fff;
      border: 1px solid currentColor;
      color: #2a2a2a;
      border-radius: 50%;
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: color 0.4s, background 0.4s;
      cursor: pointer;
      z-index: 1000; }
      .footer #pageTop span {
        display: block;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        position: relative; }
        .footer #pageTop span:after {
          content: "";
          height: 100%;
          position: absolute; }
      .footer #pageTop.fixed {
        position: fixed;
        bottom: 20px; }
    .footer .logo {
      text-align: center; }
    .footer address {
      margin: 0 auto; }
    .footer .copy {
      line-height: 1.0;
      text-align: center;
      border-top: 1px solid #393939; }
      .footer .copy small {
        font-size: 100%; }
  /* import */
  /* use Slick 
@import "_slick";
@import "_slick-theme";
*/
  /* ココから下には記入禁止 */
  .h2 {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.04em;
    position: relative;
    z-index: 2; }
    .h2:before {
      content: attr(data-txt);
      color: #d8d8d8;
      font-family: "Gabriela", serif;
      font-weight: 400;
      letter-spacing: 0;
      line-height: 1.0;
      text-align: center;
      position: absolute;
      z-index: -1; }
    .h2_wht {
      color: #fff; }
      .h2_wht:before {
        color: #3c3b3b; }
    .h2_light:before {
      color: #ededed; }
  .mv {
    position: relative; }
    .mv_subtitle {
      color: #fff;
      line-height: 1.0;
      text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5); }
    .mv_news {
      position: absolute;
      right: 0;
      background: #fff;
      display: flex;
      align-items: center; }
      .mv_news_title {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        border: 1px solid #f5ab18;
        font-family: "Gabriela", serif; }
      .mv_news_item a {
        display: block;
        position: relative;
        font-weight: 500; }
        .mv_news_item a:before {
          content: "";
          height: 1px;
          background: #2a2a2a;
          position: absolute;
          top: calc(50% + 5px);
          transition: all 0.4s; }
        .mv_news_item a:after {
          content: "";
          height: 1px;
          background: #2a2a2a;
          position: absolute;
          top: calc(50% + 5px);
          -webkit-transform: rotate(30deg);
                  transform: rotate(30deg);
          -webkit-transform-origin: right bottom;
                  transform-origin: right bottom;
          transition: all 0.4s; }
        .mv_news_item a time {
          display: block;
          font-family: "Roboto", sans-serif;
          font-weight: 700;
          line-height: 1.3;
          color: #f5ab18;
          text-decoration: none; }
        .mv_news_item a span {
          text-decoration: underline;
          -webkit-text-decoration-color: transparent;
                  text-decoration-color: transparent; }
  .lead {
    background: url(../images/common/bg.png); }
    .lead .inner {
      background: #fff; }
    .lead_box {
      display: -ms-grid;
      display: grid;
      justify-content: center;
      align-items: center; }
      .lead_box .pic_box img {
        display: block; }
    .lead_title {
      font-weight: 500;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      text-decoration: underline;
      -webkit-text-decoration-color: #f5ab18;
              text-decoration-color: #f5ab18;
      text-decoration-thickness: 3px; }
      .lead_title strong {
        font-weight: 500; }
    .lead_list {
      display: -ms-grid;
      display: grid;
      font-weight: 500; }
      .lead_list li {
        display: flex;
        align-items: flex-start; }
        .lead_list li:before {
          content: "";
          background: url(../images/common/icon_balloon.svg) no-repeat center/contain;
          flex-shrink: 0; }
    .lead_txt {
      position: relative;
      margin: 0 auto;
      z-index: 5; }
      .lead_txt:before {
        content: "";
        background: #f5ab18;
        position: absolute; }
      .lead_txt:after {
        content: "";
        background: #f5ab18;
        position: absolute; }
      .lead_txt_main {
        background: #2a2a2a;
        position: relative;
        text-align: center;
        font-weight: 700;
        letter-spacing: 0.04em;
        z-index: 2; }
        .lead_txt_main:before {
          content: "";
          background: #fff;
          position: absolute;
          top: 0;
          z-index: -1; }
        .lead_txt_main img {
          vertical-align: middle; }
  .point_box {
    position: relative;
    z-index: -1; }
  .point_bg {
    display: flex;
    position: relative; }
    .point_bg img {
      width: 50%;
      -o-object-fit: cover;
         object-fit: cover; }
    .point_bg:after {
      content: "";
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.35);
      position: absolute;
      top: 0;
      left: 0; }
  .point_title {
    position: absolute;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5); }
    .point_title_eng {
      font-family: "Gabriela", serif;
      line-height: 1.53333; }
    .point_title_jp {
      font-weight: 700;
      letter-spacing: 0.04em; }
      .point_title_jp strong {
        font-weight: 700; }
        .point_title_jp strong span {
          font-family: "Roboto", sans-serif; }
  .point_list {
    display: flex; }
    .point_list li {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      text-align: center;
      background: #2a2a2a;
      color: #fff;
      position: relative;
      z-index: 2;
      counter-increment: cnt; }
      .point_list li:before {
        content: counter(cnt);
        font-family: "Gabriela", serif;
        line-height: 1.0; }
      .point_list li:after {
        content: "";
        border-right: 1px solid #f5ab18;
        border-bottom: 1px solid #f5ab18;
        position: absolute;
        z-index: -1; }
      .point_list li .ttl {
        font-weight: 700;
        letter-spacing: 0.04em; }
      .point_list li .txt {
        font-weight: 500; }
      .point_list li:nth-child(even) {
        background: #3a3a3a; }
  .message {
    background: url(../images/common/bg.png); }
    .message .inner {
      background: #fff; }
    .message_box .pic_box {
      position: relative; }
      .message_box .pic_box .name {
        position: absolute;
        bottom: 0;
        background: #fff;
        font-weight: 500;
        line-height: 1.4; }
        .message_box .pic_box .name strong {
          font-weight: 500; }
        .message_box .pic_box .name span {
          font-family: "Gabriela", serif;
          font-weight: 400; }
    .message_title {
      font-weight: 700;
      letter-spacing: 0.04em; }
      .message_title_eng {
        font-family: "Gabriela", serif;
        text-align: right;
        display: flex;
        align-items: center; }
        .message_title_eng:before {
          content: "";
          flex-grow: 1;
          border-top: 1px solid #2a2a2a;
          border-bottom: 1px solid #f5ab18; }
  .menu {
    background: #2a2a2a; }
    .menu_item {
      background: #f3f3f3; }
      .menu_item_title {
        background: #fff;
        border: 1px solid #272727;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-end;
        z-index: 2;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
        .menu_item_title:before {
          content: "";
          width: 100%;
          height: 100%;
          border-right: 1px solid #f5ab18;
          border-bottom: 1px solid #f5ab18;
          position: absolute;
          z-index: -1; }
        .menu_item_title_jp {
          font-weight: 700;
          line-height: 1.0;
          letter-spacing: 0.04em; }
        .menu_item_title_eng {
          font-family: "Gabriela", serif;
          line-height: 1.0; }
      .menu_item .catch {
        border-bottom: 1px solid #2a2a2a;
        position: relative;
        font-weight: 700;
        line-height: 1.66667; }
        .menu_item .catch:before {
          content: "";
          background: #f5ab18;
          position: absolute;
          left: 0;
          top: 0; }
      .menu_item .pic_box {
        position: relative; }
    .menu_point {
      position: absolute;
      display: flex; }
      .menu_point li {
        background: #f5ab18;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        border-radius: 50%;
        font-weight: 700;
        text-shadow: 0px 0px 15px rgba(242, 153, 17, 0.6); }
    .menu_service_list li {
      background: #fff;
      display: flex;
      align-items: center;
      font-weight: 500;
      line-height: 1.57143; }
      .menu_service_list li img {
        border-radius: 50%;
        overflow: hidden;
        flex-shrink: 0; }
  .price {
    background: url(../images/common/bg.png); }
    .price .entrance_fee {
      position: relative;
      background: #fff;
      border: 1px solid #2a2a2a;
      z-index: 2; }
      .price .entrance_fee:before {
        content: "";
        width: 100%;
        height: 100%;
        border-right: 1px solid #f5ab18;
        border-bottom: 1px solid #f5ab18;
        position: absolute;
        z-index: -1; }
      .price .entrance_fee dl {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 700;
        line-height: 1.0; }
        .price .entrance_fee dl dd span {
          font-family: "Roboto", sans-serif;
          font-weight: 700; }
    .price_detail {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .price_detail_item {
        background: #f4f4f4;
        border: 1px solid #d3d3d3; }
        .price_detail_item .ttl {
          background: #2a2a2a;
          color: #fff;
          font-weight: 700;
          text-align: center;
          position: relative; }
          .price_detail_item .ttl:after {
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-color: #2a2a2a transparent transparent transparent;
            position: absolute;
            left: 0;
            right: 0;
            margin: auto; }
        .price_detail_item .term {
          text-align: center;
          background: #fff; }
          .price_detail_item .term > span {
            font-weight: 700; }
            .price_detail_item .term > span span {
              font-family: "Roboto", sans-serif; }
        .price_detail_item > dl {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          row-gap: 1.5em; }
          .price_detail_item > dl dt {
            font-weight: 700;
            flex-shrink: 0; }
          .price_detail_item > dl dd {
            font-family: "Roboto", "Noto Sans JP", sans-serif; }
            .price_detail_item > dl dd span {
              font-weight: 700; }
        .price_detail_item .pair_lesson {
          background: #fff; }
          .price_detail_item .pair_lesson_title {
            text-align: center;
            font-weight: 700; }
          .price_detail_item .pair_lesson dl {
            display: flex;
            flex-wrap: wrap; }
            .price_detail_item .pair_lesson dl dt {
              font-weight: 700; }
            .price_detail_item .pair_lesson dl dd span {
              font-family: "Roboto", sans-serif;
              font-weight: 700; }
      .price_detail_product {
        width: 100%;
        background: #fff;
        border: 1px solid #d3d3d3; }
        .price_detail_product .ttl {
          text-align: center;
          background: #2a2a2a;
          color: #fff;
          font-weight: 700; }
        .price_detail_product .product_list li dl {
          display: flex;
          align-items: center; }
          .price_detail_product .product_list li dl dt {
            font-weight: 700; }
          .price_detail_product .product_list li dl dd span {
            font-family: "Roboto", sans-serif;
            font-weight: 700; }
  .reserve {
    background: #2a2a2a; }
    .reserve_box {
      background: #fff; }
    .reserve_link {
      text-align: center;
      font-weight: 700; }
      .reserve_link .logo img {
        display: block;
        margin: 0 auto; }
      .reserve_link .btn {
        display: block;
        margin: 0 auto;
        position: relative;
        font-weight: 700;
        z-index: 2;
        background: #fff; }
        .reserve_link .btn:before {
          content: "";
          width: 100%;
          height: 100%;
          border: 1px solid #f5ab18;
          position: absolute;
          z-index: -1;
          transition: all 0.4s; }
        .reserve_link .btn span {
          background: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 100%;
          transition: all 0.4s;
          position: relative; }
          .reserve_link .btn span:before {
            content: "";
            background: #2a2a2a;
            position: absolute; }
          .reserve_link .btn span:after {
            content: "";
            height: 1px;
            background: #2a2a2a;
            position: absolute;
            -webkit-transform: rotate(30deg);
                    transform: rotate(30deg);
            -webkit-transform-origin: right bottom;
                    transform-origin: right bottom; }
    .reserve_date {
      background: #f4f4f4;
      text-align: center; }
      .reserve_date .ttl {
        background: #2a2a2a;
        color: #fff;
        font-weight: 700; }
      .reserve_date_body {
        font-weight: 700;
        line-height: 1.625; }
        .reserve_date_body p span {
          font-family: "Roboto", sans-serif; }
        .reserve_date_body p small {
          font-size: 13px; }
  .studio_gallery {
    position: relative;
    z-index: 5;
    display: flex;
    flex-wrap: wrap; }
    .studio_gallery li {
      font-weight: 500; }
      .studio_gallery li img {
        display: block;
        width: 100%; }
  .access_map {
    width: 100%;
    position: relative; }
    .access_map iframe {
      width: 100% !important;
      height: 100% !important;
      position: absolute;
      top: 0;
      left: 0; }
  .access_detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .access_detail_item .ttl {
      border-bottom: 1px solid #2a2a2a;
      font-weight: 700;
      position: relative; }
      .access_detail_item .ttl:before {
        content: "";
        background: #f5ab18;
        position: absolute;
        left: 0;
        top: 0; }
  .news {
    background: url(../images/common/bg.png); }
    .news_box {
      background: #fff; }
    .news_title {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #f5ab18;
      font-family: "Gabriela", serif; }
    .news_list_item {
      border-bottom: 1px solid #d8d8d8; }
      .news_list_item time {
        display: block;
        color: #f5ab18;
        font-family: "Roboto", sans-serif;
        font-weight: 700;
        line-height: 1.0; } }

@media print, screen and (min-width: 960px) {
  body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    color: #2a2a2a;
    font-size: 16px;
    line-height: 1.625; }
    body :before, body :after {
      box-sizing: border-box; }
  img {
    max-width: 100%; }
  a {
    color: #2a2a2a;
    text-decoration: none;
    transition: all 0.4s; }
  h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: 400; }
  ul, ol {
    list-style: none; }
  address, i, em {
    font-style: normal; }
  .inner {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto; }
  .anim {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    transition: all 0.4s; }
    .anim.is-show {
      opacity: 1.0;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .header {
    height: 88px; }
    .header_inner {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 2000;
      display: flex;
      justify-content: space-between;
      background: #2a2a2a;
      height: 88px; }
    .header .logo {
      width: 239px;
      margin-right: 1em; }
      .header .logo a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        background: #fff;
        padding: 10px; }
        .header .logo a img {
          width: 178px; }
    .header_menu_btn {
      width: 25px;
      height: 19px;
      position: relative;
      margin: auto 0; }
      .header_menu_btn span {
        width: 100%;
        height: 2px;
        background: #fff;
        position: absolute;
        left: 0;
        transition: all 0.4s; }
        .header_menu_btn span:nth-child(1) {
          top: 0; }
        .header_menu_btn span:nth-child(2), .header_menu_btn span:nth-child(3) {
          top: 0;
          bottom: 0;
          margin: auto; }
        .header_menu_btn span:nth-child(4) {
          bottom: 0; }
    .header .gnav {
      flex-shrink: 0;
      flex-grow: 1;
      max-width: 1200px;
      display: flex;
      gap: 10px;
      padding-right: clamp(10px, 2vw, 28px); }
      .header .gnav_list {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: space-evenly;
        height: 100%;
        flex-grow: 1;
        -webkit-column-gap: 16px;
           -moz-column-gap: 16px;
                column-gap: 16px; }
        .header .gnav_list li a {
          font-weight: 500;
          position: relative;
          color: #fff; }
          .header .gnav_list li a:after {
            content: "";
            width: 0;
            height: 1px;
            background: #f5ab18;
            position: absolute;
            bottom: -0.5em;
            left: 0;
            transition: all 0.4s; }
          .header .gnav_list li a:hover:after {
            width: 100%; }
      .header .gnav_link {
        display: flex;
        -webkit-column-gap: 15px;
           -moz-column-gap: 15px;
                column-gap: 15px; }
        .header .gnav_link li a {
          display: block;
          text-align: center;
          font-weight: 500;
          position: relative;
          padding: 12px 8px;
          font-size: 14px;
          line-height: 1.42857; }
          .header .gnav_link li a:before {
            content: "";
            width: 17px;
            height: 17px;
            position: absolute;
            top: 4px;
            left: 5px; }
          .header .gnav_link li a img {
            display: block;
            margin: 12px auto 0; }
          .header .gnav_link li a:hover {
            -webkit-filter: brightness(110%);
                    filter: brightness(110%); }
        .header .gnav_link_line a {
          background: #00b900;
          color: #fff; }
          .header .gnav_link_line a:before {
            background: url(../images/common/icon_line.svg) no-repeat center/contain; }
        .header .gnav_link_hp a {
          background: #ae2d5b;
          color: #fff; }
          .header .gnav_link_hp a:before {
            background: url(../images/common/icon_hp.svg) no-repeat center/contain; }
    .header.open:before {
      visibility: visible;
      opacity: 1.0; }
    .header.open .header_menu_btn span:nth-child(1), .header.open .header_menu_btn span:nth-child(4) {
      opacity: 0; }
    .header.open .header_menu_btn span:nth-child(2) {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .header.open .header_menu_btn span:nth-child(3) {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
    .header.open .gnav {
      right: 0; }
  .aside_link {
    position: fixed;
    right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    background: #fff;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-weight: 500;
    letter-spacing: 0.08em;
    box-shadow: 0px 0px 10px 0px rgba(179, 179, 179, 0.2);
    top: 256px;
    gap: 20px;
    font-size: 18px;
    padding-bottom: 1em; }
    .aside_link_free {
      display: block;
      background: #f5ab18;
      position: relative;
      padding: 7px 5px; }
      .aside_link_free:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-color: #f5ab18 transparent transparent transparent;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        border-width: 6px 6px 0 6px;
        bottom: -6px; }
    .aside_link:hover {
      background: #2a2a2a;
      color: #fff; }
  .footer {
    color: #fff;
    position: relative;
    padding-top: 60px;
    background: url(../images/common/footer_bg.png) no-repeat left 90px top/contain, #2a2a2a; }
    .footer #pageTop {
      background: #fff;
      border: 1px solid currentColor;
      color: #2a2a2a;
      border-radius: 50%;
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: color 0.4s, background 0.4s;
      cursor: pointer;
      z-index: 1000;
      width: 70px;
      height: 70px;
      right: 24px;
      bottom: calc(100% - 35px); }
      .footer #pageTop span {
        display: block;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        position: relative;
        width: 19px;
        height: 19px;
        margin-top: 12px;
        border-top: 2px solid currentColor;
        border-left: 2px solid currentColor; }
        .footer #pageTop span:after {
          content: "";
          height: 100%;
          position: absolute;
          width: calc(100% - 4px);
          border-left: 2px solid #f5ab18;
          bottom: -2px;
          left: 2px; }
      .footer #pageTop:hover {
        color: #fff;
        background: #2a2a2a; }
      .footer #pageTop.fixed {
        position: fixed;
        bottom: 20px; }
    .footer .logo {
      text-align: center;
      margin-bottom: 38px; }
    .footer address {
      margin: 0 auto;
      font-size: 13px;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      text-align: left; }
    .footer .copy {
      line-height: 1.0;
      text-align: center;
      border-top: 1px solid #393939;
      font-size: 13px;
      margin-top: 60px;
      padding: 20px 0; }
      .footer .copy small {
        font-size: 100%; }
  /* import */
  /* use Slick 
@import "_slick";
@import "_slick-theme";
*/
  /* ココから下には記入禁止 */
  .forSP {
    display: none !important; }
  .h2 {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.04em;
    position: relative;
    z-index: 2;
    font-size: 34px;
    margin-bottom: 40px; }
    .h2:before {
      content: attr(data-txt);
      color: #d8d8d8;
      font-family: "Gabriela", serif;
      font-weight: 400;
      letter-spacing: 0;
      line-height: 1.0;
      text-align: center;
      position: absolute;
      z-index: -1;
      font-size: 100px;
      bottom: 8px;
      left: 0;
      width: 100%; }
    .h2_wht {
      color: #fff; }
      .h2_wht:before {
        color: #3c3b3b; }
    .h2_light:before {
      color: #ededed; }
  .mv {
    position: relative;
    height: 560px;
    background: url(../images/home/mv_img.jpg) no-repeat center/cover; } }
  @media print, screen and (min-width: 960px) and (min-width: 1441px) {
    .mv {
      height: 669px;
      background: url(../images/home/mv_img_wide.jpg) no-repeat center/cover; } }

@media print, screen and (min-width: 960px) {
    .mv_inner {
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center; } }
    @media print, screen and (min-width: 960px) and (min-width: 1441px) {
      .mv_inner {
        max-width: 1336px; } }

@media print, screen and (min-width: 960px) {
    .mv_subtitle {
      color: #fff;
      line-height: 1.0;
      text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5);
      font-size: 26px;
      margin-left: 20px;
      margin-top: -1em; }
    .mv_news {
      position: absolute;
      right: 0;
      background: #fff;
      display: flex;
      align-items: center;
      padding: 10px;
      -webkit-column-gap: 20px;
         -moz-column-gap: 20px;
              column-gap: 20px;
      bottom: 30px;
      width: 710px; }
      .mv_news_title {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        border: 1px solid #f5ab18;
        font-family: "Gabriela", serif;
        font-size: 21px;
        width: 102px;
        height: 56px; }
      .mv_news_item {
        flex-grow: 1; }
        .mv_news_item a {
          display: block;
          position: relative;
          font-weight: 500;
          padding-right: 80px; }
          .mv_news_item a:before {
            content: "";
            height: 1px;
            background: #2a2a2a;
            position: absolute;
            top: calc(50% + 5px);
            transition: all 0.4s;
            width: 30px;
            right: 30px; }
          .mv_news_item a:after {
            content: "";
            height: 1px;
            background: #2a2a2a;
            position: absolute;
            top: calc(50% + 5px);
            -webkit-transform: rotate(30deg);
                    transform: rotate(30deg);
            -webkit-transform-origin: right bottom;
                    transform-origin: right bottom;
            transition: all 0.4s;
            width: 8px;
            right: 30px; }
          .mv_news_item a time {
            display: block;
            font-family: "Roboto", sans-serif;
            font-weight: 700;
            line-height: 1.3;
            color: #f5ab18;
            text-decoration: none;
            font-size: 14px; }
          .mv_news_item a span {
            text-decoration: underline;
            -webkit-text-decoration-color: transparent;
                    text-decoration-color: transparent; }
          .mv_news_item a:hover {
            color: #f5ab18; }
            .mv_news_item a:hover:before, .mv_news_item a:hover:after {
              background: #f5ab18;
              right: 24px; }
            .mv_news_item a:hover span {
              -webkit-text-decoration-color: #f5ab18;
                      text-decoration-color: #f5ab18; }
  .lead {
    background: url(../images/common/bg.png); }
    .lead .inner {
      background: #fff;
      padding: 100px 0 0; }
    .lead_box {
      display: -ms-grid;
      display: grid;
      justify-content: center;
      align-items: center;
      -ms-grid-columns: 21.75926% 62.03704%;
          grid-template-columns: 21.75926% 62.03704%;
      gap: 20px 5%; }
      .lead_box .pic_box {
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        grid-row: 1 / 3;
        padding-bottom: 13px; }
        .lead_box .pic_box img {
          display: block;
          border-radius: 0 30px 0 30px;
          -webkit-filter: drop-shadow(13px 13px 0px #e0e0e0);
                  filter: drop-shadow(13px 13px 0px #e0e0e0); }
    .lead_title {
      font-weight: 500;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      text-decoration: underline;
      -webkit-text-decoration-color: #f5ab18;
              text-decoration-color: #f5ab18;
      text-decoration-thickness: 3px;
      font-size: 20px;
      text-underline-offset: 10px;
      -webkit-transform: rotate(-2.5deg);
              transform: rotate(-2.5deg); }
      .lead_title strong {
        font-weight: 500;
        font-size: 30px; }
    .lead_list {
      display: -ms-grid;
      display: grid;
      font-weight: 500;
      -ms-grid-columns: auto auto;
          grid-template-columns: auto auto;
      gap: 24px 20px;
      font-size: 20px;
      line-height: 1.3; }
      .lead_list li {
        display: flex;
        align-items: flex-start;
        gap: 14px; }
        .lead_list li:before {
          content: "";
          background: url(../images/common/icon_balloon.svg) no-repeat center/contain;
          flex-shrink: 0;
          width: 31px;
          height: 26px; }
    .lead_txt {
      position: relative;
      margin: 0 auto;
      z-index: 5;
      width: 750px;
      -webkit-transform: translateY(120px);
              transform: translateY(120px); }
      .lead_txt:before {
        content: "";
        background: #f5ab18;
        position: absolute;
        width: 3px;
        height: 110px;
        right: -10px;
        top: 11px; }
      .lead_txt:after {
        content: "";
        background: #f5ab18;
        position: absolute;
        width: calc(100% + 10px);
        height: 80px;
        right: -10px;
        bottom: -12px;
        -webkit-clip-path: polygon(100% 3.75%, calc(50% - 5px) 100%, 0 3.75%, 0 0, calc(50% - 5px) 96.25%, 100% 0);
                clip-path: polygon(100% 3.75%, calc(50% - 5px) 100%, 0 3.75%, 0 0, calc(50% - 5px) 96.25%, 100% 0); }
      .lead_txt_main {
        background: #2a2a2a;
        position: relative;
        text-align: center;
        font-weight: 700;
        letter-spacing: 0.04em;
        z-index: 2;
        padding: 40px 0 80px;
        font-size: 38px;
        -webkit-clip-path: polygon(0 61%, 0 0, 100% 0, 100% 61%, 50% 100%);
                clip-path: polygon(0 61%, 0 0, 100% 0, 100% 61%, 50% 100%); }
        .lead_txt_main:before {
          content: "";
          background: #fff;
          position: absolute;
          top: 0;
          z-index: -1;
          width: calc(100% - 6px);
          height: calc(100% - 3px);
          left: 3px;
          -webkit-clip-path: polygon(0 61%, 0 0, 100% 0, 100% 61%, 50% 100%);
                  clip-path: polygon(0 61%, 0 0, 100% 0, 100% 61%, 50% 100%); }
        .lead_txt_main img {
          vertical-align: middle;
          margin-right: 18px; }
  .point_box {
    position: relative;
    z-index: -1; }
  .point_bg {
    display: flex;
    position: relative;
    min-height: 397px; }
    .point_bg img {
      width: 50%;
      -o-object-fit: cover;
         object-fit: cover; }
    .point_bg:after {
      content: "";
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.35);
      position: absolute;
      top: 0;
      left: 0; }
  .point_title {
    position: absolute;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5);
    bottom: 75px;
    row-gap: 10px; }
    .point_title_eng {
      font-family: "Gabriela", serif;
      line-height: 1.53333;
      font-size: 30px; }
    .point_title_jp {
      font-weight: 700;
      letter-spacing: 0.04em;
      font-size: 42px;
      line-height: 1.0; }
      .point_title_jp strong {
        font-weight: 700;
        font-size: 62px; }
        .point_title_jp strong span {
          font-family: "Roboto", sans-serif;
          font-size: 68px; }
  .point_list {
    display: flex; }
    .point_list li {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      text-align: center;
      background: #2a2a2a;
      color: #fff;
      position: relative;
      z-index: 2;
      counter-increment: cnt;
      width: 25%;
      height: 293px;
      padding: 10px;
      row-gap: 12px; }
      .point_list li:before {
        content: counter(cnt);
        font-family: "Gabriela", serif;
        line-height: 1.0;
        font-size: 46px; }
      .point_list li:after {
        content: "";
        border-right: 1px solid #f5ab18;
        border-bottom: 1px solid #f5ab18;
        position: absolute;
        z-index: -1;
        width: calc(100% - 22px);
        height: calc(100% - 25px);
        right: 10px;
        bottom: 10px; }
      .point_list li .ttl {
        font-weight: 700;
        letter-spacing: 0.04em;
        font-size: 24px; }
      .point_list li .txt {
        font-weight: 500; }
      .point_list li:nth-child(even) {
        background: #3a3a3a; }
  .message {
    background: url(../images/common/bg.png); }
    .message .inner {
	  padding: 0 0 120px;
      background: #fff; }
    .message_box {
      padding: 100px 5.55556% 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px; }
      .message_box .pic_box {
        position: relative;
        width: 354px;
        flex-shrink: 0;
        padding-right: 20px; }
        .message_box .pic_box img {
          border-radius: 0 30px 0 30px;
          -webkit-filter: drop-shadow(20px 20px 0px #e0e0e0);
                  filter: drop-shadow(20px 20px 0px #e0e0e0); }
        .message_box .pic_box .name {
          position: absolute;
          bottom: 0;
          background: #fff;
          font-weight: 500;
          line-height: 1.4;
          left: 22px;
          padding: 10px 26px;
          font-size: 13px;
          border-radius: 0 30px 0 0; }
          .message_box .pic_box .name strong {
            font-weight: 500;
            font-size: 21px; }
          .message_box .pic_box .name span {
            font-family: "Gabriela", serif;
            font-weight: 400;
            font-size: 14px; }
      .message_box .txt_box {
        width: 545px;
		min-height: 417px; }
        .message_box .txt_box p + p {
          margin-top: 1.625em; }
    .message_title {
      font-weight: 700;
      letter-spacing: 0.04em;
      font-size: 40px; }
      .message_title_eng {
        font-family: "Gabriela", serif;
        text-align: right;
        display: flex;
        align-items: center;
        font-size: 18px;
        gap: 16px;
        margin-bottom: 30px; }
        .message_title_eng:before {
          content: "";
          flex-grow: 1;
          border-top: 1px solid #2a2a2a;
          border-bottom: 1px solid #f5ab18;
          height: 8px; }
  .menu {
    background: #2a2a2a;
    padding: 100px 0; }
    .menu_item {
      background: #f3f3f3;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 47.91667% 43.54167%;
          grid-template-columns: 47.91667% 43.54167%;
      -ms-grid-rows: auto auto 1fr auto auto;
          grid-template-rows: auto auto 1fr auto auto;
      justify-content: space-between;
      align-items: flex-start;
      padding: 0 5.55556% 60px;
      margin-top: 100px; }
      .menu_item_title {
        background: #fff;
        border: 1px solid #272727;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-end;
        z-index: 2;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1 / 3;
        gap: 9px;
        padding: 28px 0 22px;
        margin-bottom: 20px; }
        .menu_item_title:before {
          content: "";
          width: 100%;
          height: 100%;
          border-right: 1px solid #f5ab18;
          border-bottom: 1px solid #f5ab18;
          position: absolute;
          z-index: -1;
          right: -6px;
          bottom: -6px; }
        .menu_item_title_jp {
          font-weight: 700;
          line-height: 1.0;
          letter-spacing: 0.04em;
          font-size: 28px; }
        .menu_item_title_eng {
          font-family: "Gabriela", serif;
          line-height: 1.0;
          font-size: 18px; }
      .menu_item .catch {
        border-bottom: 1px solid #2a2a2a;
        position: relative;
        font-weight: 700;
        line-height: 1.66667;
        font-size: 24px;
        padding-left: 20px;
        padding-bottom: 12px;
        margin-bottom: 32px; }
        .menu_item .catch:before {
          content: "";
          background: #f5ab18;
          position: absolute;
          left: 0;
          top: 0;
          width: 4px;
          height: calc(100% - 12px); }
      .menu_item .txt_box p + p {
        margin-top: 1.625em; }
      .menu_item .pic_box {
        position: relative;
        -ms-grid-row: 2;
        -ms-grid-row-span: 2;
        grid-row: 2 / 4;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        grid-column: 2 / 3;
        margin-right: 20px;
        margin-bottom: 20px; }
        .menu_item .pic_box img {
          border-radius: 0 30px 0 30px;
          -webkit-filter: drop-shadow(20px 20px 0px #e0e0e0);
                  filter: drop-shadow(20px 20px 0px #e0e0e0); }
    .menu_point {
      position: absolute;
      display: flex;
      right: 20px;
      bottom: 20px;
      gap: 18px; }
      .menu_point li {
        background: #f5ab18;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        border-radius: 50%;
        font-weight: 700;
        text-shadow: 0px 0px 15px rgba(242, 153, 17, 0.6);
        width: 107px;
        height: 107px;
        font-size: 14px;
        line-height: 1.42857; }
    .menu_service {
      -ms-grid-column: 1;
      -ms-grid-column-span: 2;
      grid-column: 1 / 3;
      margin-top: 40px; }
      .menu_service_list {
        display: flex;
        flex-wrap: wrap;
        gap: 2px; }
        .menu_service_list li {
          background: #fff;
          display: flex;
          align-items: center;
          font-weight: 500;
          line-height: 1.57143;
          width: calc((100% - 4px) / 3);
          gap: 17px;
          padding: 16px 26px;
          font-size: 14px; }
          .menu_service_list li img {
            border-radius: 50%;
            overflow: hidden;
            flex-shrink: 0;
            width: 65px;
            height: 65px;
            border: 2px solid #ffb728; }
  .price {
    background: url(../images/common/bg.png);
    padding: 120px 0 100px; }
    .price .entrance_fee {
      position: relative;
      background: #fff;
      border: 1px solid #2a2a2a;
      z-index: 2;
      width: 573px;
      margin: 0 auto 55px;
      padding: 30px 20px; }
      .price .entrance_fee:before {
        content: "";
        width: 100%;
        height: 100%;
        border-right: 1px solid #f5ab18;
        border-bottom: 1px solid #f5ab18;
        position: absolute;
        z-index: -1;
        right: -8px;
        bottom: -8px; }
      .price .entrance_fee dl {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 700;
        line-height: 1.0;
        gap: 38px;
        font-size: 24px; }
        .price .entrance_fee dl dd span {
          font-family: "Roboto", sans-serif;
          font-weight: 700;
          font-size: 40px; }
    .price_detail {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 50px 0; }
      .price_detail_item {
        background: #f4f4f4;
        border: 1px solid #d3d3d3;
        width: 47.68519%;
        padding-bottom: 3.7037%; }
        .price_detail_item .ttl {
          background: #2a2a2a;
          color: #fff;
          font-weight: 700;
          text-align: center;
          position: relative;
          font-size: 24px;
          padding: 22px; }
          .price_detail_item .ttl:after {
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-color: #2a2a2a transparent transparent transparent;
            position: absolute;
            left: 0;
            right: 0;
            margin: auto;
            border-width: 15px 15px 0 15px;
            bottom: -15px; }
        .price_detail_item .term {
          text-align: center;
          background: #fff;
          padding: 28px 0; }
          .price_detail_item .term > span {
            font-weight: 700;
            border-bottom: 4px solid #f5ab18;
            font-size: 24px; }
            .price_detail_item .term > span span {
              font-family: "Roboto", sans-serif;
              font-size: 40px;
              margin-right: 12px; }
        .price_detail_item > dl {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          row-gap: 1.5em;
          padding: 7.76699% 11.65049%; }
          .price_detail_item > dl dt {
            font-weight: 700;
            flex-shrink: 0;
            width: 26.90355%;
            font-size: 18px; }
          .price_detail_item > dl dd {
            font-family: "Roboto", "Noto Sans JP", sans-serif;
            width: 73.09645%; }
            .price_detail_item > dl dd span {
              font-weight: 700;
              font-size: 26px; }
        .price_detail_item .pair_lesson {
          background: #fff;
          margin: 0 11.65049%;
          padding: 15px 40px; }
          .price_detail_item .pair_lesson_title {
            text-align: center;
            font-weight: 700;
            border-bottom: 2px dotted #2a2a2a;
            padding-bottom: 5px;
            margin-bottom: 1em; }
            .price_detail_item .pair_lesson_title span {
              font-size: 14px; }
          .price_detail_item .pair_lesson dl {
            display: flex;
            flex-wrap: wrap;
            row-gap: 1em; }
            .price_detail_item .pair_lesson dl dt {
              font-weight: 700;
              font-size: 18px;
              width: 19.35484%; }
            .price_detail_item .pair_lesson dl dd {
              line-height: 1.23077;
              width: 80.64516%; }
              .price_detail_item .pair_lesson dl dd span {
                font-family: "Roboto", sans-serif;
                font-weight: 700;
                font-size: 26px; }
              .price_detail_item .pair_lesson dl dd small {
                font-size: 14px; }
      .price_detail_product {
        width: 100%;
        background: #fff;
        border: 1px solid #d3d3d3; }
        .price_detail_product .ttl {
          text-align: center;
          background: #2a2a2a;
          color: #fff;
          font-weight: 700;
          font-size: 20px;
          padding: 12px; }
        .price_detail_product .product_list {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          padding: 32px 0; }
	.price_detail_product .product_list li {
		width: 278px;
	}
	.price_detail_product .product_list li:nth-of-type(3){
		width: 284px;
	}
	.price_detail_product .product_list li:last-of-type{
		width: 840px;
		padding-top: 20px;
	}
	.wear img{
		margin-right: 25px;
	}
	.wear dt{
		min-width: 150px;
		text-align: left;
	}
	.wear_list{
		padding-top: 20px;
	}
	.price_detail_product .product_list li dl {
            display: flex;
            align-items: center; }
            .price_detail_product .product_list li dl dt {
              font-weight: 700; }
            .price_detail_product .product_list li dl dd span {
              font-family: "Roboto", sans-serif;
              font-weight: 700;
              font-size: 26px; }
	.wear{
		display: flex;
		width: 100%;
	}
  .reserve {
    background: #2a2a2a;
    padding: 120px 0 100px; }
    .reserve_box {
      background: #fff;
      padding: 60px 5.55556%;
      display: flex;
      justify-content: space-between;
      align-items: center; }
    .reserve_link {
      text-align: center;
      font-weight: 700;
      font-size: 18px;
      line-height: 2.0;
      width: 43.22917%; }
      .reserve_link p + p {
        margin-top: 20px; }
      .reserve_link .logo img {
        display: block;
        margin: 0 auto; }
      .reserve_link .btn {
        display: block;
        margin: 0 auto;
        position: relative;
        font-weight: 700;
        z-index: 2;
        background: #fff;
        width: 326px;
        height: 62px; }
        .reserve_link .btn:before {
          content: "";
          width: 100%;
          height: 100%;
          border: 1px solid #f5ab18;
          position: absolute;
          z-index: -1;
          transition: all 0.4s;
          right: -8px;
          bottom: -8px; }
        .reserve_link .btn span {
          background: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 100%;
          transition: all 0.4s;
          position: relative;
          border: 2px solid #2a2a2a; }
          .reserve_link .btn span:before {
            content: "";
            background: #2a2a2a;
            position: absolute;
            width: 29px;
            height: 1px;
            right: 20px;
            top: calc(50% + 5px); }
          .reserve_link .btn span:after {
            content: "";
            height: 1px;
            background: #2a2a2a;
            position: absolute;
            -webkit-transform: rotate(30deg);
                    transform: rotate(30deg);
            -webkit-transform-origin: right bottom;
                    transform-origin: right bottom;
            width: 7px;
            right: 20px;
            top: calc(50% + 5px); }
        .reserve_link .btn:hover span {
          -webkit-transform: translate(8px, 8px);
                  transform: translate(8px, 8px);
          background: #f5ab18; }
    .reserve_date {
      background: #f4f4f4;
      text-align: center;
      width: 43.95833%; }
      .reserve_date .ttl {
        background: #2a2a2a;
        color: #fff;
        font-weight: 700;
        padding: 10px; }
      .reserve_date_body {
        font-weight: 700;
        line-height: 1.625;
        padding: 20px; }
        .reserve_date_body p + p {
          margin-top: 10px; }
        .reserve_date_body p span {
          font-family: "Roboto", sans-serif;
          font-size: 22px; }
        .reserve_date_body p small {
          font-size: 13px; }
  .studio {
    padding: 120px 0 80px; }
    .studio_gallery {
      position: relative;
      z-index: 5;
      display: flex;
      flex-wrap: wrap;
      gap: 20px 4.16667%; }
      .studio_gallery li {
        font-weight: 500;
        width: 30.55556%;
        font-size: 14px; }
        .studio_gallery li img {
          display: block;
          width: 100%;
          margin-bottom: 5px; }
  .access {
    padding: 80px 0 60px; }
    .access_map {
      width: 100%;
      position: relative;
      padding-top: 39.07407%;
      margin-bottom: 40px; }
      .access_map iframe {
        width: 100% !important;
        height: 100% !important;
        position: absolute;
        top: 0;
        left: 0; }
    .access_detail {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .access_detail_item {
        width: 46.94444%; }
        .access_detail_item .ttl {
          border-bottom: 1px solid #2a2a2a;
          font-weight: 700;
          position: relative;
          font-size: 24px;
          padding-left: 20px;
          padding-bottom: 10px;
          margin-bottom: 30px; }
          .access_detail_item .ttl:before {
            content: "";
            background: #f5ab18;
            position: absolute;
            left: 0;
            top: 0;
            width: 4px;
            height: calc(100% - 10px); }
  .news {
    background: url(../images/common/bg.png);
    padding: 80px 0; }
    .news_box {
      background: #fff;
      padding: 60px 5.55556%;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 20px; }
    .news_title {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #f5ab18;
      font-family: "Gabriela", serif;
      width: 185px;
      height: 143px;
      font-size: 28px; }
    .news_list {
      width: 683px; }
      .news_list_item {
        border-bottom: 1px solid #d8d8d8;
        padding: 16px 0; }
        .news_list_item:first-child {
          padding-top: 0; }
        .news_list_item time {
          display: block;
          color: #f5ab18;
          font-family: "Roboto", sans-serif;
          font-weight: 700;
          line-height: 1.0;
          margin-bottom: 10px; }
        .news_list_item .ttl {
          font-size: 18px;
          font-weight: 500;
          line-height: 1.33333; }
        .news_list_item p {
          margin-top: 10px; } }

/*# sourceMappingURL=map/styles.css.map */
