@charset "UTF-8";
/* -----------------------------------------CSS Information
File Name:base.css
Author:T.osaka
Style Info:ブラウザスタイルの画面毎の設定
-------------------------------------------------------------
01:共通
02:Home
03:Whats New
04:Price List
05:Access
06:Contact
07:予約
08:レッスン
00:下層ページ
-----------------------------------------------------------*/
/*----------------------------------------------------------
01:共通
-----------------------------------------------------------*/
main.home, main.aboutus, main.vision, main.gdr, main.trackman {
  background-color: #ffffff; }

main.whatsnew, main.pricelist, main.access,
main.contact, main.confirm, main.sent, main.reservation_info {
  padding: 10px; }
  main.whatsnew section.wrap_content, main.pricelist section.wrap_content, main.access section.wrap_content,
  main.contact section.wrap_content, main.confirm section.wrap_content, main.sent section.wrap_content, main.reservation_info section.wrap_content {
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.7);
    border: solid 1px #717071; }
  @media screen and (min-width: 550px) {
    main.whatsnew, main.pricelist, main.access,
    main.contact, main.confirm, main.sent, main.reservation_info {
      /*　画面サイズ 550px以上から適用　*/
      padding: 20px; }
      main.whatsnew section.wrap_content, main.pricelist section.wrap_content, main.access section.wrap_content,
      main.contact section.wrap_content, main.confirm section.wrap_content, main.sent section.wrap_content, main.reservation_info section.wrap_content {
        padding: 20px; } }

main.whatsnew::before, main.pricelist::before, main.access::before,
main.contact::before, main.confirm::before, main.sent::before, main.reservation_info::before {
  content: "";
  display: block;
  position: fixed;
  /* 擬似要素ごと固定 */
  top: 0;
  left: 0;
  z-index: -1;
  background-color: transparent;
  width: 100%;
  /* 横幅いっぱい */
  height: 100vh;
  /* 縦幅いっぱい */ }
  @media screen and (min-width: 550px) {
    main.whatsnew::before, main.pricelist::before, main.access::before,
    main.contact::before, main.confirm::before, main.sent::before, main.reservation_info::before {
      /*　画面サイズ 550px以上から適用　*/
      width: 770px;
      left: calc( (100% - 770px) / 2); } }

main.whatsnew::before {
  background: url("../img/whatsnew_bg.png") no-repeat left top;
  background-size: cover;
  /* cover指定できる */ }

main.pricelist::before {
  background: url("../img/pricelist_bg.png") no-repeat left top;
  background-size: cover;
  /* cover指定できる */ }

main.access::before {
  background: url("../img/access_bg.png") no-repeat left top;
  background-size: cover;
  /* cover指定できる */ }

main.contact::before, main.confirm::before, main.sent::before {
  background: url("../img/contact_bg.png") no-repeat left top;
  background-size: cover;
  /* cover指定できる */ }
  @media screen and (min-width: 550px) {
    main.contact::before, main.confirm::before, main.sent::before {
      /*　画面サイズ 550px以上から適用　*/
      width: 770px;
      left: calc( (100% - 770px) / 2); } }

main.reservation_info::before {
  background: url("../img/reservation-info_bg.png") no-repeat right top;
  background-size: cover;
  /* cover指定できる */ }

ul.list_1to2column li img {
  margin-bottom: 10px; }
ul.list_1to2column li + li {
  margin-top: 20px; }
@media screen and (min-width: 550px) {
  ul.list_1to2column {
    /*　画面サイズ 550px以上から適用　*/
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    clear: both;
    overflow: hidden;
    width: 100%; }
    ul.list_1to2column li {
      display: block;
      width: 48%; }
    ul.list_1to2column li:nth-child(odd) {
      float: left;
      margin-right: 2%; }
    ul.list_1to2column li:nth-child(even) {
      float: right;
      margin-left: 2%; }
    ul.list_1to2column li + li {
      margin-top: 0; } }

/*----------------------------------------------------------
02:Home
-----------------------------------------------------------*/
main.home {
  /*section.unit_worries END*/
  /*section.unit_point END*/
  /*section.unit_point1 END*/
  /*section.unit_mode END*/
  /*section.unit_point2 END*/
  /*section.unit_point3 END*/ }
  main.home section.unit_kv {
    padding-bottom: 20px;
    background-color: #fffcdb; }
    main.home section.unit_kv .slick-dots {
      bottom: -20px; }
  main.home section.unit_worries {
    padding: 20px 20px 30px 20px;
    background-color: #fffcdb; }
    main.home section.unit_worries h2 {
      margin-bottom: 20px; }
    main.home section.unit_worries img + img {
      margin-top: 20px; }
  main.home section.unit_point, main.home section.unit_point1, main.home section.unit_point2, main.home section.unit_point3 {
    position: relative;
    padding: 40px 20px 30px 20px;
    width: 100%;
    color: #ffffff; }
    main.home section.unit_point img.item_point, main.home section.unit_point1 img.item_point, main.home section.unit_point2 img.item_point, main.home section.unit_point3 img.item_point {
      z-index: 5;
      position: absolute;
      top: -20px;
      left: 40%;
      width: 20%; }
    main.home section.unit_point ul.list_1to2column li, main.home section.unit_point1 ul.list_1to2column li, main.home section.unit_point2 ul.list_1to2column li, main.home section.unit_point3 ul.list_1to2column li {
      clear: both;
      overflow: hidden; }
      main.home section.unit_point ul.list_1to2column li img.item_yajirushi, main.home section.unit_point1 ul.list_1to2column li img.item_yajirushi, main.home section.unit_point2 ul.list_1to2column li img.item_yajirushi, main.home section.unit_point3 ul.list_1to2column li img.item_yajirushi {
        float: left;
        width: 15px;
        margin: 0 5px 2px 0; }
  main.home section.unit_point {
    background: url("../img/home_point-bg.jpg") no-repeat center top;
    background-size: auto 100%; }
    main.home section.unit_point h2 {
      margin-bottom: 20px; }
  main.home section.unit_point1 {
    background: #000000 url("../img/home_point1-bg.jpg") no-repeat center top;
    background-size: 100% auto; }
    main.home section.unit_point1 h2 {
      margin-bottom: 270px; }
    main.home section.unit_point1 p.item_read {
      margin-bottom: 20px; }
  main.home section.unit_mode {
    padding: 25px 20px 30px 20px;
    background: #000000 url("../img/home_mode-bg.png") no-repeat center top;
    background-size: 100% auto;
    color: #ffffff; }
    main.home section.unit_mode h2 {
      width: 70%;
      margin-bottom: 30px; }
    main.home section.unit_mode h3 {
      margin-bottom: 5px;
      padding-bottom: 5px;
      font-size: 2.0rem;
      color: #008ccf;
      border-bottom: solid 2px #ffffff; }
    main.home section.unit_mode p + h3 {
      margin-top: 20px; }
  main.home section.unit_point2 {
    padding-top: 5px;
    background: #000000 url("../img/home_point2-bg.jpg") no-repeat center top;
    background-size: 100% auto; }
    main.home section.unit_point2 h2 {
      width: 97%;
      margin-left: -15px;
      margin-bottom: 270px; }
    main.home section.unit_point2 h3 {
      margin-bottom: 20px; }
    main.home section.unit_point2 p.item_read {
      margin-bottom: 20px; }
  main.home section.unit_point3 {
    background: #000000 url("../img/home_point3-bg.jpg") no-repeat center top;
    background-size: 100% auto; }
    main.home section.unit_point3 h2 {
      margin-bottom: 180px; }
    main.home section.unit_point3 h3 {
      margin-top: 20px; }
    main.home section.unit_point3 h3 + p {
      margin: 20px 0; }
    main.home section.unit_point3 a {
      display: block;
      margin-top: 60px; }
  main.home section.unit_comparison {
    padding: 10px;
    background-color: #d5e8c3; }
    main.home section.unit_comparison h2 {
      margin-bottom: 20px; }
    main.home section.unit_comparison table {
      width: 100%; }
      main.home section.unit_comparison table th, main.home section.unit_comparison table td {
        padding: 10px;
        border: solid 1px #000000; }
      main.home section.unit_comparison table th {
        text-align: center;
        font-weight: bold; }
      main.home section.unit_comparison table th:nth-child(1) {
        width: 40%;
        background-color: #898989; }
      main.home section.unit_comparison table th:nth-child(2) {
        width: 20%;
        background-color: #fff100;
        color: #e60012; }
      main.home section.unit_comparison table th:nth-child(3) {
        width: 40%;
        background-color: #008ccf; }
      main.home section.unit_comparison table td:nth-child(1) {
        background-color: #dcdddd;
        vertical-align: top; }
      main.home section.unit_comparison table td:nth-child(2) {
        background-color: #fffbc7;
        vertical-align: middle;
        text-align: center;
        color: #e60012; }
      main.home section.unit_comparison table td:nth-child(3) {
        background-color: #d3edfb; }
  @media screen and (min-width: 550px) {
    main.home {
      /*　画面サイズ 550px以上から適用　*/
      /*section.unit_comparison END*/ }
      main.home section.unit_worries {
        padding: 40px 40px 60px 40px; }
      main.home section.unit_point, main.home section.unit_point1, main.home section.unit_point2, main.home section.unit_point3 {
        padding: 80px 40px 60px 40px; }
        main.home section.unit_point img.item_point, main.home section.unit_point1 img.item_point, main.home section.unit_point2 img.item_point, main.home section.unit_point3 img.item_point {
          top: -40px; }
      main.home section.unit_point1 h2 {
        margin-bottom: 540px; }
      main.home section.unit_mode {
        padding: 50px 40px 60px 40px; }
        main.home section.unit_mode h2 {
          margin-bottom: 60px; }
      main.home section.unit_point2 h2 {
        margin-bottom: 490px; }
      main.home section.unit_point3 h2 {
        margin-bottom: 380px; }
      main.home section.unit_point3 h3 + p {
        float: left;
        width: 60%; }
      main.home section.unit_point3 img.point3-ph1 {
        float: right;
        width: 35%;
        margin-top: 20px;
        margin-bottom: 40px; }
      main.home section.unit_comparison {
        padding: 40px; } }

/*----------------------------------------------------------
03:Whats New
-----------------------------------------------------------*/
main.whatsnew section dl.unit_news {
  width: 100%; }
  main.whatsnew section dl.unit_news dt {
    padding: 10px 20px;
    background: #000000 url("../img/whatsnew_news-head.jpg") no-repeat center center;
    background-size: 100% auto;
    color: #ffffff; }
  main.whatsnew section dl.unit_news dd {
    padding: 5px 0 0 0; }
    main.whatsnew section dl.unit_news dd p {
      padding: 10px 20px;
      background-color: rgba(255, 255, 255, 0.7); }
main.whatsnew section dl.unit_news + dl.unit_news {
  margin-top: 20px; }
@media screen and (min-width: 550px) {
  main.whatsnew {
    /*　画面サイズ 550px以上から適用　*/ }
    main.whatsnew section dl.unit_news {
      display: table; }
      main.whatsnew section dl.unit_news dt, main.whatsnew section dl.unit_news dd {
        display: table-cell; }
      main.whatsnew section dl.unit_news dt {
        width: 27%;
        background-size: auto 100%; }
      main.whatsnew section dl.unit_news dd {
        padding: 0 0 0 5px;
        width: 73%; } }

/*----------------------------------------------------------
04:Price List
-----------------------------------------------------------*/
main.pricelist {
  padding-top: 50px; }
  main.pricelist h1 {
    margin-bottom: 30px;
    text-align: center; }
    main.pricelist h1 img {
      width: 40%; }
  main.pricelist div.unit_vlink {
    clear: both;
    overflow: hidden;
    margin: 0 0 0 5%; }
    main.pricelist div.unit_vlink a {
      display: block;
      float: left;
      width: 45%; }
    main.pricelist div.unit_vlink a + a {
      margin-left: 5%; }
  main.pricelist section {
    font-size: 1.2rem;
    color: #ffffff; }
    main.pricelist section h2 {
      margin-bottom: 20px;
      padding-top: 40px;
      text-align: center; }
      main.pricelist section h2 img {
        width: 50%; }
    main.pricelist section p.item_catch {
      margin-bottom: 20px;
      text-align: center; }
    main.pricelist section p.unit_price {
      text-align: center; }
      main.pricelist section p.unit_price span {
        display: inline-block;
        padding-top: 1px; }
        main.pricelist section p.unit_price span span.item_tax {
          font-size: 1.0rem; }
      main.pricelist section p.unit_price span.item_admission {
        padding-left: 40px;
        background: url("../img/pricelist_member-admission.svg") no-repeat left center;
        background-size: auto 15px; }
      main.pricelist section p.unit_price span.item_membership {
        padding-left: 58px;
        background: url("../img/pricelist_member-membership.svg") no-repeat left center;
        background-size: auto 15px; }
    main.pricelist section table {
      width: 100%; }
      main.pricelist section table th, main.pricelist section table td {
        padding: 10px;
        text-align: center;
        vertical-align: center; }
      main.pricelist section table th {
        background-color: #595757; }
      main.pricelist section table td {
        background-color: #3e3a39; }
        main.pricelist section table td span.item_tax {
          font-size: 1.0rem; }
      main.pricelist section table tr + tr {
        border-top: solid 1px #ffffff; }
      main.pricelist section table tr:nth-child(2) {
        border-top: none; }
      main.pricelist section table th + th, main.pricelist section table td + td {
        border-left: solid 1px #ffffff; }
    main.pricelist section table + table {
      margin-top: 30px; }
    main.pricelist section section {
      margin-top: 40px; }
      main.pricelist section section h3 {
        margin-bottom: 15px;
        padding-left: 30px;
        background: url("../img/pricelist_subtitle-icon.svg") no-repeat left center;
        background-size: 20px auto;
        font-size: 1.6rem; }
      main.pricelist section section p + table {
        margin-top: 15px; }
  @media screen and (min-width: 550px) {
    main.pricelist {
      /*　画面サイズ 550px以上から適用　*/ }
      main.pricelist section h2 {
        padding-top: 120px; }
      main.pricelist section p.unit_price span.item_admission, main.pricelist section p.unit_price span.item_membership {
        background-size: auto 35px; }
      main.pricelist section p.unit_price span.item_admission {
        padding: 10px 0 10px 85px; }
      main.pricelist section p.unit_price span.item_membership {
        padding: 10px 0 10px 125px; }
      main.pricelist section table {
        width: 730px; }
        main.pricelist section table th {
          width: 243px; } }

/*----------------------------------------------------------
05:Access
-----------------------------------------------------------*/
main.access section.wrap_content div.unit_map {
  position: relative;
  width: 100%;
  height: 0;
  margin: 0 0 10px 0;
  padding-top: 56.25%;
  /*比率をお好みで*/ }
  main.access section.wrap_content div.unit_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
main.access section.wrap_content a.btn_map {
  display: block;
  margin: 0 0 10px 0;
  padding: 10px;
  background-color: #ffffff;
  border: solid 1px #c8c9ca;
  border-radius: 5px;
  text-align: center;
  line-height: 100%;
  color: #ec6c00; }
main.access section.wrap_content dl.unit_shop-data {
  display: table;
  width: 100%;
  border-top: solid 1px #727171;
  border-bottom: solid 1px #727171; }
  main.access section.wrap_content dl.unit_shop-data dt, main.access section.wrap_content dl.unit_shop-data dd {
    display: table-cell;
    padding: 5px 0;
    vertical-align: top; }
  main.access section.wrap_content dl.unit_shop-data dt {
    color: #008ccf;
    width: 100px; }
  main.access section.wrap_content dl.unit_shop-data dd a.btn_phone {
    display: block;
    float: right;
    width: 10%; }
  main.access section.wrap_content dl.unit_shop-data dd a.link_contact {
    border-bottom: solid 1px #ed6c00; }
main.access section.wrap_content dl.unit_shop-data + dl.unit_shop-data {
  border-top: none; }
main.access section.wrap_content div.unit_business-hours {
  margin: 10px 0 0 0; }
  main.access section.wrap_content div.unit_business-hours h3 {
    text-align: center; }
  main.access section.wrap_content div.unit_business-hours table {
    width: 100%; }
    main.access section.wrap_content div.unit_business-hours table th, main.access section.wrap_content div.unit_business-hours table td {
      padding: 5px;
      border: solid 1px #008ccf;
      text-align: center;
      font-size: 1.4rem; }
    main.access section.wrap_content div.unit_business-hours table th {
      background-color: #008ccf;
      font-weight: normal;
      color: #ffffff; }
    main.access section.wrap_content div.unit_business-hours table td {
      background-color: #ffffff; }
@media screen and (min-width: 550px) {
  main.access {
    /*　画面サイズ 550px以上から適用　*/ }
    main.access section.wrap_content dl.unit_shop-data dd a.btn_phone {
      display: none; } }

/*----------------------------------------------------------
06:Contact
-----------------------------------------------------------*/
main.contact, main.confirm, main.sent {
  /* div.wrap_form END */ }
  main.contact div.wrap_form, main.confirm div.wrap_form, main.sent div.wrap_form {
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.7);
    border: solid 1px #717071; }
    main.contact div.wrap_form h2, main.confirm div.wrap_form h2, main.sent div.wrap_form h2 {
      position: relative;
      margin: 0 0 20px 0;
      padding: 0 0 5px 0;
      border-bottom: solid 2px #008cce; }
      main.contact div.wrap_form h2 span.item_headline, main.confirm div.wrap_form h2 span.item_headline, main.sent div.wrap_form h2 span.item_headline {
        padding: 5px 0 5px 35px;
        background: url("../img/contact_headline_bg.svg") no-repeat left center;
        background-size: 30px auto;
        font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
        font-size: 2.4rem; }
      main.contact div.wrap_form h2 span.item_subline, main.confirm div.wrap_form h2 span.item_subline, main.sent div.wrap_form h2 span.item_subline {
        position: absolute;
        bottom: 0;
        right: 0;
        font-size: 1.4rem;
        font-weight: normal;
        color: #9e9e9f; }
    main.contact div.wrap_form dl, main.confirm div.wrap_form dl, main.sent div.wrap_form dl {
      margin: 0 0 20px 0;
      border-top: dotted 1px #333333; }
      main.contact div.wrap_form dl dt, main.confirm div.wrap_form dl dt, main.sent div.wrap_form dl dt {
        clear: both;
        overflow: hidden;
        padding: 10px 0;
        font-size: 1.6rem;
        font-weight: bold; }
        main.contact div.wrap_form dl dt span, main.confirm div.wrap_form dl dt span, main.sent div.wrap_form dl dt span {
          float: right;
          display: inline-block;
          font-weight: normal;
          color: #e50012; }
    main.contact div.wrap_form p.unit_btn-set, main.confirm div.wrap_form p.unit_btn-set, main.sent div.wrap_form p.unit_btn-set {
      clear: both;
      overflow: hidden;
      width: 100%;
      padding: 20px 0 0 0;
      border-top: dotted 1px #333333; }
      main.contact div.wrap_form p.unit_btn-set a, main.contact div.wrap_form p.unit_btn-set button[type=submit], main.confirm div.wrap_form p.unit_btn-set a, main.confirm div.wrap_form p.unit_btn-set button[type=submit], main.sent div.wrap_form p.unit_btn-set a, main.sent div.wrap_form p.unit_btn-set button[type=submit] {
        display: block;
        float: left;
        width: 48%; }
      main.contact div.wrap_form p.unit_btn-set a + button[type=submit], main.contact div.wrap_form p.unit_btn-set button[type=submit] + button[type=submit], main.confirm div.wrap_form p.unit_btn-set a + button[type=submit], main.confirm div.wrap_form p.unit_btn-set button[type=submit] + button[type=submit], main.sent div.wrap_form p.unit_btn-set a + button[type=submit], main.sent div.wrap_form p.unit_btn-set button[type=submit] + button[type=submit] {
        margin-left: 4%; }
  main.contact div.wrap_notation, main.confirm div.wrap_notation, main.sent div.wrap_notation {
    margin: 10px 0 0 0;
    padding: 10px;
    background-color: #ffffff;
    border: solid 1px #717071; }
    main.contact div.wrap_notation h2, main.confirm div.wrap_notation h2, main.sent div.wrap_notation h2 {
      margin: 0 0 10px 0;
      padding: 0 10px;
      background-color: #231815;
      text-align: center;
      color: #ffffff; }
    main.contact div.wrap_notation dl, main.confirm div.wrap_notation dl, main.sent div.wrap_notation dl {
      margin: 0 0 5px 0;
      border-bottom: dotted 1px #333333;
      font-size: 1.4rem; }
      main.contact div.wrap_notation dl dt, main.confirm div.wrap_notation dl dt, main.sent div.wrap_notation dl dt {
        padding: 5px 0 0 0;
        font-weight: bold;
        line-height: 100%; }
  @media screen and (min-width: 550px) {
    main.contact, main.confirm, main.sent {
      /*　画面サイズ 550px以上から適用　*/
      padding: 20px; }
      main.contact div.wrap_form, main.confirm div.wrap_form, main.sent div.wrap_form {
        padding: 20px; }
        main.contact div.wrap_form h2, main.confirm div.wrap_form h2, main.sent div.wrap_form h2 {
          padding-bottom: 15px; }
          main.contact div.wrap_form h2 span.item_headline, main.confirm div.wrap_form h2 span.item_headline, main.sent div.wrap_form h2 span.item_headline {
            padding: 12px 0 12px 60px;
            background: url("../img/contact_headline_bg.svg") no-repeat left center;
            background-size: 50px auto;
            font-size: 2.8rem; }
          main.contact div.wrap_form h2 span.item_subline, main.confirm div.wrap_form h2 span.item_subline, main.sent div.wrap_form h2 span.item_subline {
            font-size: 1.8rem; }
        main.contact div.wrap_form dl, main.confirm div.wrap_form dl, main.sent div.wrap_form dl {
          display: table;
          width: 100%; }
          main.contact div.wrap_form dl dt, main.contact div.wrap_form dl dd, main.confirm div.wrap_form dl dt, main.confirm div.wrap_form dl dd, main.sent div.wrap_form dl dt, main.sent div.wrap_form dl dd {
            display: table-cell;
            padding: 20px 0;
            vertical-align: top; }
          main.contact div.wrap_form dl dt, main.confirm div.wrap_form dl dt, main.sent div.wrap_form dl dt {
            width: 35%; }
            main.contact div.wrap_form dl dt span, main.confirm div.wrap_form dl dt span, main.sent div.wrap_form dl dt span {
              margin-right: 20px; }
          main.contact div.wrap_form dl dd, main.confirm div.wrap_form dl dd, main.sent div.wrap_form dl dd {
            width: 65%; }
        main.contact div.wrap_form p.unit_btn-set, main.confirm div.wrap_form p.unit_btn-set, main.sent div.wrap_form p.unit_btn-set {
          width: 100%;
          text-align: center; }
          main.contact div.wrap_form p.unit_btn-set a, main.contact div.wrap_form p.unit_btn-set button[type=submit], main.confirm div.wrap_form p.unit_btn-set a, main.confirm div.wrap_form p.unit_btn-set button[type=submit], main.sent div.wrap_form p.unit_btn-set a, main.sent div.wrap_form p.unit_btn-set button[type=submit] {
            width: 25%;
            margin-left: 23%; }
      main.contact div.wrap_notation dl, main.confirm div.wrap_notation dl, main.sent div.wrap_notation dl {
        display: table;
        width: 100%; }
        main.contact div.wrap_notation dl dt, main.contact div.wrap_notation dl dd, main.confirm div.wrap_notation dl dt, main.confirm div.wrap_notation dl dd, main.sent div.wrap_notation dl dt, main.sent div.wrap_notation dl dd {
          display: table-cell;
          padding: 5px 0;
          vertical-align: top; }
        main.contact div.wrap_notation dl dt, main.confirm div.wrap_notation dl dt, main.sent div.wrap_notation dl dt {
          width: 35%;
          line-height: 170%; }
          main.contact div.wrap_notation dl dt span, main.confirm div.wrap_notation dl dt span, main.sent div.wrap_notation dl dt span {
            margin-right: 20px; }
        main.contact div.wrap_notation dl dd, main.confirm div.wrap_notation dl dd, main.sent div.wrap_notation dl dd {
          width: 65%; } }

/*----------------------------------------------------------
07:予約
-----------------------------------------------------------*/
main.reservation_info h2.item_catch {
  margin: 30px 0 20px 0;
  text-align: center;
  font-size: 2.8rem;
  color: #008cce; }
main.reservation_info p.item_read {
  clear: both; }
  main.reservation_info p.item_read a.btn_detail {
    float: right;
    margin-top: 10px; }
main.reservation_info section.wrap_content {
  clear: both;
  margin-top: 80px; }
  main.reservation_info section.wrap_content section h2 {
    margin: 0 0 10px 0;
    font-size: 2.2rem;
    color: #008cce; }
  main.reservation_info section.wrap_content section dl h3 {
    display: table;
    margin: 10px 0; }
    main.reservation_info section.wrap_content section dl h3 span {
      display: table-cell;
      vertical-align: middle; }
    main.reservation_info section.wrap_content section dl h3 span.item_number {
      width: 30px;
      height: 30px;
      background-color: #008cce;
      border-radius: 15px;
      text-align: center;
      font-size: 1.6rem;
      color: #ffffff; }
    main.reservation_info section.wrap_content section dl h3 span.item_title {
      padding: 0 0 0 10px;
      font-size: 1.8rem; }
  main.reservation_info section.wrap_content section dl + dl {
    margin-top: 20px; }
  main.reservation_info section.wrap_content section + section {
    margin-top: 20px; }
@media screen and (min-width: 550px) {
  main.reservation_info {
    /*　画面サイズ 550px以上から適用　*/ }
    main.reservation_info p.item_read {
      text-align: center; }
    main.reservation_info section.wrap_content section dl {
      display: table; }
      main.reservation_info section.wrap_content section dl dt, main.reservation_info section.wrap_content section dl dd {
        display: table-cell;
        vertical-align: top; }
      main.reservation_info section.wrap_content section dl dt {
        width: 30%; }
      main.reservation_info section.wrap_content section dl dd {
        width: 70%;
        padding: 0 0 0 20px; } }

/*----------------------------------------------------------
08:レッスン
-----------------------------------------------------------*/
main.beginner section.unit_kv {
  position: relative;
  height: auto;
  padding: 20px;
  background: url("../img/beginner_kv_bg.jpg") no-repeat left top;
  background-size: 100% auto; }
  main.beginner section.unit_kv h1 {
    position: relative;
    top: auto;
    left: auto;
    width: 50%; }
  main.beginner section.unit_kv h1 + img {
    position: absolute;
    top: 20px;
    right: 10px;
    width: 22%; }
main.beginner section.unit_intro {
  padding: 30px 30px 0 30px;
  background: url("../img/beginner_intro_bg.gif") repeat-y left top;
  background-size: 100% auto; }
  main.beginner section.unit_intro h2 {
    margin-bottom: 10px; }
main.beginner section.unit_reason div.wrap_title {
  padding: 30px 0;
  background: url("../img/beginner_reason_bg.png") no-repeat left top;
  background-size: 100% auto; }
  main.beginner section.unit_reason div.wrap_title h2 {
    width: 60%;
    margin: 0 0 10px 30%; }
  main.beginner section.unit_reason div.wrap_title h2 + img {
    width: 50%;
    margin: 0 0 0 36%; }
main.beginner section.unit_reason div.wrap_answer {
  padding: 15px 0;
  background-color: #231815;
  text-align: center; }
  main.beginner section.unit_reason div.wrap_answer img {
    width: 70%; }
main.beginner section.unit_pair {
  padding-top: 30px;
  background: #ffffff url("../img/beginner_pair_bg.gif") no-repeat left top;
  background-size: 100% auto; }
  main.beginner section.unit_pair img.item_read, main.beginner section.unit_pair h2, main.beginner section.unit_pair img.item_illust {
    width: 90%;
    margin-left: 5%; }
  main.beginner section.unit_pair img.item_read {
    margin-bottom: 30px; }
  main.beginner section.unit_pair h2 {
    margin-bottom: 10px; }
  main.beginner section.unit_pair img.item_illust {
    margin-bottom: 10px; }
main.beginner section.unit_flow {
  padding: 20px;
  background: url("../img/beginner_flow_bg.gif") no-repeat left top;
  background-size: 100% auto; }
  main.beginner section.unit_flow div.wrap_cta {
    margin-top: 5px;
    padding: 112px 10% 25px 10%;
    background: url("../img/beginner_flow_cta_bg.svg") no-repeat left top;
    background-size: 100% auto; }
    main.beginner section.unit_flow div.wrap_cta h4 {
      margin-bottom: 5px; }
    main.beginner section.unit_flow div.wrap_cta img + img {
      margin-top: 10px; }
    main.beginner section.unit_flow div.wrap_cta img.item_price {
      width: 70%;
      margin: 30px 0 0 15%; }
    main.beginner section.unit_flow div.wrap_cta div.unit_btn-set {
      display: flex;
      margin-top: 10px; }
      main.beginner section.unit_flow div.wrap_cta div.unit_btn-set a {
        display: block; }
      main.beginner section.unit_flow div.wrap_cta div.unit_btn-set a + a {
        margin-left: 10px; }
main.beginner section.unit_detail {
  padding: 30px 30px 0 30px;
  background: url(../img/beginner_detail_bg.gif) repeat-y left top;
  background-size: 100% auto; }
  main.beginner section.unit_detail h2 {
    margin-bottom: 20px;
    text-align: center; }
    main.beginner section.unit_detail h2 img {
      width: 65%; }
  main.beginner section.unit_detail h3 {
    margin-bottom: 20px;
    text-align: center; }
    main.beginner section.unit_detail h3 img {
      width: 50%; }
main.beginner section.unit_24open {
  padding: 20px 30px;
  background: #ffffff url("../img/beginner_24open_bg.gif") repeat-y left top;
  background-size: 100% auto; }
  main.beginner section.unit_24open h2 {
    margin-bottom: 20px; }
  main.beginner section.unit_24open ul {
    display: flex; }
    main.beginner section.unit_24open ul li {
      width: 33%; }
main.beginner section.unit_fee {
  padding: 20px 30px;
  background: url(../img/beginner_fee_bg.gif) repeat-y left top;
  background-size: 100% auto; }
  main.beginner section.unit_fee h2 {
    margin-bottom: 20px;
    text-align: center; }
    main.beginner section.unit_fee h2 img {
      width: 60%; }
  main.beginner section.unit_fee ul li + li {
    margin-top: 5px; }
  main.beginner section.unit_fee ul li:nth-child(4) {
    margin-top: 10px; }
main.beginner div.unit_cta {
  padding: 10px 20px 30px 20px;
  background-color: #ffffff; }
@media screen and (min-width: 375px) {
  main.beginner {
    /*　画面サイズ 375px以上から適用　*/ }
    main.beginner section.unit_flow div.wrap_cta {
      padding-top: 114px; } }
@media screen and (min-width: 390px) {
  main.beginner {
    /*　画面サイズ 390px以上から適用　*/ }
    main.beginner section.unit_flow div.wrap_cta {
      padding-top: 118px; } }
@media screen and (min-width: 414px) {
  main.beginner {
    /*　画面サイズ 414px以上から適用　*/ }
    main.beginner section.unit_flow div.wrap_cta {
      padding-top: 128px; } }
@media screen and (min-width: 428px) {
  main.beginner {
    /*　画面サイズ 414px以上から適用　*/ }
    main.beginner section.unit_flow div.wrap_cta {
      padding-top: 132px; } }
@media screen and (min-width: 550px) {
  main.beginner {
    /*　画面サイズ 550px以上から適用　*/ }
    main.beginner section.unit_flow {
      background-size: auto 100%; }
      main.beginner section.unit_flow div.wrap_cta {
        padding-top: 252px;
        padding-bottom: 67px; }
        main.beginner section.unit_flow div.wrap_cta div.unit_btn-set {
          margin-top: 20px; }
          main.beginner section.unit_flow div.wrap_cta div.unit_btn-set a {
            width: 290px; }
    main.beginner section.unit_detail {
      padding: 50px 60px 0 60px; }
    main.beginner section.unit_24open {
      padding: 50px 60px; }
    main.beginner section.unit_fee {
      padding: 50px 60px; } }

main.scoreup p {
  line-height: 170%; }
main.scoreup section.unit_kv {
  background: url("../img/scoreup_kv_bg.jpg") no-repeat left top 22px;
  background-size: 100% auto; }
  main.scoreup section.unit_kv div.item_header-txt {
    padding: 5px 0;
    background-color: #008ccf;
    text-align: center;
    line-height: 100%;
    font-size: 1.4rem;
    color: #ffffff; }
  main.scoreup section.unit_kv h1 {
    width: 60%;
    margin: 5px 0 0 20px; }
  main.scoreup section.unit_kv ul {
    clear: both;
    overflow: hidden;
    width: 60%;
    margin: 5px 0 0 20px; }
    main.scoreup section.unit_kv ul li {
      float: left;
      width: 49%; }
    main.scoreup section.unit_kv ul li:nth-child(even) {
      margin-left: 2%; }
    main.scoreup section.unit_kv ul li:nth-child(3), main.scoreup section.unit_kv ul li:nth-child(4) {
      margin-top: 10px; }
  main.scoreup section.unit_kv div.unit_read {
    margin-top: 20px;
    padding: 20px;
    background-color: #ffffff; }
    main.scoreup section.unit_kv div.unit_read p {
      line-height: 170%;
      font-size: 1.3rem; }
      main.scoreup section.unit_kv div.unit_read p strong {
        border-bottom: 4px solid #fff100;
        color: #e60012; }
    main.scoreup section.unit_kv div.unit_read p + p {
      margin-top: 20px; }
main.scoreup section.unit_intro {
  padding: 20px;
  background-color: #fffbda; }
  main.scoreup section.unit_intro section {
    margin-top: 15px;
    padding-top: 15px;
    border-top: dotted 2px #333333; }
    main.scoreup section.unit_intro section p + img, main.scoreup section.unit_intro section img + img {
      margin-top: 10px; }
    main.scoreup section.unit_intro section h3 {
      margin-bottom: 10px; }
      main.scoreup section.unit_intro section h3 span.item_number, main.scoreup section.unit_intro section h3 span.item_title {
        display: block; }
      main.scoreup section.unit_intro section h3 span.item_number {
        margin-bottom: 5px;
        color: #008ccf; }
        main.scoreup section.unit_intro section h3 span.item_number span {
          display: inline-block;
          width: 20px;
          height: 20px;
          margin-left: 2px;
          background-color: #008ccf;
          border-radius: 50%;
          text-align: center;
          color: #ffffff; }
      main.scoreup section.unit_intro section h3 span.item_title {
        padding: 5px;
        background-color: #008ccf;
        font-size: 1.7rem;
        color: #ffffff; }
      main.scoreup section.unit_intro section h3 span.item_title + span.item_title {
        margin-top: 3px; }
    main.scoreup section.unit_intro section div.wrap_content div.unit_simulator, main.scoreup section.unit_intro section div.wrap_content div.unit_program {
      margin-top: 10px; }
      main.scoreup section.unit_intro section div.wrap_content div.unit_simulator img + p, main.scoreup section.unit_intro section div.wrap_content div.unit_program img + p {
        margin-top: 5px; }
    main.scoreup section.unit_intro section div.wrap_content div.unit_program + div.unit_program {
      clear: both;
      overflow: hidden; }
      main.scoreup section.unit_intro section div.wrap_content div.unit_program + div.unit_program p {
        float: left;
        width: 50%;
        padding-right: 10px; }
      main.scoreup section.unit_intro section div.wrap_content div.unit_program + div.unit_program img {
        float: right;
        width: 50%; }
      main.scoreup section.unit_intro section div.wrap_content div.unit_program + div.unit_program p + img {
        margin-top: 0; }
main.scoreup section.unit_info {
  padding: 20px;
  background-color: #ffffff; }
  main.scoreup section.unit_info h2 {
    margin-bottom: 5px;
    padding: 0 5%; }
  main.scoreup section.unit_info h2 + a {
    display: block;
    margin-bottom: 10px; }
  main.scoreup section.unit_info h3.item_subtitle01 {
    padding: 0 10%; }
  main.scoreup section.unit_info div.unit_trainer {
    position: relative;
    padding: 20px 0 20px 40px; }
    main.scoreup section.unit_info div.unit_trainer img.item_ph {
      position: absolute;
      top: 0;
      left: -20px;
      width: 25%; }
    main.scoreup section.unit_info div.unit_trainer img.item_name {
      position: absolute;
      top: 10px;
      left: 55px;
      width: 40%; }
    main.scoreup section.unit_info div.unit_trainer p {
      background-color: #bae2f8;
      padding: 20px 10px 10px 40px; }
  main.scoreup section.unit_info h3.item_subtitle02 {
    margin-bottom: 20px; }
  main.scoreup section.unit_info img.item_lesson + img.item_lesson {
    margin-top: 5px; }
main.scoreup section.unit_voice {
  padding: 20px;
  background-color: #fffbda; }
  main.scoreup section.unit_voice h2 {
    margin-bottom: 20px; }
  main.scoreup section.unit_voice img.item_voice + img.item_voice {
    margin-top: 10px; }
@media screen and (min-width: 550px) {
  main.scoreup {
    /*　画面サイズ 550px以上から適用　*/ }
    main.scoreup section.unit_kv div.unit_read {
      padding: 40px; }
      main.scoreup section.unit_kv div.unit_read p {
        font-size: 1.6rem; }
    main.scoreup section.unit_intro {
      padding: 40px; }
      main.scoreup section.unit_intro section {
        clear: both;
        overflow: hidden; }
        main.scoreup section.unit_intro section h3 {
          clear: both;
          overflow: hidden;
          line-height: 100%; }
          main.scoreup section.unit_intro section h3 span.item_number span {
            padding-top: 3px; }
          main.scoreup section.unit_intro section h3 span.item_title {
            float: left;
            padding: 10px 0 10px 5px; }
          main.scoreup section.unit_intro section h3 span.item_title + span.item_title {
            margin-top: 0;
            padding-right: 5px;
            padding-left: 0; }
        main.scoreup section.unit_intro section h3.item_title01 span.item_title {
          width: 305px; }
        main.scoreup section.unit_intro section h3.item_title01 span.item_title + span.item_title {
          width: 385px; }
        main.scoreup section.unit_intro section h3.item_title02 span.item_title {
          width: 292px; }
        main.scoreup section.unit_intro section h3.item_title02 span.item_title + span.item_title {
          width: 398px; }
        main.scoreup section.unit_intro section h3.item_title03 span.item_title {
          width: 306px; }
        main.scoreup section.unit_intro section h3.item_title03 span.item_title + span.item_title {
          width: 384px; }
        main.scoreup section.unit_intro section h3 + p {
          float: left;
          width: 400px;
          padding-right: 20px; }
        main.scoreup section.unit_intro section h3 + p + img {
          float: right;
          width: 290px;
          margin-top: 0; }
        main.scoreup section.unit_intro section div.wrap_content {
          display: flex;
          width: 690px;
          padding-top: 40px; }
          main.scoreup section.unit_intro section div.wrap_content div + div {
            margin-left: 10px; }
    main.scoreup section.unit_info {
      padding: 40px; }
      main.scoreup section.unit_info div.unit_trainer {
        padding: 40px 0 40px 80px; }
        main.scoreup section.unit_info div.unit_trainer img.item_ph {
          left: -40px;
          width: 150px; }
        main.scoreup section.unit_info div.unit_trainer img.item_name {
          top: 20px;
          left: 90px;
          width: 250px; }
        main.scoreup section.unit_info div.unit_trainer p {
          padding: 40px 20px 20px 60px;
          font-size: 1.6rem; }
    main.scoreup section.unit_voice {
      padding: 40px; } }

/*----------------------------------------------------------
00:下層ページ
-----------------------------------------------------------*/
body.subpage header h1 {
  top: 95px;
  left: 0;
  width: 100%;
  color: #ffffff;
  text-align: center;
  font-size: 2.0rem; }
body.subpage main {
  background-color: #000000;
  color: #ffffff; }
  body.subpage main section {
    padding: 20px; }
    body.subpage main section h2, body.subpage main section h3 {
      margin: 20px 0 10px 0; }
    body.subpage main section ul {
      list-style-type: disc;
      margin: 0 0 0 20px; }
    body.subpage main section ul li + li, body.subpage main section ol li + li {
      margin-top: 10px; }
    body.subpage main section ul + p, body.subpage main section p + ul, body.subpage main section ol + p, body.subpage main section p + ol {
      margin-top: 10px; }
@media screen and (min-width: 550px) {
  body.subpage {
    /*　画面サイズ 550px以上から適用　*/ }
    body.subpage header h1 {
      top: 190px;
      font-size: 4.0rem; } }
