@charset "UTF-8";
/* _base.scss */
@import url("https://fonts.googleapis.com/css?family=Amiri");
@import url("https://fonts.googleapis.com/css?family=Klee+One");
@import url("https://fonts.googleapis.com/css?family=Oswald");
/* Breakpoint */
/* Reset CSS */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto; }

a {
  color: inherit;
  text-decoration: none; }

ul, ol {
  list-style: none; }

/* _theme.scss */
html, body {
  background: #000;
  color: #fff;
  font-family: 'Klee One', serif;
  font-size: 16px;
  line-height: 1.8rem; }
  @media screen and (orientation: landscape) {
    html, body {
      font-size: 20px; } }

/* _layout.scss */
/**
 * 共通パーツ
 */
.l-contents {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  .l-contents-header {
    margin-bottom: 24px; }
  .l-contents-main {
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 36px; }

/**
 * Top: トップ画像
 */
.l-top {
  height: 100vw; }
  @media screen and (orientation: landscape) {
    .l-top {
      height: 92vh; } }

/**
 * About: セニオールリオについて
 */
@media screen and (min-width: 768px) {
  .l-about-items {
    display: grid;
    grid-template-rows: 2fr;
    grid-template-columns: 36% 64%; } }

@media screen and (min-width: 768px) {
  .l-about-item {
    padding-left: 24px; } }

/**
 * Reservation: ご予約について
 */
.l-reservation-photo {
  width: 326px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }
  @media screen and (min-width: 768px) {
    .l-reservation-photo {
      width: 680px; } }
  @media screen and (min-width: 1200px) {
    .l-reservation-photo {
      width: 1020px; } }

.l-reservation-image {
  height: auto;
  width: 84px; }
  @media screen and (min-width: 768px) {
    .l-reservation-image {
      width: 200px; } }
  @media screen and (min-width: 1200px) {
    .l-reservation-image {
      width: 300px; } }

/**
 * SNS: SNS情報
 */
.l-sns-items {
  width: 326px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 768px) {
    .l-sns-items {
      width: 680px;
      display: flex;
      justify-content: space-around; } }
  @media screen and (min-width: 1200px) {
    .l-sns-items {
      width: 1020px;
      display: flex;
      justify-content: space-around; } }

.l-sns-item {
  text-align: center; }

.l-sns-link {
  display: inline-block; }

.l-sns-iframe {
  max-height: 600px;
  width: 100%;
  overflow-y: scroll;
  overflow-x: hidden; }
  .l-sns-iframe iframe {
    max-height: 600px; }

.instagram-media {
  margin: 0 !important; }

/**
 * Reservation: ご予約について
 */
.l-access iframe {
  width: 100%;
  height: calc(100vw - 24px * 2);
  max-height: 600px;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  filter: grayscale(100%); }

/**
 * Footer: フッター
 */
.l-footer {
  width: 100%; }
  .l-footer-items {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 768px) {
      .l-footer-items {
        width: 680px;
        flex-direction: row-reverse;
        justify-content: space-around; } }
    @media screen and (min-width: 1200px) {
      .l-footer-items {
        width: 1020px;
        flex-direction: row-reverse;
        justify-content: space-around; } }
  .l-footer-title {
    margin-top: 20px;
    margin-bottom: 20px; }
  .l-footer-item {
    text-align: center;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .l-footer-item {
        width: 300px; } }
    @media screen and (min-width: 1200px) {
      .l-footer-item {
        width: 450px; } }
  .l-footer-sns {
    display: flex;
    flex-direction: row;
    justify-content: center; }
    @media screen and (min-width: 1200px) {
      .l-footer-sns {
        display: flex;
        flex-direction: column; } }

.tel {
  text-decoration: underline; }

.l-copyright {
  padding-top: 24px;
  padding-bottom: 48px; }

/* _module.scss */
/**
 * 共通パーツ
 */
.container-header {
  padding: 12px 24px; }

.container-button {
  display: inline-block;
  margin-top: 1rem;
  padding: 1rem;
  color: #000;
  background: #fff;
  text-decoration: none; }

.header-frame {
  border: 1px solid #fff;
  padding-top: 8px;
  padding-bottom: 8px; }

.header-title {
  color: #fff; }
  .header-title-caption {
    font-family: 'Amiri', serif;
    font-size: 2rem;
    line-height: 2.4rem;
    letter-spacing: 0.4rem;
    text-align: center; }
  .header-title-text {
    text-align: center;
    font-size: 0.8rem;
    line-height: 1rem; }

.text-large {
  font-size: 1.5rem; }

.text-small {
  font-size: 0.8rem; }

/**
 * Top: トップ画像
 */
.top {
  position: relative; }
  .top-background {
    background-image: url("/img/top_01.jpg");
    background-size: cover;
    background-position: center; }
  .top-overlay {
    position: absolute;
    z-index: 100;
    width: 80vw;
    max-width: 1000px;
    top: calc(100vw * 0.5);
    left: 50%;
    transform: translateX(-50%) translateY(-50%); }
    @media screen and (orientation: landscape) {
      .top-overlay {
        top: calc(92vh * 0.5); } }
  .top-title {
    padding-bottom: 8px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .top-title {
        padding-bottom: 20px; } }
    .top-title-first {
      font-weight: bold;
      width: 100%;
      font-size: 18px; }
      @media screen and (min-width: 768px) {
        .top-title-first {
          font-size: 32px; } }
    .top-title-middle, .top-title-last {
      display: none; }

/**
 * Top: トップ画像（画像切り替え）
 */
.swiper-pagination-bullet {
  opacity: 0.0;
  background: #000; }
  .swiper-pagination-bullet-active {
    opacity: 1;
    background: #000; }

.swiper {
  position: absolute;
  z-index: 0;
  margin: 0 auto;
  width: 100vw;
  max-width: 100vw;
  height: 100vw;
  max-height: 100vw; }
  @media screen and (orientation: landscape) {
    .swiper {
      height: 92vh;
      max-height: 92vh; } }
  .swiper-slide {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    height: 100vw;
    max-height: 100vw; }
    .swiper-slide img {
      position: absolute;
      top: 0;
      left: 0;
      width: auto;
      min-width: 100%;
      max-width: 100%;
      height: auto;
      min-height: 100%;
      max-height: 100%;
      object-fit: cover; }
  .swiper-container {
    width: 100%;
    height: 100%;
    filter: brightness(0.8); }

/**
 * About: セニオールリオについて
 */
.about-image {
  width: 100%;
  height: auto; }

.lang_ja :not(:first-child),
.lang_en :not(:first-child) {
  margin-top: 20px; }

.lang_ja :not(:last-child),
.lang_en :not(:last-child) {
  margin-bottom: 20px; }

.lang_en {
  font-family: 'Oswald', serif; }

.lang_ja + .lang_en {
  margin-top: 60px; }

/**
 * Reservation: ご予約について
 */
.reservation-main {
  text-align: center; }

.reservation-title {
  font-weight: 900;
  margin-top: 20px; }

/**
 * Topic: お知らせ
 */
.topic-main {
  text-align: center; }

.topic-textbox {
  margin-top: 20px;
  margin-bottom: 20px; }

.topic-title {
  font-weight: 900;
  margin-top: 20px; }

/**
 * SNS: SNS情報
 */
.sns-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px; }

.sns-icon {
  display: inline-block;
  width: 36px;
  height: 36px;
  margin-right: 12px; }

/**
 * Footer: フッター
 */
.footer {
  background: #333; }
  .footer-info {
    font-size: 1.2rem; }
    .footer-info-item {
      margin-top: 8px; }
    .footer-info-title {
      font-weight: 900;
      line-height: 1.8rem; }
    .footer-info-value {
      font-size: 0.9rem;
      line-height: 1.2rem; }

.copyright {
  display: block;
  font-size: 0.8rem;
  text-align: center;
  line-height: 1.2rem; }

/* _state.scss */
