@charset "UTF-8";
section .btnWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 768px) {
    section .btnWrap {
      padding: 0 5%; } }
  section .btnWrap p {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 2;
    font-size: 22px; }
    @media screen and (max-width: 768px) {
      section .btnWrap p {
        line-height: 1.8;
        font-size: 16px; } }
    section .btnWrap p::before, section .btnWrap p::after {
      content: '';
      width: 1px;
      height: 25px;
      margin: 0 10px;
      background-color: #191919; }
      @media screen and (max-width: 768px) {
        section .btnWrap p::before, section .btnWrap p::after {
          height: 20px; } }
    section .btnWrap p::before {
      transform: rotate(-30deg); }
    section .btnWrap p::after {
      transform: rotate(30deg); }

section.lead {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 20px;
  width: 93%;
  margin: 0 auto 40px; }
  @media screen and (max-width: 768px) {
    section.lead {
      margin: 0 auto 32px; } }
  section.lead p {
    line-height: 1.8;
    font-size: 24px; }
    @media screen and (min-width: 769px) {
      section.lead p {
        font-weight: bold; } }
    @media screen and (max-width: 768px) {
      section.lead p {
        line-height: 1.6;
        font-size: 12px; } }
  @media screen and (max-width: 768px) {
    section.lead img {
      width: 180px; } }

section.top {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    section.top {
      margin-bottom: 52px; } }
  section.top h2 {
    margin-bottom: 35px; }
    @media screen and (max-width: 768px) {
      section.top h2 {
        margin-bottom: 18px;
        padding: 0 5%; } }
  section.top .lead {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: relative; }
    @media screen and (max-width: 768px) {
      section.top .lead {
        margin-bottom: 26px;
        padding: 0 5%; } }
    @media screen and (min-width: 769px) {
      section.top .lead img {
        margin-right: 5px; } }
    @media screen and (max-width: 768px) {
      section.top .lead img {
        margin-bottom: 5px; } }
    section.top .lead p {
      line-height: 2;
      font-size: 17px;
      font-weight: bold; }
      @media screen and (min-width: 769px) {
        section.top .lead p {
          padding-bottom: 25px; } }
      @media screen and (max-width: 768px) {
        section.top .lead p {
          line-height: 1.8;
          font-size: 16px; } }
  section.top .cntWrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: -75px 0 80px;
    padding: 130px 0 40px;
    background: url(/opencampus/img/top_bg.gif) no-repeat top center/contain; }
    @media screen and (max-width: 768px) {
      section.top .cntWrap {
        margin: 0 0 38px;
        padding: 44% 10% 0;
        background: url(/opencampus/img/top_bg_sp.gif) no-repeat top center/contain; } }
    section.top .cntWrap .mdlMov {
      border: 10px solid #191919;
      background-color: #fff;
      cursor: pointer; }
      @media screen and (max-width: 768px) {
        section.top .cntWrap .mdlMov {
          width: 100%;
          border-width: 5px; } }
      section.top .cntWrap .mdlMov:nth-of-type(1) {
        margin-bottom: 50px; }
        @media screen and (max-width: 768px) {
          section.top .cntWrap .mdlMov:nth-of-type(1) {
            margin-bottom: 56%; } }
      section.top .cntWrap .mdlMov img {
        width: 100%; }

section.corner {
  margin-bottom: 90px;
  position: relative; }
  @media screen and (max-width: 768px) {
    section.corner {
      margin-bottom: 42px; } }
  section.corner h2 {
    text-align: center; }
    @media screen and (max-width: 768px) {
      section.corner h2 img {
        width: 100%; } }
  section.corner .cntWrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    position: absolute;
    top: 270px;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 768px) {
      section.corner .cntWrap {
        flex-direction: column;
        align-items: center;
        top: 26vw; } }
    section.corner .cntWrap .cntBox {
      margin: 0 25px; }
      @media screen and (max-width: 768px) {
        section.corner .cntWrap .cntBox {
          width: 90%;
          margin: 0 auto 6vw; } }
      section.corner .cntWrap .cntBox p {
        margin-bottom: 10px; }
        @media screen and (max-width: 768px) {
          section.corner .cntWrap .cntBox p {
            height: 42px;
            text-align: center; }
            section.corner .cntWrap .cntBox p img {
              height: 100%; } }
      section.corner .cntWrap .cntBox .mdlMov {
        border: 10px solid #191919;
        background-color: #fff;
        cursor: pointer; }
        @media screen and (max-width: 768px) {
          section.corner .cntWrap .cntBox .mdlMov {
            border-width: 5px; }
            section.corner .cntWrap .cntBox .mdlMov img {
              width: 100%; } }

section.course {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 105px;
  padding: 105px 0 70px;
  background: url(/index/img/grade_bg.gif) repeat top center; }
  @media screen and (max-width: 768px) {
    section.course {
      margin-bottom: 46px;
      padding: 38px 5%; } }
  section.course h2 {
    margin-bottom: 35px;
    text-align: center;
    font-size: 40px;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      section.course h2 {
        margin-bottom: 18px;
        font-size: 24px; } }
  section.course .cntWrap {
    justify-content: space-around;
    align-items: center;
    position: relative;
    max-width: 1100px;
    width: 100%;
    margin-bottom: 90px; }
    @media screen and (min-width: 769px) {
      section.course .cntWrap {
        display: flex; } }
    @media screen and (max-width: 768px) {
      section.course .cntWrap {
        flex-direction: column;
        margin-bottom: 52px; } }
    section.course .cntWrap .cntBox {
      max-width: 310px;
      width: 100%;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        section.course .cntWrap .cntBox {
          max-width: 100%;
          margin: 0 10px; } }
      section.course .cntWrap .cntBox .desc {
        margin-bottom: 15px;
        border: 6px solid #191919;
        background-color: #fff; }
        @media screen and (max-width: 768px) {
          section.course .cntWrap .cntBox .desc {
            margin-bottom: 10px;
            border-width: 4px; } }
        section.course .cntWrap .cntBox .desc .mdlMov {
          border-bottom: 6px solid #191919;
          cursor: pointer; }
          @media screen and (max-width: 768px) {
            section.course .cntWrap .cntBox .desc .mdlMov {
              border-bottom-width: 4px; } }
          section.course .cntWrap .cntBox .desc .mdlMov img {
            width: 100%; }
        section.course .cntWrap .cntBox .desc .txt {
          display: flex;
          flex-direction: column;
          align-items: center;
          padding: 15px 30px 10px; }
          @media screen and (max-width: 768px) {
            section.course .cntWrap .cntBox .desc .txt {
              padding: 12px 5%; } }
          section.course .cntWrap .cntBox .desc .txt img {
            margin: 3px 0; }
            @media screen and (max-width: 768px) {
              section.course .cntWrap .cntBox .desc .txt img {
                width: 48px; } }
          section.course .cntWrap .cntBox .desc .txt p {
            line-height: 2; }
            @media screen and (min-width: 769px) {
              section.course .cntWrap .cntBox .desc .txt p {
                min-height: 130px; } }
            @media screen and (max-width: 768px) {
              section.course .cntWrap .cntBox .desc .txt p {
                line-height: 1.8; } }
      section.course .cntWrap .cntBox a.more {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 200px;
        height: 50px;
        margin: 0 auto;
        border-radius: 5px;
        background-color: #191919;
        color: #fff; }
        @media screen and (max-width: 768px) {
          section.course .cntWrap .cntBox a.more {
            width: 180px; } }
    section.course .cntWrap::after {
      width: 190px;
      height: 190px;
      background: url(/opencampus/img/course_circle.png);
      position: absolute;
      top: -100px;
      right: -60px; }
      @media screen and (min-width: 769px) {
        section.course .cntWrap::after {
          content: ''; } }

section.merit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 120px; }
  @media screen and (max-width: 768px) {
    section.merit {
      margin-bottom: 52px;
      padding: 0 5%; } }
  section.merit h2 {
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      section.merit h2 {
        width: 90%; } }
  section.merit .cntWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%; }
    section.merit .cntWrap .cntBox {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      max-width: 260px;
      width: 100%;
      margin: 0 10px;
      padding: 45px 25px 25px;
      border-radius: 10px;
      background-color: #fff;
      position: relative; }
      @media screen and (max-width: 768px) {
        section.merit .cntWrap .cntBox {
          max-width: 100%;
          margin: 0;
          padding: 14px 5%; }
          section.merit .cntWrap .cntBox:nth-last-of-type(n+2) {
            margin-bottom: 28px; } }
      @media screen and (min-width: 769px) {
        section.merit .cntWrap .cntBox:nth-of-type(2n) p.ttl {
          padding-top: 1em; } }
      section.merit .cntWrap .cntBox i {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 70px;
        height: 70px;
        border: 10px solid #dcc2ad;
        border-radius: 35px;
        background-color: #fff;
        font-size: 30px;
        position: absolute;
        top: -10px;
        left: -10px; }
        @media screen and (max-width: 768px) {
          section.merit .cntWrap .cntBox i {
            width: 50px;
            height: 50px;
            border-width: 5px;
            font-size: 24px;
            font-weight: bold; } }
      section.merit .cntWrap .cntBox p.ttl {
        width: 100%;
        text-align: center;
        font-size: 19px;
        font-weight: bold;
        position: relative;
      /*@include break {
    	margin-bottom: 10px;
    	padding-bottom: 12px;
    	font-size: 18px;
    }*/ }
        @media screen and (min-width: 769px) {
          section.merit .cntWrap .cntBox p.ttl {
            height: 110px;
            margin-bottom: 10px;
            padding-bottom: 20px; }
            section.merit .cntWrap .cntBox p.ttl::after {
              content: '';
              width: 210px;
              height: 5px;
              background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAADklEQVQImWNgQID/uBkANfEC/tK2Q2IAAAAASUVORK5CYII=) repeat top left;
              position: absolute;
              bottom: 0;
              left: 50%;
              transform: translateX(-50%); } }
    @media screen and (min-width: 769px) and (max-width: 768px) {
      section.merit .cntWrap .cntBox p.ttl::after {
        width: 100%;
        height: 3px; } }

        section.merit .cntWrap .cntBox p.ttl span {
          color: #ff5086;
          font-weight: inherit; }
      section.merit .cntWrap .cntBox img {
        width: 100%; }
        @media screen and (max-width: 768px) {
          section.merit .cntWrap .cntBox img {
            max-width: 220px;
            width: 90%; } }

section.oc {
  max-width: 1100px;
  width: 93%;
  margin: 0 auto; }
  section.oc ul.tabNav {
    display: flex;
    justify-content: space-between;
    border-bottom: 12px solid #f04d92; }
    @media screen and (max-width: 768px) {
      section.oc ul.tabNav {
        border-bottom-width: 8px; } }
    section.oc ul.tabNav li {
      display: flex;
      justify-content: center;
      align-items: center;
      width: calc((100% - 8px) / 3);
      height: 60px;
      border-radius: 15px 15px 0 0;
      background-color: #000;
      line-height: 1.2;
      color: #fff;
      font-size: 22px;
      transition: .3s; }
      @media screen and (max-width: 768px) {
        section.oc ul.tabNav li {
          height: 56px;
          border-radius: 10px 10px 0 0;
          text-align: center;
          font-size: 17px; }
          section.oc ul.tabNav li[data-tab="2"] {
            flex-direction: column;
            font-size: 15px; }
            section.oc ul.tabNav li[data-tab="2"] i {
              width: 60px;
              margin: 2px 0;
              border-bottom: 2px dotted #fff;
              font-size: 0; } }
      section.oc ul.tabNav li.crt, section.oc ul.tabNav li:hover {
        background-color: #f04d92; }
      section.oc ul.tabNav li:not(.crt) {
        cursor: pointer; }
  section.oc .tabWrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 115px 30px 40px;
    border-radius: 10px;
    background-color: #fff;
    position: relative; }
    @media screen and (max-width: 768px) {
      section.oc .tabWrap {
        padding: 115px 5% 32px; } }
    @media screen and (max-width: 500px) {
      section.oc .tabWrap[data-tab="2"] .ttl {
        padding: 0 clamp(0px, 23vw, 115px); }
        section.oc .tabWrap[data-tab="2"] .ttl::before, section.oc .tabWrap[data-tab="2"] .ttl::after {
          width: clamp(0px, 20vw, 100px); } }
    section.oc .tabWrap .ttl {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: max-content;
      height: 115px;
      padding: 0 160px;
      line-height: 1.2;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
      @media screen and (max-width: 768px) {
        section.oc .tabWrap .ttl {
          padding: 0 115px; } }
      section.oc .tabWrap .ttl::before, section.oc .tabWrap .ttl::after {
        content: '';
        width: 142px;
        height: 68px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%); }
        @media screen and (max-width: 768px) {
          section.oc .tabWrap .ttl::before, section.oc .tabWrap .ttl::after {
            width: 100px;
            height: 50px; } }
      section.oc .tabWrap .ttl::before {
        background: url(/opencampus/img/oc_ttl_left.png) no-repeat center center/contain;
        left: 0; }
      section.oc .tabWrap .ttl::after {
        background: url(/opencampus/img/oc_ttl_right.png) no-repeat center center/contain;
        right: 0; }
      section.oc .tabWrap .ttl h2 {
        margin-bottom: 3px;
        font-size: 36px; }
        @media screen and (max-width: 768px) {
          section.oc .tabWrap .ttl h2 {
            font-size: 24px; } }
      section.oc .tabWrap .ttl span {
        text-align: center;
        font-size: 16px;
        font-weight: bold; }
        @media screen and (max-width: 768px) {
          section.oc .tabWrap .ttl span {
            font-size: 14px; } }
    section.oc .tabWrap .cntWrap {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      width: 100%; }
      section.oc .tabWrap .cntWrap a.ov {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: calc((100% - 24px) / 3);
        border-radius: 10px;
        background-color: #fff2e6;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          section.oc .tabWrap .cntWrap a.ov {
            width: calc(50% - 6px); } }
        section.oc .tabWrap .cntWrap a.ov h3 {
          width: 100%;
          padding: 10px 15px;
          background-color: #f2e1d1;
          font-size: 18px; }
          @media screen and (max-width: 768px) {
            section.oc .tabWrap .cntWrap a.ov h3 {
              padding: 8px 12px;
              font-size: 16px; } }
          @media screen and (max-width: 500px) {
            section.oc .tabWrap .cntWrap a.ov h3 {
              font-size: 3.2vw; } }
        section.oc .tabWrap .cntWrap a.ov figure {
          width: calc(100% - 30px);
          margin: 10px auto;
          position: relative; }
          section.oc .tabWrap .cntWrap a.ov figure::after {
            content: '';
            display: block;
            padding-top: 130px; }
            @media screen and (max-width: 768px) {
              section.oc .tabWrap .cntWrap a.ov figure::after {
                padding-top: 60%; } }
          section.oc .tabWrap .cntWrap a.ov figure img {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            object-fit: cover; }
        section.oc .tabWrap .cntWrap a.ov dl {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          gap: 2px 0;
          width: 90%;
          margin-bottom: 5px;
          padding: 0 5px; }
          @media screen and (max-width: 500px) {
            section.oc .tabWrap .cntWrap a.ov dl {
              align-items: flex-start;
              font-size: 12px; } }
          section.oc .tabWrap .cntWrap a.ov dl dt {
            border-bottom: 2px solid #000; }
        section.oc .tabWrap .cntWrap a.ov p {
          width: 90%;
          padding: 8px 0 15px; }
          @media screen and (max-width: 500px) {
            section.oc .tabWrap .cntWrap a.ov p {
              font-size: 12px; } }

a.addLine {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 5px;
  max-width: 510px;
  width: 90%;
  height: 80px;
  margin: 80px auto;
  border-radius: 10px;
  background-color: #00b900;
  color: #fff;
  font-size: 18px; }
  @media screen and (max-width: 768px) {
    a.addLine {
      height: 70px;
      margin: 48px auto;
      font-size: 17px; } }
  @media screen and (min-width: 501px) {
    a.addLine br {
      display: none; } }

section.instagram {
  max-width: 900px;
  width: 90%;
  margin: 0 auto 80px; }
  @media screen and (max-width: 768px) {
    section.instagram {
      margin: 0 auto 42px; } }
  section.instagram p {
    padding-top: 10px;
    text-align: right;
    color: #101010;
    font-size: 12px; }
    @media screen and (max-width: 768px) {
      section.instagram p {
        padding-top: 4px; } }
    section.instagram p img {
      vertical-align: middle;
      margin-left: 10px; }

@media screen and (max-width: 768px) {
  section.voice {
    overflow-x: scroll; } }
section.voice .cntWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto 90px; }
  @media screen and (min-width: 769px) {
    section.voice .cntWrap {
      border: 1px solid #191919;
      border-radius: 10px;
      background-color: #fff;
      overflow: hidden; } }
  @media screen and (max-width: 768px) {
    section.voice .cntWrap {
      justify-content: space-between;
      align-items: stretch;
      max-width: 1200px;
      width: 1200px;
      margin: 0 0 48px;
      padding: 0 3.5vw; } }
  section.voice .cntWrap h2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 200px;
    background-color: #191919;
    color: #fff;
    font-size: 14px; }
    @media screen and (min-width: 769px) {
      section.voice .cntWrap h2 {
        height: 194px;
        padding-right: 30px;
        position: relative; } }
    section.voice .cntWrap h2 i {
      width: 100%;
      line-height: 1;
      text-align: center;
      font-size: 36px;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        section.voice .cntWrap h2 i {
          font-size: 22px; } }
      section.voice .cntWrap h2 i:first-letter {
        font-size: 60px; }
        @media screen and (max-width: 768px) {
          section.voice .cntWrap h2 i:first-letter {
            font-size: 28px; } }
    section.voice .cntWrap h2 span {
      margin-top: 5px;
      padding-top: 5px;
      border-top: 6px solid #fff;
      font-size: 16px;
      letter-spacing: 2px; }
      @media screen and (max-width: 768px) {
        section.voice .cntWrap h2 span {
          border-top-width: 4px; } }
    section.voice .cntWrap h2::after {
      border-top: 97px solid transparent;
      border-right: 25px solid #fff;
      border-bottom: 97px solid #fff;
      border-left: 25px solid transparent;
      position: absolute;
      top: 0;
      right: 0; }
      @media screen and (min-width: 769px) {
        section.voice .cntWrap h2::after {
          content: ''; } }
  section.voice .cntWrap .cntBox {
    width: calc((100% - 200px) / 3);
    padding: 20px 25px; }
    @media screen and (max-width: 768px) {
      section.voice .cntWrap .cntBox {
        width: 300px;
        padding: 14px;
        border: 1px solid #191919;
        background-color: #fff; } }
    @media screen and (min-width: 769px) {
      section.voice .cntWrap .cntBox:nth-last-of-type(n+2) {
        position: relative; }
        section.voice .cntWrap .cntBox:nth-last-of-type(n+2)::after {
          content: '';
          width: 4px;
          height: calc(100% - 40px);
          background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAADklEQVQImWNgQID/uBkANfEC/tK2Q2IAAAAASUVORK5CYII=) repeat top left;
          position: absolute;
          top: 20px;
          right: -2px; } }
    section.voice .cntWrap .cntBox p {
      font-size: 14px; }
      section.voice .cntWrap .cntBox p:first-child {
        margin-bottom: 10px; }
        @media screen and (max-width: 768px) {
          section.voice .cntWrap .cntBox p:first-child {
            margin-bottom: 6px; } }

section#reservation {
  max-width: 1100px;
  width: 93%;
  padding: 25px 3.5% 45px;
  border-radius: 15px;
  background-color: #fff;
  margin: 0 auto 100px; }
  @media screen and (max-width: 768px) {
    section#reservation {
      margin: 0 auto 42px; } }
  section#reservation .ttl {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px; }
    section#reservation .ttl span {
      padding-bottom: 10px;
      font-size: 30px;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        section#reservation .ttl span {
          font-size: 22px; } }
      section#reservation .ttl span:first-letter {
        font-size: 48px; }
        @media screen and (max-width: 768px) {
          section#reservation .ttl span:first-letter {
            font-size: 30px; } }
      section#reservation .ttl span::after {
        content: '';
        display: block;
        width: 100%;
        height: 6px;
        background-color: #191919; }
    section#reservation .ttl h2 {
      font-size: 22px;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        section#reservation .ttl h2 {
          font-size: 18px; } }
  section#reservation ul.pager {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 25px 0;
    border-top: 1px solid #e8e8e8;
    border-bottom: 3px solid #191919; }
    @media screen and (max-width: 768px) {
      section#reservation ul.pager {
        padding: 20px 0; } }
    section#reservation ul.pager li {
      display: flex;
      justify-content: center; }
      section#reservation ul.pager li.prev, section#reservation ul.pager li.next {
        align-items: center;
        width: 30px;
        height: 30px;
        margin: 0 65px;
        position: relative; }
        @media screen and (max-width: 768px) {
          section#reservation ul.pager li.prev, section#reservation ul.pager li.next {
            width: 24px;
            height: 24px;
            margin: 0 30px; } }
        section#reservation ul.pager li.prev:not(.desabled), section#reservation ul.pager li.next:not(.desabled) {
          cursor: pointer; }
        section#reservation ul.pager li.prev.desabled, section#reservation ul.pager li.next.desabled {
          opacity: 0; }
        section#reservation ul.pager li.prev:before, section#reservation ul.pager li.next:before {
          content: '';
          width: 21px;
          height: 21px;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%) rotate(45deg); }
          @media screen and (max-width: 768px) {
            section#reservation ul.pager li.prev:before, section#reservation ul.pager li.next:before {
              width: 18px;
              height: 18px; } }
      section#reservation ul.pager li.prev::before {
        border-bottom: 2px solid #191919;
        border-left: 2px solid #191919; }
      section#reservation ul.pager li.next::before {
        border-top: 2px solid #191919;
        border-right: 2px solid #191919; }
      section#reservation ul.pager li.crnt {
        align-items: baseline;
        line-height: 1;
        font-size: 24px; }
        @media screen and (max-width: 768px) {
          section#reservation ul.pager li.crnt {
            font-size: 20px; } }
        section#reservation ul.pager li.crnt span {
          font-size: 30px; }
          @media screen and (max-width: 768px) {
            section#reservation ul.pager li.crnt span {
              font-size: 24px; } }
          section#reservation ul.pager li.crnt span i {
            font-size: 48px;
            font-weight: bold; }
            @media screen and (max-width: 768px) {
              section#reservation ul.pager li.crnt span i {
                font-size: 28px; } }
  section#reservation table {
    line-height: 1; }
    section#reservation table tr {
      display: flex;
      justify-content: space-between;
      margin-bottom: 6px; }
      section#reservation table tr th, section#reservation table tr td {
        width: calc(100% / 7 - 6px); }
      section#reservation table tr th {
        padding: 10px 0 3px;
        font-size: 18px;
        font-weight: bold; }
        @media screen and (max-width: 768px) {
          section#reservation table tr th {
            padding: 8px 0 2px;
            font-size: 16px; } }
      section#reservation table tr td {
        height: 114px;
        padding: 8px 30px 8px 15px;
        border-radius: 3px;
        background-color: #f3f1f1;
        position: relative; }
        @media screen and (max-width: 768px) {
          section#reservation table tr td {
            height: 70px; } }
        @media screen and (max-width: 768px) {
          section#reservation table tr td.act::after {
            content: '';
            display: block;
            border-top: 8px solid transparent;
            border-right: 8px solid #ff0586;
            border-bottom: 8px solid #ff0586;
            border-left: 8px solid transparent;
            border-radius: 0 0 3px 0;
            position: absolute;
            bottom: 0;
            right: 0; } }
        section#reservation table tr td .spMdlTgl {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0; }
        section#reservation table tr td > i {
          line-height: 1;
          position: absolute;
          top: 6px;
          right: 8px; }
          @media screen and (max-width: 768px) {
            section#reservation table tr td > i {
              display: block;
              width: 100%;
              text-align: center;
              right: 0; } }
          section#reservation table tr td > i.non {
            opacity: 0.3; }
          section#reservation table tr td > i.sat, section#reservation table tr td > i.sat ~ ul li.sp i {
            color: #0088c1; }
          section#reservation table tr td > i.hol, section#reservation table tr td > i.hol ~ ul li.sp i {
            color: #ff5086; }
        section#reservation table tr td ul {
          display: none;
          flex-direction: column;
          justify-content: center;
          align-items: center; }
          @media screen and (min-width: 769px) {
            section#reservation table tr td ul {
              display: flex; } }
          @media screen and (max-width: 768px) {
            section#reservation table tr td ul {
              width: 80%;
              min-width: 300px;
              height: 40vh;
              padding: 30px 5%;
              border-radius: 10px;
              background-color: #fff;
              position: fixed;
              top: 50%;
              left: 50%;
              z-index: 99;
              transform: translate(-50%, -50%); } }
          section#reservation table tr td ul li.sp {
            margin-bottom: 18px;
            text-align: center;
            font-size: 18px; }
          section#reservation table tr td ul li:nth-of-type(n+2) {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 95px;
            margin-bottom: 4px; }
            @media screen and (max-width: 768px) {
              section#reservation table tr td ul li:nth-of-type(n+2) {
                justify-content: space-between;
                width: 70%;
                margin: 0 auto 10px;
                position: relative; }
                section#reservation table tr td ul li:nth-of-type(n+2)::before {
                  font-size: 20px;
                  font-weight: bold;
                  position: absolute;
                  top: 50%;
                  left: -25px;
                  transform: translateY(-50%); }
                section#reservation table tr td ul li:nth-of-type(n+2):not(.full)::before {
                  content: '';
                  width: 12px;
                  height: 12px;
                  border: 2px solid #191919;
                  border-radius: 10px; }
                section#reservation table tr td ul li:nth-of-type(n+2).full::before {
                  content: '×'; } }
          section#reservation table tr td ul li.joint a {
            background-color: #00ae58; }
          section#reservation table tr td ul li.part a {
            background-color: #6f3cfb; }
          section#reservation table tr td ul li.visit a {
            background-color: #880016; }
          section#reservation table tr td ul li.full a {
            opacity: 0.3; }
          section#reservation table tr td ul li a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 30px;
            border-radius: 3px;
            font-size: 14px;
            color: #fff; }
            @media screen and (max-width: 768px) {
              section#reservation table tr td ul li a {
                width: 100%;
                height: 50px;
                font-size: 18px; } }
  section#reservation p.sp {
    font-size: 14px; }
    section#reservation p.sp::before {
      content: '';
      display: inline-block;
      vertical-align: middle;
      margin-right: 3px;
      border-top: 6px solid transparent;
      border-right: 6px solid #ff0586;
      border-bottom: 6px solid #ff0586;
      border-left: 6px solid transparent; }
  section#reservation .spMdlBg {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9; }
    section#reservation .spMdlBg .spMdlClose {
      width: 40px;
      height: 40px;
      position: absolute;
      top: 80px;
      right: 20px; }
      section#reservation .spMdlBg .spMdlClose::before, section#reservation .spMdlBg .spMdlClose::after {
        content: '';
        width: 40px;
        height: 3px;
        background-color: #fff;
        position: absolute;
        top: 50%;
        left: 50%; }
      section#reservation .spMdlBg .spMdlClose::before {
        transform: translate(-50%, -50%) rotate(-45deg); }
      section#reservation .spMdlBg .spMdlClose::after {
        transform: translate(-50%, -50%) rotate(45deg); }

/*# sourceMappingURL=style.css.map */
