@charset "UTF-8";
/*
Theme Name: Monogatari Basic
Text Domain: mngtr
Version: 1.0
Requires at least: 5.3
Requires PHP: 7.2
Description: 物語コーポレーション各業態Webサイトの基本となるテーマ
Author: Monogatari Corporation
Author URI: https: //www.monogatari.co.jp/
*/

/* 基本
============================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  position: relative;
  font-size: 10px;
  line-height: 1;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  position: relative;
  background: #fff;
  font-family: "Noto Serif JP", serif;
  color: #000;
  font-size: 1.6rem;
  line-height: 1.6;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
@media (max-width: 767px) {
  body {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
a {
  transition: all .5s;
  text-decoration: none;
  color: #646464;
  outline: none;
}
img {
  max-width: 100%;
  -webkit-backface-visibility: hidden;
  vertical-align: top;
}
address {
  font-weight: normal;
  font-style: normal;
}

/* 汎用クラス
============================================== */
/* フォント */
.noto-serif {
  font-family: 'Noto Serif Japanese', serif;
}
.f-light {
  font-weight: 100;
}
.f-medium {
  font-weight: 500;
}
.f-bold {
  font-weight: 700;
}
.f-black {
  font-weight: 900;
}
.indent {
  padding-left: 1em;
  text-indent: -1em;
}
.f-small {
  font-size: 1.4rem;
}
.f-large-s {
  font-size: 1.8rem;
}
.f-large-m {
  font-size: 2.0rem;
}
.f-large-l {
  font-size: 2.5rem;
}
.f-large-ll {
  font-size: 3.0rem;
}
.f-large-lll {
  font-size: 3.6rem;
}
@media (max-width: 767px) {
  .f-large-s {
    font-size: 1.2rem;
  }
  .f-large-m {
    font-size: 1.5rem;
  }
  .f-large-l {
    font-size: 1.7rem;
  }
  .f-large-ll {
    font-size: 1.8rem;
  }
  .f-large-lll {
    font-size: 3.3rem;
  }
}

/* margin */
.m_auto {
  margin: auto !important;
}
.mt_0 {
  margin-top: 0 !important;
}
.mt_10 {
  margin-top: 1rem !important;
}
.mt_20 {
  margin-top: 2rem !important;
}
.mt_30 {
  margin-top: 3rem !important;
}
.mt_40 {
  margin-top: 4rem !important;
}
.mt_50 {
  margin-top: 5rem !important;
}
.mt_60 {
  margin-top: 6rem !important;
}
.mt_70 {
  margin-top: 7rem !important;
}
.mt_80 {
  margin-top: 8rem !important;
}
.mt_90 {
  margin-top: 9rem !important;
}
.mt_100 {
  margin-top: 10rem !important;
}
.mb_0 {
  margin-bottom: 0 !important;
}
.mb_10 {
  margin-bottom: 1rem !important;
}
.mb_20 {
  margin-bottom: 2rem !important;
}
.mb_30 {
  margin-bottom: 3rem !important;
}
.mb_40 {
  margin-bottom: 4rem !important;
}
.mb_50 {
  margin-bottom: 5rem !important;
}
.mb_60 {
  margin-bottom: 6rem !important;
}
.mb_70 {
  margin-bottom: 7rem !important;
}
.mb_80 {
  margin-bottom: 8rem !important;
}
.mb_90 {
  margin-bottom: 9rem !important;
}
.mb_100 {
 margin-bottom: 10rem !important;
}
@media (max-width: 767px) {
  .mt_10 {
    margin-top: 0.5rem !important;
  }
  .mt_20 {
    margin-top: 1rem !important;
  }
  .mt_30 {
    margin-top: 1.5rem !important;
  }
  .mt_40 {
    margin-top: 2rem !important;
  }
  .mt_50 {
    margin-top: 2.5rem !important;
  }
  .mt_60 {
    margin-top: 3rem !important;
  }
  .mt_70 {
    margin-top: 3.5rem !important;
  }
  .mt_80 {
    margin-top: 4rem !important;
  }
  .mt_90 {
    margin-top: 4.5rem !important;
  }
  .mt_100 {
    margin-top: 5rem !important;
  }
  .mb_10 {
    margin-bottom: 0.5rem !important;
  }
  .mb_20 {
    margin-bottom: 1rem !important;
  }
  .mb_30 {
    margin-bottom: 1.5rem !important;
  }
  .mb_40 {
    margin-bottom: 2rem !important;
  }
  .mb_50 {
    margin-bottom: 2.5rem !important;
  }
  .mb_60 {
    margin-bottom: 3rem !important;
  }
  .mb_70 {
    margin-bottom: 3.5rem !important;
  }
  .mb_80 {
    margin-bottom: 4rem !important;
  }
  .mb_90 {
    margin-bottom: 4.5rem !important;
  }
  .mb_100 {
    margin-bottom: 5rem !important;
  }
  .mt_0-sp {
    margin-top: 0 !important;
  }
  .mt_10-sp {
    margin-top: 1rem !important;
  }
  .mt_20-sp {
    margin-top: 2rem !important;
  }
  .mt_30-sp {
    margin-top: 3rem !important;
  }
  .mt_40-sp {
    margin-top: 4rem !important;
  }
  .mt_50-sp {
    margin-top: 5rem !important;
  }
  .mt_60-sp {
    margin-top: 6rem !important;
  }
  .mt_70-sp {
    margin-top: 7rem !important;
  }
  .mt_80-sp {
    margin-top: 8rem !important;
  }
  .mt_90-sp {
    margin-top: 9rem !important;
  }
  .mt_100-sp {
    margin-top: 10rem !important;
  }
  .mb_0-sp {
    margin-bottom: 0 !important;
  }
  .mb_10-sp {
    margin-bottom: 1rem !important;
  }
  .mb_20-sp {
    margin-bottom: 2rem !important;
  }
  .mb_30-sp {
    margin-bottom: 3rem !important;
  }
  .mb_40-sp {
    margin-bottom: 4rem !important;
  }
  .mb_50-sp {
    margin-bottom: 5rem !important;
  }
  .mb_60-sp {
    margin-bottom: 6rem !important;
  }
  .mb_70-sp {
    margin-bottom: 7rem !important;
  }
  .mb_80-sp {
    margin-bottom: 8rem !important;
  }
  .mb_90-sp {
    margin-bottom: 9rem !important;
  }
  .mb_100-sp {
    margin-bottom: 10rem !important;
  }
}

/* padding */
.pt_0 {
  padding-top: 0 !important;
}
.pt_10 {
  padding-top: 1rem !important;
}
.pt_20 {
  padding-top: 2rem !important;
}
.pt_30 {
  padding-top: 3rem !important;
}
.pt_40 {
  padding-top: 4rem !important;
}
.pt_50 {
  padding-top: 5rem !important;
}
.pt_60 {
  padding-top: 6rem !important;
}
.pt_70 {
  padding-top: 7rem !important;
}
.pt_80 {
  padding-top: 8rem !important;
}
.pt_90 {
  padding-top: 9rem !important;
}
.pt_100 {
  padding-top: 10rem !important;
}
.pb_0 {
  padding-bottom: 0 !important;
}
.pb_10 {
  padding-bottom: 1rem !important;
}
.pb_20 {
  padding-bottom: 2rem !important;
}
.pb_30 {
  padding-bottom: 3rem !important;
}
.pb_40 {
  padding-bottom: 4rem !important;
}
.pb_50 {
  padding-bottom: 5rem !important;
}
.pb_60 {
  padding-bottom: 6rem !important;
}
.pb_70 {
  padding-bottom: 7rem !important;
}
.pb_80 {
  padding-bottom: 8rem !important;
}
.pb_90 {
  padding-bottom: 9rem !important;
}
.pb_100 {
  padding-bottom: 10rem !important;
}
@media (max-width: 768.98px) {
  .pt_10 {
    padding-top: .5rem !important;
  }
  .pt_20 {
    padding-top: 1rem !important;
  }
  .pt_30 {
    padding-top: 1.5rem !important;
  }
  .pt_40 {
    padding-top: 2rem !important;
  }
  .pt_50 {
    padding-top: 2.5rem !important;
  }
  .pt_60 {
    padding-top: 3rem !important;
  }
  .pt_70 {
    padding-top: 3.5rem !important;
  }
  .pt_80 {
    padding-top: 4rem !important;
  }
  .pt_90 {
    padding-top: 4.5rem !important;
  }
  .pt_100 {
    padding-top: 5rem !important;
  }
  .pb_10 {
    padding-bottom: .5rem !important;
  }
  .pb_20 {
    padding-bottom: 1rem !important;
  }
  .pb_30 {
    padding-bottom: 1.5rem !important;
  }
  .pb_40 {
    padding-bottom: 2rem !important;
  }
  .pb_50 {
    padding-bottom: 2.5rem !important;
  }
  .pb_60 {
    padding-bottom: 3rem !important;
  }
  .pb_70 {
    padding-bottom: 3.5rem !important;
  }
  .pb_80 {
    padding-bottom: 4rem !important;
  }
  .pb_90 {
    padding-bottom: 4.5rem !important;
  }
  .pb_100 {
    padding-bottom: 5rem !important;
  }
  .pt_0-sp {
    padding-top: 0 !important;
  }
  .pt_10-sp {
    padding-top: 1rem !important;
  }
  .pt_20-sp {
    padding-top: 2rem !important;
  }
  .pt_30-sp {
    padding-top: 3rem !important;
  }
  .pt_40-sp {
    padding-top: 4rem !important;
  }
  .pt_50-sp {
    padding-top: 5rem !important;
  }
  .pt_60-sp {
    padding-top: 6rem !important;
  }
  .pt_70-sp {
    padding-top: 7rem !important;
  }
  .pt_80-sp {
    padding-top: 8rem !important;
  }
  .pt_90-sp {
    padding-top: 9rem !important;
  }
  .pt_100-sp {
    padding-top: 10rem !important;
  }
  .pb_0-sp {
    padding-bottom: 0 !important;
  }
  .pb_10-sp {
    padding-bottom: 1rem !important;
  }
  .pb_20-sp {
    padding-bottom: 2rem !important;
  }
  .pb_30-sp {
    padding-bottom: 3rem !important;
  }
  .pb_40-sp {
    padding-bottom: 4rem !important;
  }
  .pb_50-sp {
    padding-bottom: 5rem !important;
  }
  .pb_60-sp {
    padding-bottom: 6rem !important;
  }
  .pb_70-sp {
    padding-bottom: 7rem !important;
  }
  .pb_80-sp {
    padding-bottom: 8rem !important;
  }
  .pb_90-sp {
    padding-bottom: 9rem !important;
  }
  .pb_100-sp {
    padding-bottom: 10rem !important;
  }
}

.l-height-2 {
  line-height: 2;
}
.l-height-4 {
  line-height: 4rem;
}
.l-height-6 {
  line-height: 6rem;
}
.l-space-3 {
  letter-spacing: 3px;
}
.l-space-4 {
  letter-spacing: 4px;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .flex_pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .flex_pc > * {
    -ms-flex-preferred-size: 48%;
    flex-basis: 48%;
    max-width: 48%;
  }
}
@media (max-width: 767px) {
  .flex_pc > *:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media (max-width: 767px) {
  .flex_sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .flex_sp > * {
    -ms-flex-preferred-size: 48%;
    flex-basis: 48%;
    max-width: 48%;
  }
}
.align-items_end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.align-items_baseline {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}
.flex-direction_column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.flexCenter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flexCenter_y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flex--between {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flexCenter--between {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flexCenter--between--start {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.container2 {
  width: calc((100% - 10px) / 2);
  max-width: 520px;
}
.container2--sp-pc {
  width: calc((100% - 10px) / 2);
  max-width: 520px;
}
.container4 {
  width: calc((100% - 40px) / 4);
  max-width: 260px;
}

@media (max-width: 767px) {
  .container2 {
    width: 100%;
  }
  .container4 {
    width: calc((100% - 10px) / 2);
    max-width: 323px;
  }
  .container4:first-child,
  .container4 + .container4 {
    margin: 3% 0;
  }
}
.contentBox {
  padding: 6% 0;
}
@media (max-width: 767px) {
  .contentBox {
    padding: 12% 0;
  }
}
.txt--center {
  text-align: center;
}
@media (min-width: 768px) {
  .txt--center-pc {
    text-align: center;
  }
}
.txt--left {
  text-align: left;
}
.txt--right {
  text-align: right;
}
@media (max-width: 768px) {
  .txt--left-sp {
    text-align: left;
  }
}
.bg_black {
  background-color: #141414;
}
.bg_gray {
  background-color: #F4F4F4;
}
.bg_ecru {
  background-color: #F0ECE9;
}
.bg_red {
  background-color: #990000;
}
.color_white {
  color: #fff;
}
.color_red {
  color: #AC000C;
}
.color_bordeaux {
  color: #821923;
}
.color_vermilion{
  color: #D70F0F;
}
.h2Txt {
  font-size: 2.8rem;
}
@media (max-width: 767px) {
  .h2Txt {
    font-size: 1.7rem;
  }
}

.tell span {
  font-size: 4.0rem;
  letter-spacing: .4rem;
  margin: 0 0 1% 2%;
}
@media (max-width: 767px) {
  .tell span {
    font-size: 2.5rem;
    letter-spacing: .2rem;
  }
  .tell img {
    width: 30px;
  }
}

/* 出し分け */
.pcOnly {
  display: block !important;
}
@media (max-width: 767px) {
  .pcOnly {
    display: none !important;
  }
}
.spOnly {
  display: none !important;
}
@media (max-width: 767px) {
  .spOnly {
    display: block !important;
  }
}
.pcOnly_inline {
  display: inline;
}
@media (max-width: 767px) {
  .pcOnly_inline {
    display: none;
  }
}
.spOnly_inline {
  display: none;
}
@media (max-width: 767px) {
  .spOnly_inline {
    display: inline;
  }
}
.pcOnly_inline-block {
  display: inline-block;
}
@media (max-width: 767px) {
  .pcOnly_inline-block {
    display: none;
  }
}
.spOnly_inline-block {
  display: none;
}
@media (max-width: 767px) {
  .spOnly_inline-block {
    display: inline-block;
  }
}

/* スクリーンリーダー */
.screenReaderOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* スマホのサイド余白 */
@media (max-width: 767px) {
  .gutter--sp {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
}

/* ボタン */
.btnContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
}
@media (max-width: 767px) {
  .btnContainer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.btnContainer > .btn {
  width: 48%;
}
@media (min-width: 768px) {
  .btnContainer > .btn:nth-child(even) {
    margin-left: 4%;
  }
  .btnContainer > .btn:nth-child(n + 3) {
    margin-top: 2%;
  }
}
.btn {
  display: inline-block;
  padding: .3em 1.5em;
  color: #19191A;
  font-size: 2.3rem;
  font-weight: 500;
  border: solid 1px transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  text-align: center;
  text-decoration: none;
  transition: all .4s;
  cursor: pointer;
}
.btn:hover {
  box-shadow: none;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .btn {
    font-size: 2rem;
  }
  .btnContainer > .btn {
    width: auto;
    min-width: 48%;
    /*padding: .3em 3em;*/
  }
}
@media (max-width: 767px) {
  .btn {
    width: 100%;
    max-width: 520px;
    font-size: 1.5rem;
  }
  .btnContainer > .btn {
    width: 100%;
  }
  .btnContainer > .btn:nth-child(n + 2) {
    margin-top: 3%;
  }
}
.btn--sm {
  padding: 0.5rem 1.5rem;
}
.btn--md {
  padding: 1.3rem 3rem 1.1rem;
}
.btn--lg {
  padding: 2.5rem 5rem;
}
@media (max-width: 767px) {
  .btn--lg {
    padding: 2.1rem 2.5rem 1.9rem;
  }
}
.btn--primary {
  background-color: #fff;
  border: solid 1px #231815;
  border-radius: 8px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 1);
}
@media (min-width: 768px) {
  .btn--primary:active,
  .btn--primary:focus,
  .btn--primary:hover {
    background: #000;
    color: #fff;
    border: solid 1px #000;
  }
}
.btn--txt {
  font-size: 2.8rem;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .btn--txt {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  .btn--txt {
    font-size: 1.4rem;
  }
}
.arrow {
  position: relative;
  padding: .3em 2em .3em .5em;
}
.arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  display: inline-block;
  width: 13px;
  height: 17px;
  background-image: url(img/icon-arrow-b.svg);
  background-size: cover;
  transform: translateY(-50%);
}
@media (min-width: 768px) {
  .arrow:hover::after,
  .arrow:active::after,
  .arrow:focus::after {
    background-image: url(img/icon-arrow-w.svg);
  }
}
@media (max-width: 767px) {
  .arrow::after {
    width: 8px;
    height: 10px;
  }
}

/* 緊急時お知らせティッカー
============================================== */
.systemTicker {
  display: block;
  padding: 2rem 1.5rem;
  text-align: center;
}

.systemTicker + .systemTicker{
  padding-top:0;
}

.systemTicker_title, .systemTicker__title {
  display: inline-block;
  padding: 1.5rem 4rem 1.5rem 2rem;
  text-align: left;
  background: #fff;
  color:#C40410;
  border-radius: 10px;
  width: 650px;
  position: relative;
  text-decoration: underline;
  font-weight: 500;
  font-size: 1.8rem;
  text-decoration: none;
  border: 2px solid;
}
.systemTicker_title::after{
  background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 265 436.7"><path fill="%23C40410" d="M258,235.4L63.7,429.6c-9.3,9.4-24.4,9.4-33.8,0.1c0,0-0.1-0.1-0.1-0.1L7.1,407c-9.4-9.3-9.4-24.4-0.1-33.8c0,0,0.1-0.1,0.1-0.1l154-154.7L7.1,63.7c-9.3-9.4-9.3-24.5,0-33.9L29.8,7c9.3-9.4,24.4-9.4,33.8-0.1c0,0,0.1,0.1,0.1,0.1L258,201.4C267.4,210.8,267.4,225.9,258,235.4z" /></svg>');
  content: "";
  width: 10px;
  height: 16px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .systemTicker_title, .systemTicker__title {
    padding: 1rem 3rem 1rem 1.5rem;
    width: 100%;
    font-size: 1.3rem;
    min-width: 200px;
  }
  .systemTicker_title::after{
    width: 8.5px;
    height: 12.5px;
    right: 10px;
  }
  .systemTicker + .systemTicker{
    margin-top: -1rem;
  }
}
@media (hover: hover){
  .systemTicker_title:hover, .systemTicker__title:hover{
    background: #C40410;
    color: #fff;
    border: 2px solid #C40410;
  }
  .systemTicker_title:hover::after{
    background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 265 436.7"><path fill="%23fff" d="M258,235.4L63.7,429.6c-9.3,9.4-24.4,9.4-33.8,0.1c0,0-0.1-0.1-0.1-0.1L7.1,407c-9.4-9.3-9.4-24.4-0.1-33.8c0,0,0.1-0.1,0.1-0.1l154-154.7L7.1,63.7c-9.3-9.4-9.3-24.5,0-33.9L29.8,7c9.3-9.4,24.4-9.4,33.8-0.1c0,0,0.1,0.1,0.1,0.1L258,201.4C267.4,210.8,267.4,225.9,258,235.4z" /></svg>');
  }
}

/* ヘッダー
============================================== */
.header {
    position: sticky;
    top: 0;
    z-index: 99;
}
.headerInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100px;
  background-color: #fff;
  border-bottom: 1px solid #646464;
  box-sizing: content-box;
}
.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
}
@media (max-width: 1079px) {
  .headerInner {
    height: 60px;
  }
}
@media (min-width: 1080px) {
  .headerLogo {
    padding-left: 15px;
    width: 280px;
    height: auto;
  }
}
@media (max-width: 1079px) {
  .headerLogo {
    margin-right: auto;
    margin-left: auto;
    padding-left: 60px;
  }
  .headerLogo img {
    width: 165px;
  }
}
.headerBtn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-preferred-size: 240px;
  flex-basis: 240px;
  max-width: 240px;
  height: 100%;
  padding-left: 45px;
  font-size: 1.8rem;
  font-weight: 700;
  background-color: #AC000C;
  color: #fff;
  line-height: 1;
  letter-spacing: .05em;
}
.headerBtn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translate(0, -50%);
  width: 48px;
  height: 40px;
  background-image: url(img/icon-reserve.svg);
  background-size: contain;
  vertical-align: middle;
}
@media (min-width: 1080px) and (max-width: 1279px) {
  .headerBtn {
    font-size: 1.6rem;
  }
}
@media (max-width: 1079px) {
  .headerBtn {
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    padding-top: 45px;
    padding-bottom: 5px;
    padding-left: 0;
    font-size: 1rem;
  }
  .headerBtn img {
    width: 38px;
  }
  .headerBtn::after {
    top: 12%;
    left: 50%;
    transform: translate(-40%, 0);
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 1280px) {
  .headerNav {
    flex-basis: calc(100% - 280px - 240px);
    max-width: calc(100% - 280px - 240px);
  }
}
@media (min-width: 1080px) and (max-width: 1279px) {
  .headerNav {
    flex-basis: calc(100% - 280px - 230px);
    max-width: calc(100% - 280px - 230px);
  }
}
@media (max-width: 1079px) {
  .headerNav {
    display: none;
  }
}
.headerNavList {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  visibility: visible;
  list-style-type: none;
  transition: all 0.5s;
}

@media (max-width: 1079px) {
  .headerNavList {
    display: block;
    padding: 2% 4% 4% 2%;
    color: #fff;
  }
  .open ~ .headerNav {
    position: absolute;
    top: 60px;
    left: 0;
    display: block;
    width: 100%;
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
    visibility: visible;
    opacity: 1;
  }
  .open ~ .headerNav .headerNavList {
    width: 100%;
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
    max-height: calc(100vh - 60px);
    max-height: calc(100dvh - 60px);
    visibility: visible;
    background-color: #343434;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: none;
  }
}
@media (min-width: 1080px) {
  .headerNavList .navsp,
  .headerBtn .navsp {
    display: none;
  }
}
@media (max-width: 1079px) {
  .headerNavList .navpc,
  .headerBtn .navpc {
    display: none;
  }
}
.headerNavList li {
  position: relative;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (min-width: 1280px) {
  .headerNavList > li:not(:first-child) {
    margin-left: 2.5%;
  }
}
@media (min-width: 1080px) and (max-width: 1279px) {
  .headerNavList > li:not(:first-child) {
    margin-left: 0.5%;
  }
}
@media (max-width: 1079px) {
  .headerNavList li {
    width: 100%;
    margin-left: 0;
    font-size: 1.6rem;
  }
}
.headerNavList a {
  color: #333;
  text-decoration: none;
}
.headerNavList a:hover {
  color: #ac000c;
}
@media (max-width: 1079px) {
  .headerNavList a,
  .headerNavList a:hover {
    display: block;
    padding: 6px 10px;
    color: #fff;
  }
  .headerNavList a::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 10px;
    margin-right: .5em;
    background-image: url(img/icon-arrow-w.svg);
    background-size: cover;
  }
}
.headerNavList a.navbanner::before {
  content: none;
}

/*アコーディオン+から-*/
.headerNavList .link {
  position: relative;
  display: block;
  padding: 10px 44px;
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease;
  cursor: pointer;
}
.headerNavList .link::before,
.headerNavList .link::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -14px;
  display: block;
  width: 14px;
  height: 1px;
  border-radius: 5px;
  background: #fff;
  transform: translateY(-50%);
  transition: .5s;
}
.headerNavList .link::before {
  transform: translateY(-50%) rotate(90deg);
}
.headerNavList .open .link::before {
  transform: translateY(-50%) rotate(0);
}
/* 2階層目 */
.headerNavList .sub-menu {
  display: none;
  list-style-type: none;
}
.headerNavList .sub-menu li {
  font-size: 1.5rem;
}
.headerNavList .sub-menu a {
  display: block;
  padding: 2px 0 6px 8px;
  font-weight: 400;
  text-decoration: none;
  -webkit-transition: all .25s ease;
  -o-transition: all .25s ease;
  transition: all .25s ease;
}
.headerNavList .sub-menu a:hover {
  color: #FFF;
}

.headerNavList .navsp li{
    list-style: none;
}

.headerNavList .navsp:has( > ul) {
    padding-left: 0;
    text-indent: 0;
    font-size: 1.2em;
    color: #BFB597;
}

.headerNavList .navsp ul{
    border-top: 1px solid #BFB597;
    margin-top: 0.5rem;
    padding-top: 1rem;
}

.headerNav__btn {
    background: #AC000C;
    color: #fff;
    text-align: center;
    margin: 1rem auto;
    border-radius: 0.5rem;
}
.headerNav__btn:before {
    content:none!important;
}
.headerNav__btn.arrow::after{
    background-image: url("img/icon-arrow-w.svg");
}
    /* トグルボタン */
.toggleBtn {
  position: relative;
  width: 60px;
  height: 60px;
  background-color: #000;
}
.toggleBtn::before {
  content: "";
  position: absolute;
  top: 6px;
  right: 12px;
  width: 40px;
  height: 50px;
  background: no-repeat center/70px url(img/toggleBtn.svg);
  background-position-x: 6px;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  z-index: 9990;
}
.toggleBtn.open::before {
  background-position-x: -32px;
}
@media (min-width: 1080px) {
  .toggleBtn {
    display: none;
  }
}

/* ページのトップへ戻る
============================================== */
.backToTop {
  position: relative;
}
.scrollBackToTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
.scrollBackToTop {
  position: fixed;
  display: block;
  width: 5.5rem;
  height: 5.5rem;
  bottom: 8rem;
  right: 4.2rem;
  content: '';
  border-radius: 50%;
  background: #A33335 url(img/icon-up.svg) no-repeat center center/16px 10px;
  z-index: 10;
}

@media (max-width: 767px) {
  .scrollBackToTop {
    width: 4.2rem;
    height: 4.2rem;
    bottom: 2.4rem;
    right: 2.4rem;
    background: #A33335 url(img/icon-up.svg) no-repeat center center/12px 8px;
  }
}

/* フッター
============================================== */
.footer {
  background: #000;
}
.footerNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
  padding: 3% 0;
}
@media (max-width: 767px) {
  .footerNav {
    width: 100%;
    padding: 25px 4%;
  }
}
@media (max-width: 1110px) {
  .brandNav {
    padding-left: 2%;
  }
}
@media (max-width: 767px) {
  .brandNav {
    margin: 0 auto;
    order: 2;
    padding-left: 0;
  }
}
.sitemapNav {
  width: 100%;
  margin-bottom: 3%;
}
@media (max-width: 767px) {
  .sitemapNav {
    margin-bottom: 25px;
  }
}
.sitemapNav--primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  list-style-type: none;
  column-gap: 1.5em;
  width: max(70% , 735px);
  margin-inline: auto;
}
  .sitemapNav--primary li {
    flex-basis: calc((100% - 3em) / 3);
    margin-bottom: 8px;
  }
@media (max-width: 767px) {
  .sitemapNav--primary {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }
  .sitemapNav--primary li {
    flex-basis: calc((100% - 3em) / 2)
  }
  .sitemapNav--primary li:nth-child(n + 3) {
    margin-top: 2%;
  }
}
.sitemapNav--primary a {
  display: block;
  color: #fff;
  font-size: 1.9rem;
  text-decoration: none;
}
@media (max-width: 815px) {
  .sitemapNav--primary a {
    font-size: 1.7rem;
  }
}
@media (max-width: 767px) {
  .sitemapNav--primary a {
    max-width: 150px;
    font-size: 1.2rem;
  }
  .sitemapNav--primary li:nth-child(odd) a {
    margin-right: 3%;
    margin-left: auto;
  }
  .sitemapNav--primary li:nth-child(even) a {
    margin-left: 3%;
  }
}
.sitemapNav--primary a::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 15px;
  margin-right: .4em;
  background-image: url(img/icon-arrow-w.svg);
  background-size: cover;
}
@media (max-width: 815px) {
  .sitemapNav--primary a::before {
    width: 10px;
    height: 13px;
  }
}
@media (max-width: 767px) {
  .sitemapNav--primary a::before {
    width: 6px;
    height: 8px;
  }
}
.brandNav--sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
}
.brandNav--sns li {
  -ms-flex-preferred-size: 50px;
  flex-basis: 50px;
  height: 50px;
}
@media (max-width: 767px) {
  .brandNav--sns li {
    -ms-flex-preferred-size: 34px;
    flex-basis: 34px;
    height: 34px;
  }
}
.brandNav--sns li:nth-child(n + 2) {
  margin-left: 2rem;
}
@media (max-width: 767px) {
  .brandNav--sns li:nth-child(n + 2) {
    margin-left: 1.5rem;
  }
}
.brandNav--sns a {
  display: block;
  width: 50px;
  height: 50px;
  background: #fff;
  border-radius: 50%;
  text-align: center;
}
@media (max-width: 767px) {
  .brandNav--sns a {
    width: 34px;
    height: 34px;
  }
}
.brandNav--sns img {
  vertical-align: -16px;
  padding-left: 1px;
  width: 24px;
}
@media (max-width: 767px) {
  .brandNav--sns img {
    vertical-align: -8px;
    width: 18px;
  }
}
.copyright {
  text-align: center;
  padding: 20px;
  background: #fdfdfd;
}
.copyright small {
  font-size: 1.8rem;
  letter-spacing: 0.72px;
}
@media (max-width: 767px) {
  .copyright small {
    font-size: 1rem;
  }
}

/* 下層ページ共通
============================================== */
.contentArea {
  max-width: 1080px;
  margin: 0 auto;
}
@media (min-width: 768px) and (max-width: 1119px) {
  .contentArea {
    padding: 0 2%;
  }
}
@media (max-width: 768px) {
  .contentArea {
    padding: 0 4%;
  }
}
.contentAreaSm {
  max-width: 480px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contentAreaSm {
    padding: 0 4%;
  }
}
/*h2 {
  font-size: 100%;
  font-weight: inherit;
}
h3 {
  font-size: inherit;
  font-weight: inherit;
}
*/
.pageHeader {
  text-align: center;
}
.pageTitle {
  padding: 6rem 4% 8rem;
  font-size: 4rem;
  font-weight: 700;
  color: #141414;
  letter-spacing: 3px;
}
@media (min-width: 768px) and (max-width: 1119px) {
  .pageTitle {
    padding: 5rem 4% 7rem;
    font-size: 3rem;
    letter-spacing: 2px;
  }
}
@media (max-width: 767px) {
  .pageTitle {
    padding: 8% 4%;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 1px;
  }
}
.pageBody {
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .pageBody {
    padding-bottom: 4rem;
  }
}
.pageSection_ttl {
  margin-bottom: 3rem;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 3px;
  text-align: center;
}
.pageSection_lead {
  margin-top: -3rem;
  margin-bottom: 3rem;
  font-size: 1.8rem;
  font-weight: 300;
  text-align: center;
}
@media (max-width: 767px) {
 .pageSection_ttl {
    margin-bottom: 4%;
    font-size: 2rem;
  }
  .pageSection_lead  {
    margin-top: -3%;
    margin-bottom: 4%;
    font-size: 1.25rem;
  }
}

/*ぱんくず
-----------------------*/
@media (max-width: 767px) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumbList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1080px;
  margin: 0 auto;
  padding: 10px 0;
  list-style: none;
}
@media (max-width: 1100px) {
  .breadcrumbList {
    padding: 10px 2%;
  }
}
.breadcrumbList_item {
  font-size: 1.4rem;
}
.breadcrumbList_item:nth-child(n + 2) {
  margin-left: 1.5%;
}
.breadcrumbList_item:nth-child(n + 2)::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 14px;
  margin-bottom: 2px;
  border-top: 2px solid #19191A;
  border-right: 2px solid #19191A;
  transform: rotate(45deg);
}
.breadcrumbList_item a {
  color: #141414;
}

ol.p-breadcrumb__lists {
  list-style: none;
  display: flex;
  max-width: 1080px;
  padding: 1rem 0 2rem;
  margin: 0 auto;
}
li.p-breadcrumb__item {
  margin-right: 1.5%;
  font-size: 1.4rem;
}
li.p-breadcrumb__item.arrow::before {
  width: 6px;
  height: 6px;
  margin: 0 15px 3px 0;
  border-top: 1.5px solid #19191A;
  border-right: 1.5px solid #19191A;
}

/* お問い合わせ
============================================== */
#contact .container2 {
  max-width: 520px;
  margin: 0% auto 5%;
}
#contact .bg_white_frame {
  background-color: #fff;
  border: 2px solid #B1B1B1;
}
#contact .shopTtl {
  color: #fff;
  background-color: #B1B1B1;
  padding: 3%;
  letter-spacing: .4rem;
}
#contact .txt--height {
  line-height: 2.8rem;
}
@media (max-width: 767px) {
  #contact .txt--height {
    line-height: inherit;
  }
}
#contact .item_description {
  padding: 8% 5%;
}
#contact .item_description + .item_description {
  border-top: 2px solid #B1B1B1;
}
#contact .tellArea {
  padding: 2.5%;
}
a.contactBtn {
  background-color: #000;
  color: #fff;
  width: 100%;
  display: inline-block;
  padding: 4% 0;
  letter-spacing: 0.2rem;
}
a.contactBtn:before {
  display: inline-block;
  width: 11px;
  height: 11px;
  margin: 0 14px 3px 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  content: "";
}

a.contactBtn:hover {
  opacity: 0.7;
}
@media (max-width: 767px) {
  a.contactBtn:before {
    width: 9px;
    height: 9px;
    margin: 0 9px 2px 0;
  }
}

/* プライバシーポリシー
============================================== */
#page--privacy .pageBody {
  padding-bottom: 1rem;
}
#page--privacy .contentBlock {
  margin-bottom: 7.4rem;
}
@media (max-width: 767px) {
  #page--privacy .contentBlock {
    margin-bottom: 3rem;
  }
}
#page--privacy .contentBlock__inner {
  padding-top: 2rem;
  padding-bottom: 5rem;
}
@media (max-width: 767px) {
  #page--privacy .contentBlock__inner {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
  }
}

/* 会員登録／ログイン
============================================== */
.memberArea .member--btn{
  width:50%;
  max-width: 520px;
  margin:3% auto 0;
}
@media (max-width: 767px){
  .memberArea .member--btn{
    width:85%;
    margin:5% auto 0;
  }
}
.memberArea .frame{
  border:2px solid #821923;
  padding: 5% 2%;
}
@media (max-width: 767px){
  .memberArea .frame{
    padding: 10% 4%;
  }
}
.memberArea .border{
  border:1px solid #646464;
  width:70px;
  margin:4% auto;
}
@media (max-width: 767px){
  .memberArea .border{
    width:40px;
    margin:6% auto;
  }
}

/* お店の様子
============================================== */
.shopviewTtl{
  font-size: 2.5rem;
  margin:10rem 0 7rem;
}
@media (max-width: 767px){
  .shopviewTtl{
    font-size: 1.5rem;
    margin:3rem 0;
  }
}

/* 別窓リンク時アイコン
============================================== */
.icon-outlink{
  display: inline-block;
  content: "";
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.2em;
  margin-bottom: 0.2em;
  vertical-align: middle;
  background: url(img/icon-outlink.svg) 50% 50% no-repeat;
  background-size: contain;
}
.icon-outlink.-red{
  background: url(img/icon-outlink-red.svg) 50% 50% no-repeat;
  margin-left: 0.1em;
}


.appDownload--btn {
  display: block;
  position: relative;
  background-image: linear-gradient(90deg, #EFC961, #FFFBD0 25%, #EECB6E 60%, #F2E08B 87%, #FFFBD0);
  border-radius: 100vh;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  font-weight: 500;
  font-size: clamp(1.8rem, 4.8vw, 2.52rem);
  overflow: hidden;
}

.btn_animation::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #FFFBD0;
  animation: btn_animation ease-in-out 2.5s infinite;
}

@keyframes btn_animation {
  0% {
    -webkit-transform: scale(0) rotate(0deg);
    opacity: 0;
  }

  10% {
    -webkit-transform: scale(0) rotate(0deg);
    opacity: 0.5;
  }

  11% {
    -webkit-transform: scale(4) rotate(0deg);
    opacity: 1;
  }

  30% {
    -webkit-transform: scale(50) rotate(0deg);
    opacity: 0;
  }

  100% {
    -webkit-transform: scale(50) rotate(0deg);
    opacity: 0;
  }
}

.icon--shoshinsha {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding-left: 1em;
    justify-content: center;
}

.icon--shoshinsha:before {
    content: '';
    background: url("/wp-content/themes/mngtr_basic/img/icon--shoshinsha.webp") no-repeat;
    background-size: contain;
    width: 1em;
    height: 1em;
}

.text-sm {
  font-size: 0.75em;
}

/* 単品メニュー お好み焼：上下に積んで価格ブロックを右寄せ、フル/ハーフの文字だけ小さく */
.item_description .item_separate--stack {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  align-items: flex-start;
}
.item_description .item_separate--stack > div:nth-child(1),
.item_description .item_separate--stack > div:nth-child(2) {
  flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex-basis: auto;
  -ms-flex-preferred-size: auto;
  max-width: 100%;
}
.item_description .item_separate--stack > div:nth-child(1) {
  align-self: flex-start;
}
.item_description .item_separate--stack > div:nth-child(2) {
  align-self: flex-end;
  text-align: right;
}
.item_description .item_price-stack {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  align-items: flex-end;
}
.item_description .item_price-stack .item_price-label {
  font-size: 0.85em;
}