@charset "UTF-8";
html {
  color: #000;
  background: #fff; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 200%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%; }

legend {
  color: #000; }

#yui3-css-stamp.cssreset {
  display: none; }

/**************************************************************************************************
PCスタイル
**************************************************************************************************/
.sp {
  display: none; }

/*********************************
基本タグ
*********************************/
body {
  font-size: 16px;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho","serif";
  line-height: 2;
  color: #727171; }

img {
  max-width: 100%;
  vertical-align: bottom; }

a {
  color: inherit;
  text-decoration: none;
  transition: 0.5s; }
  a:hover {
    opacity: 0.5;
    transition: 0.5s; }

/*********************************
基本スタイル
*********************************/
.contentWidth {
  width: 1200px;
  margin: 0 auto; }

.text-center {
  text-align: center; }

#top {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 1000;
  display: none;
  width: 71px;
  height: 51px; }

/*********************************
ヘッダ
*********************************/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  box-sizing: border-box;
  background: #8cc5d6; }
  header .inner {
    position: relative; }
    header .inner .btnMenu {
      display: none; }
    header .inner .logo {
      position: absolute;
      top: 22px;
      left: 0; }
    header .inner nav {
      position: absolute;
      top: 18px;
      left: 366px; }
      header .inner nav ul {
        overflow: hidden; }
        header .inner nav ul li {
          float: left;
          height: 44px;
          margin-right: 40px; }
          header .inner nav ul li a:hover {
            opacity: 1; }
    header .inner .sns {
      position: absolute;
      right: 0;
      top: 32px; }
      header .inner .sns ul {
        overflow: hidden; }
        header .inner .sns ul li {
          float: left;
          margin-right: 20px; }
          header .inner .sns ul li:last-child {
            margin-right: 0; }

/*********************************
サイドバー
*********************************/
/*********************************
フッター
*********************************/
footer {
  width: 100%;
  background: #8cc5d6;
  padding: 40px 0 0;
  color: white; }
  footer .copyright {
    font-size: 12px;
    margin-bottom: 60px; }
  footer .totop {
    font-size: 20px;
    color: white;
    height: 80px;
    background: #727171;
    text-align: center; }
    footer .totop a {
      line-height: 80px;
      display: block; }
  footer .logo {
    margin-bottom: 60px; }
  footer nav {
    margin-bottom: 60px; }
    footer nav ul {
      overflow: hidden;
      display: inline-block; }
      footer nav ul li {
        float: left;
        padding-right: 50px; }
        footer nav ul li:last-child {
          margin-right: 0; }
  footer .sns {
    margin-bottom: 60px; }
    footer .sns ul {
      overflow: hidden;
      display: inline-block; }
      footer .sns ul li {
        float: left;
        margin-right: 20px; }
        footer .sns ul li:last-child {
          margin-right: 0; }

/*********************************
メイン
*********************************/
.main {
  margin-top: 120px; }
  .main #aboutus {
    padding-bottom: 160px; }
    .main #aboutus .ttl {
      margin-top: 120px;
      margin-bottom: 60px; }
    .main #aboutus .catch {
      margin-bottom: 40px; }
    .main #aboutus .img {
      margin-top: 40px; }
  .main #membersclub {
    background: #f7f7f4;
    padding: 80px 0 200px; }
    .main #membersclub .ttl {
      margin-bottom: 40px; }
  .main #menu {
    padding: 220px 0 170px; }
    .main #menu .ttl {
      margin-bottom: 40px; }
    .main #menu ul {
      overflow: hidden;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-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; }
      .main #menu ul li {
        float: left;
        width: 50%;
        padding: 0 60px;
        box-sizing: border-box;
        height: 100%; }
        .main #menu ul li:nth-child(2) {
          /*border-right: 1px dotted #727171;*/
          border-left: 1px dotted #727171; }
        .main #menu ul li img {
          margin-bottom: 20px; }
    .main #menu .menuBox {
      background: url(../img/menubg.jpg) repeat;
      overflow: hidden;
      background-size: 100%;
      padding: 8px;
      margin-top: 80px; }
      .main #menu .menuBox .innerBorder1 {
        border: 2px solid white;
        padding: 4px; }
        .main #menu .menuBox .innerBorder1 .innerBorder2 {
          border: 1px solid white; }
      .main #menu .menuBox .menuItem .ttl {
        margin-top: 80px; }
      .main #menu .menuBox .menuItem .priceImg {
        margin-top: 80px;
        margin-bottom: 60px; }
      .main #menu .menuBox .menuItem .bdr {
        margin-top: 80px; }
      .main #menu .menuBox .memo {
        margin-top: 60px;
        margin-bottom: 120px; }
      .main #menu .menuBox .logo {
        margin-top: 100px;
        margin-bottom: 60px; }
  .main #access .ttl {
    margin-bottom: 80px; }
  .main #access .map {
    margin-bottom: 120px; }
  .main #access .shop {
    margin-bottom: 240px; }
    .main #access .shop ul {
      overflow: hidden; }
      .main #access .shop ul li {
        float: left; }
        .main #access .shop ul li:nth-child(1) {
          width: 600px;
          margin-right: 80px; }
        .main #access .shop ul li:nth-child(2) {
          width: 520px; }
          .main #access .shop ul li:nth-child(2) img {
            width: 300px;
            height: auto;
            margin-bottom: 40px; }

.mainQr {
  margin-top: 120px;
  padding-top: 100px;
  text-align: center; }
  .mainQr .img {
    display: block;
    margin: 0 auto;
    width: 250px;
    margin-bottom: 60px;
    border: 1px solid grey; }
  .mainQr .ttl {
    color: #8cc5d6;
    font-size: 28px;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho","serif";
    margin-bottom: 30px; }
  .mainQr .desc {
    font-size: 16px;
    margin-bottom: 70px; }
  .mainQr .lineid {
    font-size: 22px;
    margin-bottom: 120px; }

  .note{
    margin-bottom: 170px;
    border: 2px dotted #8CC5D6;
  }
  .note_img{
    margin-top: 50px;
  }
  .note_txt{
    margin-top:50px;
  }
  .memo_note{
    margin:50px 0;
    text-align: center;
  }
  .about_bk{
    background-image: url(../img/about_bk.png);
    background-repeat-x:no-repeat; 
    background-position: bottom;
  }

/**************************************************************************************************
タブレットスタイル
**************************************************************************************************/
@media screen and (max-width: 1199px) {
  .pc {
    display: none; }

  .sp {
    display: block; }

  #top {
    width: 38px;
    bottom: 20px;
    right: 20px; }

  .contentWidth {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box; }

  header {
    height: 75px; }
    header .inner nav {
      position: static;
      width: 100%;
      margin-bottom: 30px; }
      header .inner nav ul li {
        float: none;
        width: 100%;
        padding-left: 3px;
        box-sizing: border-box; }
    header .inner .logo {
      height: 40px;
      width: auto;
      top: 20px;
      padding: 0 20px; }
      header .inner .logo img {
        height: 100%; }
    header .inner .sns {
      position: static;
      text-align: center; }
      header .inner .sns ul {
        display: inline-block; }
        header .inner .sns ul li {
          width: 40px;
          margin-right: 45px; }
          header .inner .sns ul li:last-child {
            margin-right: 0; }
    header .inner .btnMenu {
      position: absolute;
      top: 23px;
      right: 20px;
      display: block;
      background: url(../img/btn_menu.png) no-repeat;
      width: 23px;
      height: 24px;
      background-size: cover; }
      header .inner .btnMenu.on {
        background: url(../img/btn_close.png) no-repeat;
        background-size: cover; }
    header .inner .spMenu {
      display: none;
      position: absolute;
      top: 75px;
      background: #8cc5d6;
      width: 100%;
      overflow: hidden;
      left: 0;
      padding: 0 20px 20px;
      box-sizing: border-box; }

  .main {
    margin-top: 75px; }
    .main #menu .course li {
      width: 100%;
      float: none;
      height: auto !important;
      margin-bottom: 40px; }
    .main #menu .menuBox .innerBorder1 .innerBorder2 {
      padding: 10px; }
    .main #menu ul li:nth-child(2) {
      border-right: none;
      border-left: none; }
    .main #access .shop {
      margin-bottom: 120px; }
      .main #access .shop ul {
        margin-bottom: 35px; }
        .main #access .shop ul li {
          float: none;
          margin-bottom: 40px; }
          .main #access .shop ul li:nth-child(1) {
            width: 100%; }
          .main #access .shop ul li:nth-child(2) {
            width: 100%; }
          .main #access .shop ul li img {
            width: 100%;
            display: block;
            margin: 0 auto; } }
/**************************************************************************************************
SPスタイル
**************************************************************************************************/
@media screen and (max-width: 768px) {
  footer .logo {
    margin-bottom: 30px; }
  footer nav ul li {
    float: none;
    text-align: center;
    width: 100%;
    margin-bottom: 10px; } }
