@charset "UTF-8";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal; }

body {
  line-height: 1; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

nav ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  text-decoration: none;
  color: inherit;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input,
select {
  vertical-align: middle; }

*,
*::after,
*::before {
  box-sizing: border-box; }

button {
  background-color: transparent;
  font-size: 100%;
  font-family: inherit;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

input, textarea {
  font-family: inherit; }

h1, h2, h3, h4, th {
  font-weight: normal; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

/*
$breakpoint argument choices
 - phone        0 - 480x
 - tab-port     480px-768px
 - tab-land     768px-960px
 - pc     960px-1200px

 Order Base + Typography > general layout + grid > page layout > components

@include respond(tab-land) {
 
    }
@include respond(tab-port) {
     
    }
@include respond(phone) {
        
    }

*/
html {
  font-size: 62.5%; }

body {
  box-sizing: border-box;
  background-color: #000; }

body {
  font-family: ten-mincho, serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff; }

@-moz-document url-prefix() {
  body {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; } }

p {
  line-height: 1.6; }

.section-heading {
  font-size: 5rem;
  text-align: center; }
  @media only screen and (max-width: 30em) {
    .section-heading {
      font-size: 3.6rem; } }

.main {
  overflow: hidden; }

.u-center-text {
  text-align: center !important; }

.container {
  max-width: 96rem;
  margin: 0 auto; }
  .container-lg {
    min-width: 1280rem; }

.hidden {
  display: none; }

.txt-thin {
  font-weight: 300 !important; }

.txt-bold {
  font-weight: 600 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.mb30 {
  margin-bottom: 3rem; }

.mb60 {
  margin-bottom: 6rem; }

.pc {
  display: block; }
  @media only screen and (max-width: 48em) {
    .pc {
      display: none !important; } }

.pcf {
  display: flex; }
  @media only screen and (max-width: 48em) {
    .pcf {
      display: none !important; } }

.pcib {
  display: inline-block; }
  @media only screen and (max-width: 48em) {
    .pcib {
      display: none !important; } }

.sp {
  display: none !important; }
  @media only screen and (max-width: 48em) {
    .sp {
      display: block !important; } }

.spf {
  display: none !important; }
  @media only screen and (max-width: 48em) {
    .spf {
      display: flex !important; } }

.spib {
  display: none !important; }
  @media only screen and (max-width: 48em) {
    .spib {
      display: inline-block !important; } }

.dn48 {
  display: block !important; }
  @media only screen and (max-width: 30em) {
    .dn48 {
      display: none !important; } }

.dotTop {
  position: relative; }
  .dotTop::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    background-color: #fff; }

.btn {
  font-size: 3.2rem;
  border: 1px solid #fff;
  height: 7rem;
  line-height: 7rem;
  display: inline-block;
  text-align: center; }
  .btn:hover {
    background-color: #fff;
    color: #000; }

.btn-gold {
  color: #C09932;
  border: 1px solid #C09932; }
  .btn-gold:hover {
    background-color: #C09932;
    color: #000;
    border: 1px solid #000; }

.access {
  padding: 6.4rem 0 9rem;
  text-align: center;
  background-image: url(../img/pages/Top/top_omoi_bg.jpg);
  background-size: cover; }
  @media only screen and (max-width: 48em) {
    .access {
      padding-top: 4.8rem;
      padding-bottom: 8.5rem; } }
  @media only screen and (max-width: 30em) {
    .access {
      padding-bottom: 4rem; } }
  .access__heading {
    margin-bottom: 2.2rem; }
  .access__lead {
    font-size: 2.6rem;
    display: inline-block;
    margin: 0 auto;
    margin-bottom: 5.6rem; }
    @media only screen and (max-width: 60em) {
      .access__lead {
        -moz-text-align-last: left;
             text-align-last: left;
        padding-right: 8rem;
        padding-left: 8rem;
        line-height: 5.4rem; } }
    @media only screen and (max-width: 48em) {
      .access__lead {
        padding-right: 1.5rem;
        padding-left: 1.5rem; } }
    @media only screen and (max-width: 30em) {
      .access__lead {
        font-size: 1.8rem;
        line-height: 2.8rem; } }
  .access__btn {
    width: 40rem;
    margin-top: 5.3rem; }
    @media only screen and (max-width: 30em) {
      .access__btn {
        width: 28rem;
        font-size: 2.2rem; } }

@media only screen and (max-width: 48em) {
  .Header {
    padding-top: 16rem; } }

@media only screen and (max-width: 30em) {
  .Header {
    padding-top: 8rem; } }

.Header__sp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 16rem;
  z-index: 1000;
  padding: 3rem 5rem;
  background-color: #000;
  justify-content: space-between; }
  @media only screen and (max-width: 30em) {
    .Header__sp {
      padding: 1.5rem 2rem;
      height: 8rem; } }

.Header__hero {
  text-align: center;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(100vh - 10rem); }
  @media only screen and (max-width: 48em) {
    .Header__hero {
      height: auto; } }

.Header__top {
  background-image: url(../img/common/top__heroBg.jpg); }
  @media only screen and (max-width: 48em) {
    .Header__top {
      background-image: url(../img/common/top__heroBg-sp.jpg); } }

.Header__omoi {
  background-image: url(../img/common/omoi__heroBg.jpg); }
  @media only screen and (max-width: 48em) {
    .Header__omoi {
      background-image: url(../img/common/omoi__heroBg-sp.jpg); } }

.Header__menu {
  background-image: url(../img/common/menu__heroBg.jpg); }
  @media only screen and (max-width: 48em) {
    .Header__menu {
      background-image: url(../img/common/menu__heroBg-sp.jpg); } }

.Header__course {
  background-image: url(../img/common/course__heroBg.jpg); }
  @media only screen and (max-width: 48em) {
    .Header__course {
      background-image: url(../img/common/course__heroBg-sp.jpg); } }

.Header__contact {
  background-image: url(../img/common/contact__heroBg.jpg); }
  @media only screen and (max-width: 48em) {
    .Header__contact {
      background-image: url(../img/common/contact__heroBg-sp.jpg); } }

.Header__tempo {
  background-image: url(../img/common/tempo__heroBg.jpg); }
  @media only screen and (max-width: 48em) {
    .Header__tempo {
      background-image: url(../img/common/tempo__heroBg-sp.jpg); } }

.Header__logoBox {
  /*
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    margin: 0 auto;
    @include respond(phone) {
      width: 80%;
    }
    */
  max-width: 48.2rem; }
  @media only screen and (max-width: 48em) {
    .Header__logoBox {
      width: 80%;
      margin-top: 21rem;
      margin-bottom: 26rem; } }
  @media only screen and (max-width: 30em) {
    .Header__logoBox {
      margin-top: 12rem;
      margin-bottom: 16rem; } }
  .Header__logoBox img {
    width: 100%; }

.Header__pageName {
  font-size: 2.4rem;
  text-shadow: 0 0 12px black, 0 0 16px black, 0 0 24px black; }

/*
.Header__heroSlider .Header__heroSlide {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100vw;
  height: calc(100vh - 10rem); //全画面表示
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}*/
.shop__link {
  position: fixed;
  right: 0;
  top: 10rem;
  width: 9rem; }
  .shop__link:hover img {
    opacity: .8; }
  .shop__link img {
    width: 100%; }

.shop__link--sp {
  width: 27rem; }
  @media only screen and (max-width: 30em) {
    .shop__link--sp {
      width: 14rem; } }
  .shop__link--sp img {
    width: 100%; }

.GloNav__pc {
  height: 10rem;
  background-color: #000; }

.GloNav__list {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 48em) {
    .GloNav__list {
      height: auto;
      display: block;
      padding-top: 1.5rem;
      padding-bottom: 1.5rem; } }

.GloNav__item {
  margin-right: 2rem;
  margin-left: 2rem;
  border-bottom: 3px solid rgba(255, 255, 255, 0);
  transition: border-bottom .3s;
  font-size: 2.8rem;
  padding-bottom: 1.5rem; }
  @media only screen and (max-width: 75em) {
    .GloNav__item {
      font-size: 2.4rem;
      margin-right: 1rem;
      margin-left: 1rem; } }
  @media only screen and (max-width: 60em) {
    .GloNav__item {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 48em) {
    .GloNav__item {
      font-size: 3.8rem;
      line-height: 4rem; } }
  @media only screen and (max-width: 30em) {
    .GloNav__item {
      font-size: 2.8rem;
      line-height: 3.2rem; } }
  .GloNav__item a {
    padding: 1.5rem 0.5rem 0;
    cursor: pointer; }
    @media only screen and (max-width: 48em) {
      .GloNav__item a {
        display: flex;
        justify-content: space-between; } }
    .GloNav__item a::after {
      display: none;
      content: "〉"; }
      @media only screen and (max-width: 48em) {
        .GloNav__item a::after {
          display: block; } }
  .GloNav__item.current, .GloNav__item:hover {
    border-bottom: 3px solid #C09932; }
    @media only screen and (max-width: 48em) {
      .GloNav__item.current, .GloNav__item:hover {
        border: none;
        color: #C09932; } }

.GloNav__burger {
  width: 8rem;
  background: transparent;
  outline: none;
  border: none;
  z-index: 9999; }
  @media only screen and (max-width: 30em) {
    .GloNav__burger {
      width: 5.6rem; } }
  .GloNav__burger img {
    width: 100%; }

.GloNav__sp {
  background: url(../img/common/burger__bg.png);
  position: fixed;
  z-index: 900;
  right: 0;
  top: -100vh;
  transition: top .3s linear;
  width: 100vw; }

.GloNav__close {
  display: none; }

.add-active .GloNav__sp {
  top: 16rem; }
  @media only screen and (max-width: 30em) {
    .add-active .GloNav__sp {
      top: 8rem; } }

.add-active .GloNav__overlay {
  opacity: 1;
  visibility: visible; }

.add-active .GloNav__open {
  display: none; }

.add-active .GloNav__close {
  display: block; }

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%; }

.footer {
  background-image: url(../img/common/footer_bg.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #000; }
  @media only screen and (max-width: 48em) {
    .footer {
      background-position: right bottom;
      background-size: 250%; } }
  @media only screen and (max-width: 30em) {
    .footer {
      background-size: 300%; } }
  .footer__mainBox {
    display: flex;
    justify-content: center;
    padding-top: 6.5rem;
    padding-bottom: 6rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem; }
    @media only screen and (max-width: 48em) {
      .footer__mainBox {
        flex-direction: column;
        align-items: center;
        padding-top: 4.2rem;
        padding-bottom: 2rem; } }
  .footer__leftBox {
    border-right: 2px solid #fff;
    padding-right: 5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
    @media only screen and (max-width: 75em) {
      .footer__leftBox {
        padding-right: 3rem; } }
    @media only screen and (max-width: 60em) {
      .footer__leftBox {
        padding-right: 2rem; } }
    @media only screen and (max-width: 48em) {
      .footer__leftBox {
        border: none;
        padding-right: 0;
        margin-bottom: 4rem;
        text-align: center; } }
  .footer__rightBox {
    padding-left: 5rem; }
    @media only screen and (max-width: 75em) {
      .footer__rightBox {
        padding-left: 3rem; } }
    @media only screen and (max-width: 60em) {
      .footer__rightBox {
        padding-left: 2rem; } }
    @media only screen and (max-width: 48em) {
      .footer__rightBox {
        padding-left: 0; } }
  .footer__logo {
    width: 36rem;
    margin-bottom: 3rem; }
    @media only screen and (max-width: 75em) {
      .footer__logo {
        width: 30rem; } }
    @media only screen and (max-width: 60em) {
      .footer__logo {
        width: 28rem; } }
    @media only screen and (max-width: 48em) {
      .footer__logo {
        max-width: 41rem;
        width: 80%; } }
  .footer__reserve {
    display: block;
    text-align: center;
    line-height: 7rem;
    font-size: 22px;
    width: 36rem;
    height: 7rem;
    background-color: #C09932;
    color: #000;
    border: 1px solid #C09932; }
    .footer__reserve:hover {
      background-color: #000;
      color: #C09932; }
    @media only screen and (max-width: 75em) {
      .footer__reserve {
        font-size: 1.8rem;
        width: 30rem; } }
    @media only screen and (max-width: 60em) {
      .footer__reserve {
        font-size: 1.6rem;
        width: 28rem; } }
    @media only screen and (max-width: 48em) {
      .footer__reserve {
        max-width: 48rem;
        font-size: 2.2rem;
        width: 100%; } }
    @media screen and (max-width: 400px) {
      .footer__reserve {
        font-size: 1.8rem; } }
  .footer__tableRow {
    line-height: 3.5rem;
    font-size: 1.9rem; }
    @media only screen and (max-width: 75em) {
      .footer__tableRow {
        font-size: 1.6rem; } }
    @media only screen and (max-width: 48em) {
      .footer__tableRow {
        font-size: 22px;
        line-height: 4.2rem; } }
    @media only screen and (max-width: 30em) {
      .footer__tableRow {
        font-size: 1.6rem;
        line-height: 2.4rem; } }
  .footer__tableHead {
    padding-right: 4rem;
    text-align: right;
    white-space: nowrap; }
    @media only screen and (max-width: 60em) {
      .footer__tableHead {
        padding-right: 1.5rem; } }
    @media only screen and (max-width: 48em) {
      .footer__tableHead {
        padding-right: 4rem;
        font-size: 22px; } }
    @media only screen and (max-width: 30em) {
      .footer__tableHead {
        padding-right: 1.5rem;
        font-size: 1.6rem; } }
  .footer__tableData {
    text-align: left; }
  .footer__foot {
    background-color: rgba(19, 19, 19, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.9rem;
    height: 7.5rem; }
    @media only screen and (max-width: 60em) {
      .footer__foot {
        flex-direction: column-reverse;
        height: auto;
        padding-bottom: 2rem;
        font-size: 1.8rem; } }
    @media only screen and (max-width: 30em) {
      .footer__foot {
        font-size: 1.2rem; } }
  .footer__copy {
    margin-right: 2rem; }
    @media only screen and (max-width: 60em) {
      .footer__copy {
        margin-right: 0; } }
  .footer__links {
    margin-left: 2rem;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 60em) {
      .footer__links {
        margin-bottom: 1.4rem; } }
  .footer__insta {
    margin-left: 1rem;
    margin-right: 2rem;
    display: flex;
    align-items: center; }
  .footer__instaLogo {
    width: 4rem;
    margin-right: 0.8rem; }
    @media only screen and (max-width: 30em) {
      .footer__instaLogo {
        width: 2rem; } }
  .footer__instaTxt {
    width: 8.5rem; }
    @media only screen and (max-width: 30em) {
      .footer__instaTxt {
        width: 5.6rem; } }
  .footer__line {
    width: 16rem; }
    .footer__line img {
      width: 100%; }
    @media only screen and (max-width: 30em) {
      .footer__line {
        width: 8rem; } }

.takeout {
  height: 20rem;
  padding-right: 5rem;
  padding-left: 5rem;
  background-image: url(../img/pages/Top/top_takeout_bg.jpg);
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto; }
  @media only screen and (max-width: 60em) {
    .takeout {
      height: auto;
      padding-top: 3.5rem;
      padding-bottom: 3.5rem;
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }
  @media only screen and (max-width: 30em) {
    .takeout {
      flex-direction: column; } }
  .takeout__img {
    width: 13rem;
    margin-right: 3.3rem; }
    @media only screen and (max-width: 30em) {
      .takeout__img {
        width: 8rem;
        margin-right: 0;
        margin-bottom: 2rem; } }
    .takeout__img img {
      width: 100%; }
  .takeout__lead {
    font-size: 3.6rem;
    line-height: 4.2rem; }
    @media only screen and (max-width: 30em) {
      .takeout__lead {
        font-size: 2.8rem;
        line-height: 3.6rem; } }
  .takeout__text {
    font-size: 2.2rem;
    /*line-height: 4.2rem;*/ }
    @media only screen and (max-width: 30em) {
      .takeout__text {
        font-size: 1.8rem;
        line-height: 3.2rem; } }

.topOmoi {
  position: relative;
  background-image: url(../img/pages/Top/top_omoi_bg.jpg);
  display: flex;
  height: 85rem;
  align-items: center;
  justify-content: space-between;
  padding-right: 5%; }
  @media only screen and (max-width: 48em) {
    .topOmoi {
      flex-direction: column;
      padding-right: 5rem;
      padding-left: 5rem;
      padding-top: 8rem;
      height: auto; } }
  @media only screen and (max-width: 30em) {
    .topOmoi {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }
  .topOmoi__container {
    max-width: 60rem;
    text-align: center;
    margin-top: 4rem;
    margin-left: 25rem;
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 75em) {
      .topOmoi__container {
        margin-left: 5rem; } }
    @media only screen and (max-width: 48em) {
      .topOmoi__container {
        margin-left: 0; } }
  .topOmoi__ttl {
    font-size: 5.4rem;
    position: relative;
    margin-bottom: 4rem;
    -moz-text-align-last: left;
         text-align-last: left;
    z-index: 1; }
    @media only screen and (max-width: 30em) {
      .topOmoi__ttl {
        font-size: 3.6rem; } }
    .topOmoi__ttl span {
      color: #C09932;
      font-size: 6.4rem; }
      @media only screen and (max-width: 30em) {
        .topOmoi__ttl span {
          font-size: 4.2rem; } }
    .topOmoi__ttl::after {
      position: absolute;
      top: -2rem;
      left: -5rem;
      z-index: -1;
      content: "";
      display: block;
      height: 10.1rem;
      width: 10.9rem;
      background-image: url(../img/pages/Top/top_omoi_textDeco.png);
      background-size: cover; }
  .topOmoi__txt {
    font-size: 2.4rem;
    text-align: left;
    line-height: 5.4rem;
    margin-bottom: 6rem; }
    @media only screen and (max-width: 30em) {
      .topOmoi__txt {
        font-size: 2rem;
        line-height: 3.6rem;
        margin-bottom: 4rem; } }
  .topOmoi__btn {
    width: 35rem; }
    @media only screen and (max-width: 48em) {
      .topOmoi__btn {
        font-size: 2.8rem; } }
    @media only screen and (max-width: 30em) {
      .topOmoi__btn {
        width: 28rem; } }
  .topOmoi__img {
    width: 34%;
    z-index: 1; }
    .topOmoi__img img {
      width: 100%; }
    @media only screen and (max-width: 48em) {
      .topOmoi__img {
        width: 100%; } }
  .topOmoi__deco {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 0;
    transform: translateY(-50%);
    max-width: 100vw; }

.topMenu {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between; }
  @media only screen and (max-width: 48em) {
    .topMenu {
      flex-direction: column;
      padding-top: 12rem; } }
  .topMenu__container {
    max-width: 50rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 26%;
    margin-right: 9%;
    height: 100%;
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 75em) {
      .topMenu__container {
        width: 42%;
        margin-right: 5%; } }
    @media only screen and (max-width: 48em) {
      .topMenu__container {
        width: 100%;
        margin-right: 5rem;
        margin-left: 5rem; } }
  .topMenu__ttl {
    font-size: 5rem;
    position: relative;
    margin-bottom: 3rem;
    -moz-text-align-last: left;
         text-align-last: left;
    z-index: 1; }
    @media only screen and (max-width: 30em) {
      .topMenu__ttl {
        font-size: 3.6rem; } }
    .topMenu__ttl span {
      color: #C09932;
      font-size: 6.4rem; }
      @media only screen and (max-width: 30em) {
        .topMenu__ttl span {
          font-size: 4.2rem; } }
    .topMenu__ttl::after {
      position: absolute;
      top: -2.4rem;
      left: -2.8rem;
      z-index: -1;
      content: "";
      display: block;
      height: 10rem;
      width: 10rem;
      background-image: url(../img/pages/Top/top_menu_textDeco.png);
      background-size: cover; }
  .topMenu__txt {
    font-size: 2rem;
    text-align: left;
    line-height: 4rem; }
    @media only screen and (max-width: 48em) {
      .topMenu__txt {
        margin-bottom: 8rem;
        padding-right: 1.5rem;
        padding-left: 1.5rem; } }
  .topMenu__btn {
    width: 35rem;
    margin-top: 8rem; }
    @media only screen and (max-width: 48em) {
      .topMenu__btn {
        margin-bottom: 12rem;
        font-size: 2.8rem; } }
    @media only screen and (max-width: 30em) {
      .topMenu__btn {
        width: 28rem; } }
  .topMenu__img {
    width: 61vw;
    position: relative; }
    .topMenu__img img {
      width: 100%; }
    .topMenu__img::after {
      content: "";
      position: absolute;
      height: 100%;
      width: 20%;
      background: linear-gradient(to right, rgba(0, 0, 0, 0), black 50%, black);
      right: 0; }
      @media only screen and (max-width: 48em) {
        .topMenu__img::after {
          display: none; } }
    @media only screen and (max-width: 75em) {
      .topMenu__img {
        width: 50%; } }
    @media only screen and (max-width: 48em) {
      .topMenu__img {
        width: 100%; } }
  .topMenu__deco {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 0;
    transform: translateY(-50%);
    max-width: 100vw; }
    @media only screen and (max-width: 48em) {
      .topMenu__deco {
        top: 0;
        transform: none; } }
    @media only screen and (max-width: 30em) {
      .topMenu__deco {
        top: 8rem; } }

.topCourse {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media only screen and (max-width: 48em) {
    .topCourse {
      flex-direction: column; } }
  .topCourse__container {
    max-width: 50rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 26%;
    margin-left: 9%;
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 75em) {
      .topCourse__container {
        width: 42%;
        margin-left: 5%; } }
    @media only screen and (max-width: 48em) {
      .topCourse__container {
        width: 100%;
        margin-left: 0; } }
  .topCourse__ttl {
    font-size: 5rem;
    position: relative;
    margin-bottom: 3rem;
    -moz-text-align-last: left;
         text-align-last: left;
    z-index: 1; }
    @media only screen and (max-width: 30em) {
      .topCourse__ttl {
        font-size: 3.6rem; } }
    .topCourse__ttl span {
      color: #C09932;
      font-size: 6.4rem; }
    .topCourse__ttl::after {
      position: absolute;
      top: -2.4rem;
      left: -2.8rem;
      z-index: -1;
      content: "";
      display: block;
      height: 10rem;
      width: 10rem;
      background-image: url(../img/pages/Top/top_menu_textDeco.png);
      background-size: cover; }
  .topCourse__txt {
    font-size: 2rem;
    text-align: left;
    line-height: 4rem; }
    @media only screen and (max-width: 48em) {
      .topCourse__txt {
        margin-bottom: 8rem;
        padding-right: 1.5rem;
        padding-left: 1.5rem; } }
  .topCourse__btn {
    width: 35rem;
    margin-top: 4.8rem; }
    @media only screen and (max-width: 48em) {
      .topCourse__btn {
        margin-bottom: 2rem;
        font-size: 2.8rem; } }
    @media only screen and (max-width: 30em) {
      .topCourse__btn {
        width: 28rem; } }
  .topCourse__img {
    width: 61%;
    position: relative; }
    @media only screen and (max-width: 75em) {
      .topCourse__img {
        width: 50%; } }
    @media only screen and (max-width: 48em) {
      .topCourse__img {
        width: 100%; } }
    .topCourse__img img {
      width: 100%; }
    .topCourse__img::after {
      content: "";
      position: absolute;
      height: 100%;
      width: 20%;
      background: linear-gradient(to left, rgba(0, 0, 0, 0), black 50%, black);
      left: 0; }
      @media only screen and (max-width: 48em) {
        .topCourse__img::after {
          display: none; } }
  .topCourse__deco {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 0;
    transform: translateY(-50%);
    max-width: 100vw; }
    @media only screen and (max-width: 48em) {
      .topCourse__deco {
        top: 0;
        transform: none; } }
    @media only screen and (max-width: 30em) {
      .topCourse__deco {
        top: 6rem; } }

.omoiAbout {
  position: relative;
  padding-top: 10.8rem;
  padding-bottom: 12rem;
  padding-right: 4rem;
  padding-left: 4rem;
  background-image: url(../img/pages/Top/top_omoi_bg.jpg); }
  @media only screen and (max-width: 48em) {
    .omoiAbout {
      padding-top: 6rem;
      padding-bottom: 6rem; } }
  .omoiAbout__container {
    display: flex;
    position: relative;
    z-index: 1;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 113.3rem; }
  .omoiAbout__img__pc {
    margin-right: 5.6rem;
    width: 38rem;
    flex-shrink: 0;
    margin-top: 1.6rem; }
    @media only screen and (max-width: 75em) {
      .omoiAbout__img__pc {
        width: 32rem; } }
    @media only screen and (max-width: 60em) {
      .omoiAbout__img__pc {
        margin-right: 2rem;
        width: 28rem; } }
    .omoiAbout__img__pc img {
      width: 100%; }
  .omoiAbout__img__sp {
    width: 38rem;
    margin: 0 auto;
    transform: translateX(5.6%); }
    @media only screen and (max-width: 30em) {
      .omoiAbout__img__sp {
        width: 28rem; } }
    .omoiAbout__img__sp img {
      width: 100%; }
  .omoiAbout__ttl {
    font-size: 2.8rem;
    line-height: 6rem;
    margin-bottom: 4rem;
    text-align: justify; }
    .omoiAbout__ttl p {
      display: block;
      text-align: right; }
    .omoiAbout__ttl span {
      color: #C09932; }
    @media only screen and (max-width: 75em) {
      .omoiAbout__ttl {
        font-size: 2.4rem;
        line-height: 5rem; } }
    @media only screen and (max-width: 30em) {
      .omoiAbout__ttl {
        font-size: 2rem;
        line-height: 4rem; } }
  .omoiAbout__cap {
    font-size: 6rem; }
    @media only screen and (max-width: 75em) {
      .omoiAbout__cap {
        font-size: 4.8rem; } }
    @media only screen and (max-width: 30em) {
      .omoiAbout__cap {
        font-size: 4rem; } }
  .omoiAbout__ryakureki {
    color: #C09932;
    font-size: 3.4rem;
    margin-bottom: 1.6rem; }
    @media only screen and (max-width: 75em) {
      .omoiAbout__ryakureki {
        font-size: 2.8rem; } }
    @media only screen and (max-width: 48em) {
      .omoiAbout__ryakureki {
        text-align: center;
        font-size: 3.6rem; } }
    @media only screen and (max-width: 30em) {
      .omoiAbout__ryakureki {
        font-size: 2.8rem; } }
  .omoiAbout__subtxt {
    font-size: 2.2rem;
    line-height: 4.3rem;
    text-align: justify; }
    @media only screen and (max-width: 75em) {
      .omoiAbout__subtxt {
        font-size: 2rem;
        line-height: 3.6rem; } }
    @media only screen and (max-width: 48em) {
      .omoiAbout__subtxt {
        font-size: 2.2rem;
        line-height: 4.3rem; } }
    @media only screen and (max-width: 30em) {
      .omoiAbout__subtxt {
        font-size: 2rem;
        line-height: 3.6rem; } }
  .omoiAbout__deco {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 0;
    transform: translateY(-50%); }

.omoiBody__row {
  position: relative;
  height: 50rem;
  background-size: cover; }
  @media only screen and (max-width: 30em) {
    .omoiBody__row {
      height: 40rem; } }
  .omoiBody__row:nth-child(odd) {
    background-position-x: center; }
    @media only screen and (max-width: 60em) {
      .omoiBody__row:nth-child(odd) {
        background-position-x: left; } }
  .omoiBody__row:nth-child(even) {
    background-position-x: center; }
    .omoiBody__row:nth-child(even).omoiBody__row-2 {
      background-position-x: 70%; }
    @media only screen and (max-width: 60em) {
      .omoiBody__row:nth-child(even) {
        background-position-x: right; } }
  .omoiBody__row-1 {
    background-image: url(../img/pages/Omoi/omoi_sectionBg_01.jpg); }
    @media only screen and (max-width: 48em) {
      .omoiBody__row-1 {
        background-image: url(../img/pages/Omoi/omoi_sectionBg_01-sp.jpg); } }
  .omoiBody__row-2 {
    background-image: url(../img/pages/Omoi/omoi_sectionBg_02.jpg); }
    @media only screen and (max-width: 48em) {
      .omoiBody__row-2 {
        background-image: url(../img/pages/Omoi/omoi_sectionBg_02-sp.jpg); } }
  .omoiBody__row-3 {
    background-image: url(../img/pages/Omoi/omoi_sectionBg_03.jpg); }
    @media only screen and (max-width: 48em) {
      .omoiBody__row-3 {
        background-image: url(../img/pages/Omoi/omoi_sectionBg_03-sp.jpg); } }
  .omoiBody__row-4 {
    background-image: url(../img/pages/Omoi/omoi_sectionBg_04.jpg); }
    @media only screen and (max-width: 48em) {
      .omoiBody__row-4 {
        background-image: url(../img/pages/Omoi/omoi_sectionBg_04-sp.jpg); } }
  .omoiBody__row-5 {
    background-image: url(../img/pages/Omoi/omoi_sectionBg_05.jpg); }
    @media only screen and (max-width: 48em) {
      .omoiBody__row-5 {
        background-image: url(../img/pages/Omoi/omoi_sectionBg_05-sp.jpg); } }

.omoiBody__content-r {
  position: absolute;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  right: 10%;
  top: 6rem; }
  @media only screen and (max-width: 75em) {
    .omoiBody__content-r {
      right: 4rem; } }
  @media only screen and (max-width: 60em) {
    .omoiBody__content-r {
      position: static;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: end;
      align-items: start;
      padding-right: 5rem;
      padding-top: 6rem; } }
  @media only screen and (max-width: 48em) {
    .omoiBody__content-r {
      padding-right: 3rem;
      padding-top: 3.8rem;
      padding-bottom: 3.8rem; } }

.omoiBody__content-l {
  position: absolute;
  left: 10%;
  top: 6rem;
  display: flex; }
  @media only screen and (max-width: 75em) {
    .omoiBody__content-l {
      left: 4rem;
      top: 8rem; } }
  @media only screen and (max-width: 60em) {
    .omoiBody__content-l {
      position: static;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: start;
      align-items: start;
      padding-left: 5rem;
      padding-top: 6rem; } }
  @media only screen and (max-width: 48em) {
    .omoiBody__content-l {
      padding-left: 3rem;
      padding-top: 3.8rem;
      padding-bottom: 3.8rem; } }

.omoiBody__ttl-r {
  position: relative;
  font-size: 4.2rem;
  line-height: 6rem;
  margin-top: 3rem;
  margin-left: 6rem;
  z-index: 0; }
  @media screen and (max-width: 1440px) {
    .omoiBody__ttl-r {
      margin-left: 4rem; } }
  @media only screen and (max-width: 48em) {
    .omoiBody__ttl-r {
      font-size: 3.2rem; } }
  @media only screen and (max-width: 30em) {
    .omoiBody__ttl-r {
      line-height: 4rem;
      margin-top: .8rem;
      margin-left: 2rem; } }
  .omoiBody__ttl-r span {
    font-size: 5.4rem;
    margin-bottom: .8rem; }
    @media only screen and (max-width: 48em) {
      .omoiBody__ttl-r span {
        font-size: 4rem; } }
  .omoiBody__ttl-r::before {
    content: "";
    display: block;
    position: absolute;
    width: 11.3rem;
    height: 11.25rem;
    background-size: cover;
    top: -3.2rem;
    right: -2.6rem;
    z-index: -1; }
    @media only screen and (max-width: 48em) {
      .omoiBody__ttl-r::before {
        width: 8.8rem;
        height: 8.8rem;
        top: -2.6rem;
        right: -1.6rem; } }
    @media only screen and (max-width: 30em) {
      .omoiBody__ttl-r::before {
        right: -2.4rem; } }

.omoiBody__ttl-l {
  position: relative;
  font-size: 4.2rem;
  line-height: 6rem;
  margin-top: 3rem;
  margin-right: 6rem;
  z-index: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl; }
  @media screen and (max-width: 1440px) {
    .omoiBody__ttl-l {
      margin-right: 4rem; } }
  @media only screen and (max-width: 48em) {
    .omoiBody__ttl-l {
      font-size: 3.2rem; } }
  @media only screen and (max-width: 30em) {
    .omoiBody__ttl-l {
      line-height: 4rem;
      margin-right: 2rem; } }
  .omoiBody__ttl-l span {
    font-size: 5.4rem;
    margin-bottom: .8rem; }
    @media only screen and (max-width: 48em) {
      .omoiBody__ttl-l span {
        font-size: 4rem; } }
  .omoiBody__ttl-l::before {
    content: "";
    display: block;
    position: absolute;
    width: 11.3rem;
    height: 11.25rem;
    background-size: cover;
    top: -3.2rem;
    right: -2.6rem;
    z-index: -1; }
    @media only screen and (max-width: 48em) {
      .omoiBody__ttl-l::before {
        width: 8.8rem;
        height: 8.8rem;
        top: -2.6rem;
        right: -1.6rem; } }
    @media only screen and (max-width: 30em) {
      .omoiBody__ttl-l::before {
        right: -2.4rem; } }

.omoiBody__ttlSpacer {
  display: inline-block;
  height: 5.6rem; }
  @media only screen and (max-width: 30em) {
    .omoiBody__ttlSpacer {
      display: none; } }

.omoiBody__txt-r {
  font-size: 2rem;
  line-height: 5rem; }
  @media screen and (max-width: 1440px) {
    .omoiBody__txt-r {
      line-height: 4rem; } }
  @media only screen and (max-width: 75em) {
    .omoiBody__txt-r {
      font-size: 1.8rem;
      line-height: 2.8rem; } }
  @media only screen and (max-width: 60em) {
    .omoiBody__txt-r {
      font-size: 2.4rem;
      line-height: 4.8rem; } }
  @media only screen and (max-width: 48em) {
    .omoiBody__txt-r {
      font-size: 1.7rem;
      line-height: 2.8rem; } }

.omoiBody__txt-l {
  font-size: 2rem;
  line-height: 5rem;
  width: 50rem; }
  @media screen and (max-width: 1440px) {
    .omoiBody__txt-l {
      width: 40rem;
      line-height: 4rem; } }
  @media only screen and (max-width: 75em) {
    .omoiBody__txt-l {
      font-size: 1.8rem;
      line-height: 2.8rem; } }
  @media only screen and (max-width: 60em) {
    .omoiBody__txt-l {
      font-size: 2.4rem;
      line-height: 4.8rem;
      width: auto; } }
  @media only screen and (max-width: 48em) {
    .omoiBody__txt-l {
      margin-top: 6rem;
      font-size: 1.7rem;
      line-height: 2.8rem;
      width: auto;
      padding-right: 2rem; } }

.omoiBody__row-1 .omoiBody__ttl-r::before {
  background-image: url(../img/pages/Omoi/omoi_sectionIcon_01.png); }

.omoiBody__row-2 .omoiBody__ttl-l::before {
  background-image: url(../img/pages/Omoi/omoi_sectionIcon_02.png); }

.omoiBody__row-3 .omoiBody__ttl-r::before {
  background-image: url(../img/pages/Omoi/omoi_sectionIcon_03.png); }

.omoiBody__row-4 .omoiBody__ttl-l {
  margin-left: 6rem; }
  @media only screen and (max-width: 30em) {
    .omoiBody__row-4 .omoiBody__ttl-l {
      margin-left: 1rem; } }

.omoiBody__row-4 .omoiBody__ttl-l::before {
  background-image: url(../img/pages/Omoi/omoi_sectionIcon_04.png); }

.omoiBody__row-5 .omoiBody__ttl-r::before {
  background-image: url(../img/pages/Omoi/omoi_sectionIcon_05.png); }

.omoiBody__foot {
  width: 100%;
  height: 12rem;
  background-image: url(../img/pages/Top/top_omoi_bg.jpg);
  background-size: cover; }
  @media only screen and (max-width: 48em) {
    .omoiBody__foot {
      height: 7.5rem; } }

.recommen {
  overflow: hidden;
  padding-top: 6rem;
  padding-bottom: 4rem;
  background-image: url(../img/pages/Menu/menu__mainBg.jpg); }
  .recommen__heading {
    font-size: 4.8rem;
    margin-bottom: 8rem;
    text-align: center; }
    @media only screen and (max-width: 48em) {
      .recommen__heading {
        font-size: 3.2rem;
        margin-bottom: 6rem; } }
  .recommen__row {
    position: relative; }
    .recommen__row:nth-child(odd) .recommen__container {
      flex-direction: row-reverse; }
    .recommen__row:nth-child(odd) .recommen__img {
      padding-left: 5rem;
      padding-right: 0; }
      @media only screen and (max-width: 75em) {
        .recommen__row:nth-child(odd) .recommen__img {
          padding-left: 2.5rem; } }
      @media only screen and (max-width: 48em) {
        .recommen__row:nth-child(odd) .recommen__img {
          padding-left: 0; } }
    .recommen__row:nth-child(odd) .recommen__content {
      padding-right: 5rem;
      padding-left: 0; }
      @media only screen and (max-width: 75em) {
        .recommen__row:nth-child(odd) .recommen__content {
          padding-right: 2.5rem; } }
      @media only screen and (max-width: 48em) {
        .recommen__row:nth-child(odd) .recommen__content {
          padding-right: 0; } }
    .recommen__row:nth-child(odd) .recommen__deco {
      right: 0; }
  .recommen__container {
    display: flex;
    max-width: 136rem;
    margin: 0 auto 8rem;
    z-index: 1;
    position: relative;
    padding-right: 8rem;
    padding-left: 8rem; }
    @media only screen and (max-width: 60em) {
      .recommen__container {
        padding-right: 4rem;
        padding-left: 4rem; } }
    @media only screen and (max-width: 48em) {
      .recommen__container {
        display: block; } }
    @media only screen and (max-width: 30em) {
      .recommen__container {
        padding-right: 1.5rem;
        padding-left: 1.5rem; } }
  .recommen__img {
    width: 50%;
    padding-right: 5rem; }
    @media only screen and (max-width: 75em) {
      .recommen__img {
        padding-right: 2.5rem; } }
    @media only screen and (max-width: 48em) {
      .recommen__img {
        width: 100%;
        padding-right: 0;
        margin-bottom: 3rem; } }
    .recommen__img img {
      width: 100%; }
  .recommen__content {
    width: 50%;
    padding-left: 5rem; }
    @media only screen and (max-width: 75em) {
      .recommen__content {
        padding-left: 2.5rem; } }
    @media only screen and (max-width: 48em) {
      .recommen__content {
        width: 100%;
        padding-left: 0;
        margin-bottom: 3rem; } }
  .recommen__ttl {
    font-size: 3.8rem; }
    .recommen__ttl::after {
      content: "";
      display: block;
      height: 1rem;
      width: 100%;
      margin-top: 1rem;
      background-image: url(../img/pages/Menu/筆線.png); }
    @media only screen and (max-width: 30em) {
      .recommen__ttl {
        font-size: 2.8rem; } }
  .recommen__price {
    font-size: 5rem;
    margin-bottom: 6rem; }

/*追加*/

.recommen__price small {
	font-size: 3rem;
}

/*追加*/


    @media only screen and (max-width: 48em) {
		
/*追加*/

.recommen__price small {
	font-size: 2.4rem;
}

/*追加*/
		
      .recommen__price {
        margin-bottom: 2.4rem; } }
    @media only screen and (max-width: 30em) {
      .recommen__price {
        font-size: 3.2rem; } }
    .recommen__price span {
      font-size: 1.8rem; }
      @media only screen and (max-width: 30em) {
        .recommen__price span {
          font-size: 1.6rem; } }
  .recommen__txt {
    font-size: 2.1rem;
    line-height: 3.8rem; }
    @media only screen and (max-width: 30em) {
      .recommen__txt {
        font-size: 1.8rem;
        line-height: 3.2rem; } }
  .recommen__deco {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0; }

.menu {
  background-image: url(../img/pages/Menu/manu__bg.jpg);
  background-size: cover;
  padding-top: 7rem;
  padding-bottom: 19rem; }
  @media only screen and (max-width: 48em) {
    .menu {
      padding-bottom: 8rem; } }
  .menu__container {
    max-width: 120rem;
    margin: 0 auto;
    text-align: center; }
  .menu__heading {
    font-size: 4.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding-right: 8rem;
    padding-left: 8rem; }
    @media only screen and (max-width: 48em) {
      .menu__heading {
        flex-direction: column; } }
    @media only screen and (max-width: 60em) {
      .menu__heading {
        padding-right: 4rem;
        padding-left: 4rem; } }
    @media only screen and (max-width: 30em) {
      .menu__heading {
        padding-right: 1.5rem;
        padding-left: 1.5rem; } }
    @media only screen and (max-width: 48em) {
      .menu__heading {
        font-size: 3.2rem; } }
    .menu__heading span {
      font-size: 2.2rem;
      margin-left: 1.4rem; }
      @media only screen and (max-width: 48em) {
        .menu__heading span {
          font-size: 1.6rem;
          margin-top: 1.6rem;
          margin-left: 0; } }
    .menu__heading::before {
      content: "";
      display: block;
      height: 8rem;
      width: 8rem;
      position: absolute;
      background-image: url(../img/pages/Menu/menu__headingDeco.png);
      background-size: cover;
      left: 5.6rem;
      top: 50%;
      transform: translateY(-50%); }
      @media only screen and (max-width: 60em) {
        .menu__heading::before {
          left: 1.6rem; } }
      @media only screen and (max-width: 48em) {
        .menu__heading::before {
          height: 6rem;
          width: 6rem;
          left: 10.4rem;
          top: 1.6rem; } }
  .menu__slider {
    padding-top: 4.8rem;
    padding-right: 7.5rem;
    padding-left: 7.5rem;
    position: relative;
    margin-bottom: 6rem; }
    @media only screen and (max-width: 48em) {
      .menu__slider {
        padding-right: 0;
        padding-left: 0; } }
  .menu__slide {
    border: 2px solid #fff; }
    .menu__slide img {
      width: 100%; }
  .menu__arrow {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 3.1rem;
    z-index: 3;
    margin-right: 2.5rem;
    margin-left: 2.5rem; }
    .menu__arrow.next-arrow {
      right: 0;
      left: auto; }
    @media only screen and (max-width: 30em) {
      .menu__arrow {
        width: 1.6rem;
        margin-right: 1.5rem;
        margin-left: 1.5rem; } }
  .menu__dots {
    margin-top: 3rem;
    text-align: center; }
    .menu__dots button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
    .menu__dots li {
      display: inline-block;
      margin: 0 15px; }
      @media only screen and (max-width: 30em) {
        .menu__dots li {
          margin: 0 1.2rem; } }
      .menu__dots li button {
        position: relative;
        text-indent: -9999px; }
        .menu__dots li button:before {
          content: '';
          width: 1.6rem;
          height: 1.6rem;
          background-color: transparent;
          border: 1px solid #fff;
          border-radius: 50%;
          position: absolute;
          top: 0;
          left: 0; }
          @media only screen and (max-width: 30em) {
            .menu__dots li button:before {
              width: 1.2rem;
              height: 1.2rem; } }
      .menu__dots li.slick-active button:before {
        background-color: #fff; }
  .menu__table {
    display: flex;
    padding-right: 5rem;
    padding-left: 5rem; }
    @media only screen and (max-width: 48em) {
      .menu__table {
        display: block; } }
    @media only screen and (max-width: 30em) {
      .menu__table {
        padding-right: 1.5rem;
        padding-left: 1.5rem; } }
  .menu__col {
    width: 50%; }
    @media only screen and (max-width: 48em) {
      .menu__col {
        width: 100%; } }
    .menu__col:first-child {
      margin-right: 10rem; }
      @media only screen and (max-width: 48em) {
        .menu__col:first-child {
          margin-right: 0; } }
  .menu__catBox-1 {
    height: 28.1rem; }
    @media only screen and (max-width: 48em) {
      .menu__catBox-1 {
        height: auto; } }
  .menu__catBox-2 {
    height: 61.7rem; }
    @media only screen and (max-width: 48em) {
      .menu__catBox-2 {
        height: auto; } }
  .menu__catBox-3 {
    height: 16.9rem; }
    @media only screen and (max-width: 48em) {
      .menu__catBox-3 {
        height: auto; } }
  .menu__catBox h3 {
    border: 1px solid #fff;
    font-size: 2.8rem;
    line-height: 5.5rem; }
  .menu__catBox p {
    font-size: 2rem;
    line-height: 5.5rem;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dotted #fff; }
    .menu__catBox p:last-child {
      border-bottom: none; }
  .menu__lastTxt {
    font-size: 3.6rem;
    margin-top: 8rem;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.8); }
    @media only screen and (max-width: 30em) {
      .menu__lastTxt {
        font-size: 2.8rem; } }

.course {
  padding-top: 6rem;
  text-align: center; }
  .course__heading {
    font-size: 4.8rem;
    margin-bottom: 2.4rem; }
  .course__listWrapper {
    padding-bottom: 7rem;
    padding-right: 5rem;
    padding-left: 5rem; }
    @media only screen and (max-width: 30em) {
      .course__listWrapper {
        padding-right: 1.5rem;
        padding-left: 1.5rem; } }
  .course__list {
    display: inline-block;
    font-size: 2.2rem;
    line-height: 4rem;
    padding: 2.8rem 5rem;
    border: 1px solid #C09932;
    text-align: left;
    list-style: none; }
    @media only screen and (max-width: 48em) {
      .course__list {
        padding: 3rem; } }
    @media only screen and (max-width: 30em) {
      .course__list {
        padding: 1.5rem;
        font-size: 1.8rem;
        line-height: 2.8rem; } }
    .course__list span {
      color: #C09932;
      text-decoration: underline; }
  .courseDetail {
    display: flex;
    position: relative;
    background-size: cover;
    margin-bottom: 3rem;
    align-items: center; }
    @media only screen and (max-width: 48em) {
      .courseDetail {
        display: block; } }
  .course__img {
    width: 50%;
    padding-top: 6.5rem;
    padding-bottom: 6.5rem;
    position: relative; }
    @media only screen and (max-width: 48em) {
      .course__img {
        width: 100%;
        padding-top: 4.5rem;
        padding-bottom: 4.5rem; } }
    .course__img img {
      width: 100%; }
    .course__img .course__imgTag {
      width: 13.2rem;
      position: absolute;
      top: 6.4rem; }
      @media only screen and (max-width: 48em) {
        .course__img .course__imgTag {
          top: 4.4rem; } }
      @media only screen and (max-width: 30em) {
        .course__img .course__imgTag {
          width: 8rem; } }
  .course__content {
    width: 50%;
    padding-top: 6.5rem;
    padding-bottom: 6.5rem; }
    @media only screen and (max-width: 48em) {
      .course__content {
        padding-top: 0;
        padding-bottom: 4.5rem; } }
  .course__ttl {
    font-size: 5.2rem;
    position: relative;
    white-space: nowrap;
    width: 35.2rem; }
    @media only screen and (max-width: 30em) {
      .course__ttl {
        font-size: 4rem; } }
    .course__ttl span {
      color: #C09932; }
    .course__ttl small {
      position: absolute;
      white-space: nowrap;
      top: 50%;
      right: -12rem;
      transform: translateY(-50%);
      font-size: 2rem;
      line-height: 1;
      color: #C09932;
      padding: .5rem .7rem;
      border: 1px solid #C09932; }
      @media only screen and (max-width: 30em) {
        .course__ttl small {
          top: -2rem;
          right: 0; } }
  .course__price {
    font-size: 3.8rem; }
    @media only screen and (max-width: 30em) {
      .course__price {
        font-size: 3.2rem; } }
    .course__price small {
      font-size: 2.8rem; }
      @media only screen and (max-width: 30em) {
        .course__price small {
          font-size: 2.2rem; } }
    .course__price span {
      font-size: 2rem; }
      @media only screen and (max-width: 30em) {
        .course__price span {
          font-size: 1.8rem; } }
  .course__about {
    font-size: 1.6rem; }
    .course__about::after {
      content: "";
      display: block;
      border-bottom: 1px solid #fff;
      border-top: 1px solid #fff;
      height: .4rem;
      margin-bottom: 2rem;
      margin-top: 2rem; }
  .course__menuList {
    list-style: none;
    font-size: 2rem;
    line-height: 3.4rem;
    position: relative; }
    .course__menuList span {
      position: absolute;
      right: 0;
      bottom: 0;
      font-size: 1.6rem;
      line-height: 3rem; }
  .course-l {
    background-image: url(../img/pages/Course/course__bg-dark.jpg); }
    .course-l .course__img {
      padding-right: 5rem; }
      @media only screen and (max-width: 48em) {
        .course-l .course__img {
          padding-right: 0; } }
      .course-l .course__img .course__imgTag {
        left: 3.3rem; }
    .course-l .course__content {
      padding-left: 5rem;
      width: 50%;
      padding-right: 36rem; }
      @media screen and (max-width: 1400px) {
        .course-l .course__content {
          padding-right: 24rem; } }
      @media only screen and (max-width: 75em) {
        .course-l .course__content {
          padding-right: 12rem;
          padding-left: 2.5rem; } }
      @media only screen and (max-width: 60em) {
        .course-l .course__content {
          padding-right: 6rem; } }
      @media only screen and (max-width: 48em) {
        .course-l .course__content {
          width: 100%;
          padding-left: 6rem; } }
      @media only screen and (max-width: 30em) {
        .course-l .course__content {
          padding-right: 1.5rem;
          padding-left: 1.5rem; } }
    .course-l .course__deco {
      right: 4rem; }
  .course-r {
    background-image: url(../img/pages/Course/course__bg-light.jpg);
    flex-direction: row-reverse; }
    .course-r .course__img {
      padding-left: 5rem; }
      @media only screen and (max-width: 48em) {
        .course-r .course__img {
          padding-left: 0; } }
      .course-r .course__img .course__imgTag {
        right: 3.3rem; }
    .course-r .course__content {
      padding-right: 5rem;
      width: 50%;
      padding-left: 36rem; }
      @media screen and (max-width: 1400px) {
        .course-r .course__content {
          padding-left: 24rem; } }
      @media only screen and (max-width: 75em) {
        .course-r .course__content {
          padding-left: 12rem;
          padding-right: 2.5rem; } }
      @media only screen and (max-width: 60em) {
        .course-r .course__content {
          padding-left: 6rem; } }
      @media only screen and (max-width: 48em) {
        .course-r .course__content {
          width: 100%;
          padding-right: 6rem; } }
      @media only screen and (max-width: 30em) {
        .course-r .course__content {
          padding-left: 1.5rem;
          padding-right: 1.5rem; } }
    .course-r .course__deco {
      left: 4rem; }
  .course__deco {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28vw; }
    .course__deco img {
      width: 100%; }
    @media only screen and (max-width: 48em) {
      .course__deco {
        top: 50%;
        width: 50%; } }
    @media only screen and (max-width: 30em) {
      .course__deco {
        width: 75%; } }

.tag-sp {
  font-size: 2rem;
  line-height: 1;
  color: #C09932;
  padding: .5rem .7rem;
  border: 1px solid #C09932;
  margin-bottom: 0.5rem; }

.tempo {
  background-image: url(../img/pages/Menu/menu__mainBg.jpg);
  background-size: cover;
  padding-top: 6rem;
  padding-right: 5rem;
  padding-left: 5rem; }
  @media only screen and (max-width: 60em) {
    .tempo {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media only screen and (max-width: 30em) {
    .tempo {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }
  .tempo__heading {
    font-size: 4.8rem;
    text-align: center;
    margin-bottom: 2.2rem; }
    @media only screen and (max-width: 30em) {
      .tempo__heading {
        font-size: 3.6rem; } }
  .tempo__table {
    padding-top: 45px;
    padding-bottom: 45px;
    margin: 0 auto 6rem;
    max-width: 96rem;
    background-image: url(../img/pages/Tempo/tempo__mark.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 2.4rem;
    line-height: 6rem; }
    @media only screen and (max-width: 48em) {
      .tempo__table {
        display: block; } }
    @media only screen and (max-width: 30em) {
      .tempo__table {
        font-size: 1.8rem;
        line-height: 3.8rem; } }
    @media only screen and (max-width: 48em) {
      .tempo__table tr {
        display: block; } }
    @media only screen and (max-width: 48em) {
      .tempo__table td {
        padding: 0 3rem;
        display: block; } }
    @media only screen and (max-width: 30em) {
      .tempo__table td {
        padding-right: 1.5rem;
        padding-left: 1.5rem; } }
    .tempo__table th {
      text-align: right;
      padding-right: 6.5rem; }
      @media only screen and (max-width: 60em) {
        .tempo__table th {
          padding-right: 4rem; } }
      @media only screen and (max-width: 48em) {
        .tempo__table th {
          display: block;
          text-align: left;
          width: 100%;
          background-color: #C09932;
          color: #000;
          padding: 0 3rem; } }
      @media only screen and (max-width: 30em) {
        .tempo__table th {
          padding-right: 1.5rem;
          padding-left: 1.5rem; } }
    .tempo__table span {
      color: #C09932; }
  .tempo__lightbox {
    display: flex;
    max-width: 126rem;
    margin: 0 auto;
    position: relative; }
    .tempo__lightbox a {
      margin-right: 1.5rem;
      margin-left: 1.5rem; }
      @media only screen and (max-width: 48em) {
        .tempo__lightbox a {
          margin-right: 0;
          margin-left: 0; } }
    .tempo__lightbox span {
      position: absolute;
      font-size: 2rem;
      line-height: 1;
      right: 0;
      bottom: -3rem;
      white-space: nowrap; }
      @media only screen and (max-width: 75em) {
        .tempo__lightbox span {
          font-size: 1.8rem;
          bottom: -2.7rem; } }
      @media only screen and (max-width: 60em) {
        .tempo__lightbox span {
          font-size: 1.4rem;
          bottom: -2.6rem; } }
  .tempo__slider {
    padding-right: 4rem;
    padding-left: 4rem;
    position: relative;
    /*margin-bottom: 6rem;*/ }
    .tempo__slider a {
      position: relative; }
    .tempo__slider span {
      position: absolute;
      font-size: 2.2rem;
      line-height: 1;
      right: 0;
      top: 1rem; }
      @media screen and (max-width: 510px) {
        .tempo__slider span {
          font-size: 1.8rem; } }
      @media screen and (max-width: 420px) {
        .tempo__slider span {
          font-size: 1.6rem; } }
  .tempo__arrow {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1.5rem;
    z-index: 3; }
    .tempo__arrow.next-arrow {
      right: 0;
      left: auto; }

#lightbox .lb-image {
  border: none; }

.contact {
  padding: 7rem 5rem 12rem;
  background-image: url(../img/pages/Menu/menu__mainBg.jpg);
  background-size: cover; }
  .contact__anker {
    position: absolute;
    top: -10rem; }
  @media only screen and (max-width: 30em) {
    .contact {
      padding: 5rem 1.5rem 8rem; } }
  .contact__container {
    max-width: 100rem;
    margin: 0 auto; }
  .contactCard {
    text-align: center;
    background-image: url(../img/pages/Contact/contactCard__bg.jpg);
    border: 2px solid #d0111b;
    padding-top: 3rem;
    padding-bottom: 6rem;
    margin-bottom: 12rem; }
    @media only screen and (max-width: 48em) {
      .contactCard {
        padding-bottom: 4rem;
        margin-bottom: 6rem;
        padding-right: 1rem;
        padding-left: 1rem; } }
    .contactCard__ttl {
      font-size: 4.8rem;
      line-height: 6rem;
      color: #111;
      margin-bottom: 3rem; }
      @media only screen and (max-width: 48em) {
        .contactCard__ttl {
          margin-bottom: 1.8rem; } }
      @media only screen and (max-width: 30em) {
        .contactCard__ttl {
          font-size: 3.6rem; } }
    .contactCard__txt {
      color: #111;
      font-size: 2.4rem;
      line-height: 2.4rem;
      margin-bottom: 4rem; }
      @media only screen and (max-width: 48em) {
        .contactCard__txt {
          line-height: 5rem;
          margin-bottom: 1.8rem;
          font-size: 2.6rem; } }
      @media only screen and (max-width: 30em) {
        .contactCard__txt {
          font-size: 2rem; } }
      .contactCard__txt span {
        color: #d0111b;
        border-bottom: 1px dotted #d0111b; }
    .contactCard__btn {
      background-color: #d0111b;
      border: 1px solid #d0111b;
      color: #fff;
      width: 43rem;
      font-size: 2.8rem; }
      .contactCard__btn:hover {
        background-color: #fff;
        color: #d0111b; }
      @media only screen and (max-width: 48em) {
        .contactCard__btn {
          width: 100%;
          font-size: 2.4rem; } }
      @media only screen and (max-width: 30em) {
        .contactCard__btn {
          font-size: 2rem; } }
  .contactForm {
    text-align: center; }
    .contactForm__ttl {
      font-size: 4.8rem;
      line-height: 6rem;
      margin-bottom: 3rem; }
      @media only screen and (max-width: 30em) {
        .contactForm__ttl {
          font-size: 3.6rem; } }
    .contactForm__txt {
      font-size: 2.4rem;
      line-height: 4.8rem;
      margin-bottom: 8rem; }
      .contactForm__txt span {
        font-size: 3.2rem; }
        @media only screen and (max-width: 30em) {
          .contactForm__txt span {
            font-size: 2.4rem; } }
      @media only screen and (max-width: 30em) {
        .contactForm__txt {
          font-size: 2rem;
          line-height: 3.6rem; } }
    .contactForm form {
      text-align: left;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff; }
    .contactForm__row {
      padding-top: 3rem;
      padding-bottom: 3rem;
      border-bottom: 1px dotted #fff;
      display: flex;
      align-items: center;
      font-size: 2.4rem; }
      @media only screen and (max-width: 48em) {
        .contactForm__row {
          display: block;
          font-size: 2.6rem; } }
      @media only screen and (max-width: 30em) {
        .contactForm__row {
          padding-top: 2rem;
          padding-bottom: 2rem; } }
      .contactForm__row:nth-child(4n) {
        border: none !important;
        margin-bottom: 2rem;
        align-items: flex-start; }
    .contactForm__label {
      width: 45%;
      font-size: 2.4rem;
      display: block; }
      @media only screen and (max-width: 48em) {
        .contactForm__label {
          width: 100%;
          font-size: 2.6rem;
          margin-bottom: 1.2rem; } }
      @media only screen and (max-width: 30em) {
        .contactForm__label {
          font-size: 2rem; } }
      .contactForm__label span {
        color: #B90000; }
    .contactForm__input {
      width: 55%;
      height: 4rem;
      font-size: 2rem; }
      @media only screen and (max-width: 48em) {
        .contactForm__input {
          width: 100%;
          height: 5rem;
          font-size: 2.4rem; } }
      @media only screen and (max-width: 30em) {
        .contactForm__input {
          font-size: 2rem;
          height: 4rem; } }
    .contactForm__textarea {
      width: 55%;
      min-height: 22.4rem;
      font-size: 2rem; }
      @media only screen and (max-width: 48em) {
        .contactForm__textarea {
          width: 100%;
          font-size: 2.4rem; } }
      @media only screen and (max-width: 30em) {
        .contactForm__textarea {
          font-size: 2rem; } }
    .contactForm__submit {
      background-color: transparent;
      color: #C09932;
      border: 1px solid #C09932;
      font-size: 2.8rem;
      width: 36rem;
      height: 7rem;
      line-height: 7rem;
      margin-bottom: 6rem;
      cursor: pointer; }
      .contactForm__submit:hover {
        background-color: #C09932;
        color: #000; }
      @media only screen and (max-width: 30em) {
        .contactForm__submit {
          width: 100%;
          font-size: 2rem; } }
    .contactForm__confirmBtn {
      width: 23rem;
      max-width: 23rem;
      height: 7rem;
      font-size: 2.8rem;
      line-height: 7rem;
      color: #C09932;
      border: 1px solid #C09932 !important;
      background: #000;
      text-align: center;
      margin: 20rem 1.2rem 6rem;
      cursor: pointer; }
      .contactForm__confirmBtn:hover {
        background-color: #C09932;
        color: #000; }
      @media only screen and (max-width: 48em) {
        .contactForm__confirmBtn {
          width: 40%;
          margin-right: 0.8rem;
          margin-left: 0.8rem;
          font-size: 2.4rem; } }
      @media only screen and (max-width: 30em) {
        .contactForm__confirmBtn {
          width: 49%;
          margin: 8rem 0 4rem;
          font-size: 2rem; } }
    .contactForm__toTop {
      display: inline-block;
      line-height: 7rem;
      font-size: 2.8rem;
      width: 27rem;
      height: 7rem;
      margin: 0 auto;
      color: #C09932;
      border: 1px solid #C09932; }
  .contactComplete {
    padding: 8rem 5rem 20rem; }
    @media only screen and (max-width: 48em) {
      .contactComplete .contactForm__txt {
        font-size: 2rem; } }
    @media only screen and (max-width: 30em) {
      .contactComplete .contactForm__txt {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 30em) {
      .contactComplete {
        padding: 4rem 1.5rem 8rem; } }
