@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/
*/
/* 基本
============================================== */
.bsd-button--outline {
  background-color: transparent;
  border: 1px solid #1a1919;
  color: #1a1919;
}
.bsd-button--outline.bsd-button--grey-dark:active,
.bsd-button--outline.bsd-button--grey-dark:focus,
.bsd-button--outline.bsd-button--grey-dark:hover {
  background-color: #1a1919;
  color: #fff;
}
.bsd-button {
  border-radius: 0.1875rem;
  display: inline-block;
  font-size: 0.9375rem;
  line-height: 1.3125rem;
  font-weight: 700;
  padding: 0.75rem 1.25rem 0.625rem;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  width: 100%;
}

*,
*::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 Sans JP', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif;*/
  font-family: "Noto Serif JP", serif;
  color: #111111;
  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 0.5s;
  text-decoration: none;
  color: #141414;
  outline: none;
}

img {
  max-width: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  vertical-align: top;
  height: auto;
}

address {
  font-weight: normal;
  font-style: normal;
}

/* 汎用クラス
============================================== */
.btn-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #000;
  border: solid 2px #000;
  border-radius: 3px;
  transition: 0.4s;
}

.btn-flat-border:hover,
.btn-flat-border:active,
.btn-flat-border:focus {
  background-color: #000;
  color: #fff;
}
/* フォント */
.noto-serif {
  font-family: "Noto Serif Japanese", serif;
}
.f-gothic {
  font-family: "Noto Sans JP", "Helvetica Neue", "游ゴシック体", YuGothic,
    "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",
    sans-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.6rem;
}
.f-large-s {
  font-size: 1.8rem;
}
.f-large-m {
  font-size: 2rem;
}
.f-large-m2 {
  font-size: 2.3rem;
}
.f-large-l {
  font-size: 2.5rem;
}
.f-large-ll {
  font-size: 3rem;
}
@media (max-width: 767px) {
  .f-small {
    font-size: 1.3rem;
  }
  .f-large-s {
    font-size: 1.2rem;
  }
  .f-large-m,
  .f-large-m2 {
    font-size: 1.5rem;
  }
  .f-large-l {
    font-size: 1.7rem;
  }
  .f-large-ll {
    font-size: 1.8rem;
  }
}

/* margin */
.mt_10 {
  margin-top: 1rem;
}
.mt_20 {
  margin-top: 2rem;
}
.mt_30 {
  margin-top: 3rem;
}
.mt_40 {
  margin-top: 4rem;
}
.mt_50 {
  margin-top: 5rem;
}
.mt_60 {
  margin-top: 6rem;
}
.mt_70 {
  margin-top: 7rem;
}
.mt_80 {
  margin-top: 8rem;
}
.mt_90 {
  margin-top: 9rem;
}
.mt_100 {
  margin-top: 10rem;
}
.mb_10 {
  margin-bottom: 1rem;
}
.mb_20 {
  margin-bottom: 2rem;
}
.mb_30 {
  margin-bottom: 3rem;
}
.mb_40 {
  margin-bottom: 4rem;
}
.mb_50 {
  margin-bottom: 5rem;
}
.mb_60 {
  margin-bottom: 6rem;
}
.mb_70 {
  margin-bottom: 7rem;
}
.mb_80 {
  margin-bottom: 8rem;
}
.mb_90 {
  margin-bottom: 9rem;
}
.mb_100 {
  margin-bottom: 10rem;
}

/* padding */
.pt_10 {
  padding-top: 1rem;
}
.pt_20 {
  padding-top: 2rem;
}
.pt_30 {
  padding-top: 3rem;
}
.pt_40 {
  padding-top: 4rem;
}
.pt_50 {
  padding-top: 5rem;
}
.pb_10 {
  padding-bottom: 1rem;
}
.pb_20 {
  padding-bottom: 2rem;
}
.pb_30 {
  padding-bottom: 3rem;
}
.pb_40 {
  padding-bottom: 4rem;
}
.pb_50 {
  padding-bottom: 5rem;
}
.pb_60 {
  padding-bottom: 6rem;
}
.pb_70 {
  padding-bottom: 7rem;
}
.pb_80 {
  padding-bottom: 8rem;
}
.pb_90 {
  padding-bottom: 9rem;
}
.pb_100 {
  padding-bottom: 10rem;
}

@media (max-width: 767px) {
  /* margin */
  .mt_10 {
    margin-top: 0.5rem;
  }
  .mt_20 {
    margin-top: 1rem;
  }
  .mt_30 {
    margin-top: 1.5rem;
  }
  .mt_40 {
    margin-top: 2rem;
  }
  .mt_50 {
    margin-top: 2.5rem;
  }
  .mt_60 {
    margin-top: 3rem;
  }
  .mt_70 {
    margin-top: 3.5rem;
  }
  .mt_80 {
    margin-top: 4rem;
  }
  .mt_90 {
    margin-top: 4.5rem;
  }
  .mt_100 {
    margin-top: 5rem;
  }
  .mb_10 {
    margin-bottom: 0.5rem;
  }
  .mb_20 {
    margin-bottom: 1rem;
  }
  .mb_30 {
    margin-bottom: 1.5rem;
  }
  .mb_40 {
    margin-bottom: 2rem;
  }
  .mb_50 {
    margin-bottom: 2.5rem;
  }
  .mb_60 {
    margin-bottom: 3rem;
  }
  .mb_70 {
    margin-bottom: 3.5rem;
  }
  .mb_80 {
    margin-bottom: 4rem;
  }
  .mb_90 {
    margin-bottom: 4.5rem;
  }
  .mb_100 {
    margin-bottom: 5rem;
  }

  /* padding */
  .pt_10 {
    padding-top: 0.5rem;
  }
  .pt_20 {
    padding-top: 1rem;
  }
  .pt_30 {
    padding-top: 1.5rem;
  }
  .pt_40 {
    padding-top: 2rem;
  }
  .pt_50 {
    padding-top: 2.5rem;
  }
  .pb_10 {
    padding-bottom: 0.5rem;
  }
  .pb_20 {
    padding-bottom: 1rem;
  }
  .pb_30 {
    padding-bottom: 1.5rem;
  }
  .pb_40 {
    padding-bottom: 2rem;
  }
  .pb_50 {
    padding-bottom: 2.5rem;
  }
  .pb_60 {
    padding-bottom: 3rem;
  }
  .pb_70 {
    padding-bottom: 3.5rem;
  }
  .pb_80 {
    padding-bottom: 4rem;
  }
  .pb_90 {
    padding-bottom: 4.5rem;
  }
  .pb_100 {
    padding-bottom: 5rem;
  }
  .sp_mt_10 {
    margin-top: 1rem;
  }
  .sp_mb_10 {
    margin-bottom: 1rem;
  }
  .sp_mt_20 {
    margin-top: 2rem;
  }
  .sp_mb_20 {
    margin-bottom: 2rem;
  }
  .sp_pt_10 {
    padding-top: 1rem;
  }
  .sp_pb_10 {
    padding-bottom: 1rem;
  }
  .sp_pt_20 {
    padding-top: 2rem;
  }
  .sp_pb_20 {
    padding-bottom: 2rem;
  }
}

.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;
}

@media (max-width: 767px) {
  .container2 {
    width: 100%;
  }
}
.contentBox {
  padding: 6% 0;
}
@media (max-width: 767px) {
  .contentBox {
    padding: 12% 0;
  }
}
.txt--center {
  text-align: center;
}
.txt--left {
  text-align: left;
}
.txt--right {
  text-align: right;
}
@media (min-width: 768px) {
  .txt--center-pc {
    text-align: center;
  }
  .txt--left-pc {
    text-align: left;
  }
  .txt--right-pc {
    text-align: right;
  }
}
.color_white {
  color: #fff;
}
.color_red {
  color: #ac000c;
}
.color_red02 {
  color: #d70f0f;
}
.color_green {
  color: #09883a;
}
.txtColor_first_red::first-letter {
  color: #d70f0f;
}

/* 出し分け */
.pcOnly {
  display: block !important;
}
@media (max-width: 767px) {
  .pcOnly {
    display: none !important;
  }
}
.spOnly {
  display: none !important;
}
@media (max-width: 767px) {
  .spOnly {
    display: block !important;
  }
}
/* スクリーンリーダー */
.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;
  }
}

/* インライン表示切替 */
.inline--pcOnly {
  display: inline;
}
@media (max-width: 767px) {
  .inline--pcOnly {
    display: none;
  }
}

.inline--spOnly {
  display: none;
}
@media (max-width: 767px) {
  .inline--spOnly {
    display: inline;
  }
}

/* ブロック表示切替 */
.block--pcOnly {
  display: block;
}
@media (max-width: 767px) {
  .block--pcOnly {
    display: none;
  }
}

.block--spOnly {
  display: none;
}
@media (max-width: 767px) {
  .block--spOnly {
    display: block;
  }
}

/* インラインブロック表示切替 */
.inlineBlock--pcOnly {
  display: inline-block;
}
@media (max-width: 767px) {
  .inlineBlock--pcOnly {
    display: none;
  }
}

.inlineBlock--spOnly {
  display: none;
}
@media (max-width: 767px) {
  .inlineBlock--spOnly {
    display: inline-block;
  }
}

/* ボタン */
.btnContainer {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .btnContainer {
    flex-direction: column;
    flex-wrap: wrap;
  }
}
.btn {
  color: #19191a;
  display: inline-block;
  font-size: 2.3rem;
  border: solid 1px transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 1.5rem 3rem 1.3rem;
  border-radius: 4px;
  width: 48%;
  text-align: center;
  text-decoration: none;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .btn {
    width: 100%;
  }
}
.txtOnly .btn {
  font-size: 2.8rem;
  margin-top: 1%;
}
@media (max-width: 767px) {
  .txtOnly .btn {
    font-size: 1.4rem;
  }
}
.part--attention .btn,
.part--menu .btn {
  width: 100%;
}
.part--news .btn {
  width: 48%;
}
@media (max-width: 767px) {
  .part--news .btn {
    width: 100%;
  }
}
.btn:hover {
  box-shadow: none;
}
.attention.txtOnly .btn:hover {
  color: #ac000c;
  border: solid 1px transparent;
}
@media (max-width: 767px) {
  .btn {
    font-size: 1.5rem;
    padding: 1.1rem;
    width: 100%;
  }
}
.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 {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #19191a;
  border: solid 1px #231815;
  border-radius: 10px;
  transition: 0.4s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 1);
}
.btn--primary:active,
.btn--primary:focus,
.btn--primary:hover {
  background: #000;
  color: #fff;
  border: solid 1px #000;
}
@media (max-width: 767px) {
  .btn--primary:active,
  .btn--primary:focus,
  .btn--primary:hover {
    background: #fff;
    color: #000;
    border: solid 1px #000;
  }
}
.btn--primary:active::before,
.btn--primary:focus::before,
.btn--primary:hover::before {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
}
/*黒背景*/
.bg-black .btn--primary {
  color: #fff;
  border: solid 1px #fff;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 1);
}
.bg-black .btn--primary:active,
.bg-black .btn--primary:focus,
.bg-black .btn--primary:hover {
  background: #fff;
  color: #000;
  border: solid 1px #fff;
}
@media (max-width: 767px) {
  .bg-black .btn--primary:active,
  .bg-black .btn--primary:focus,
  .bg-black .btn--primary:hover {
    background: #000;
    color: #fff;
    border: solid 1px #fff;
  }
}
.bg-black .btn--primary:active::before,
.bg-black .btn--primary:focus::before,
.bg-black .btn--primary:hover::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.bg-black {
  background-color: #000;
}

.part--attention .btn--primary {
  font-size: 3rem;
}
@media (max-width: 767px) {
  .part--attention .btn--primary {
    font-size: 1.5rem;
  }
}
.attention .btn--primary::before {
  border: none;
}
.part--attention.txtOnly {
  font-size: 2.8rem;
}
.part--menu .btn--primary {
  font-size: 2.2rem;
}
@media (max-width: 767px) {
  .part--menu .btn--primary,
  .part--news .btn--primary {
    font-size: 1.5rem;
    padding: 0.5em 1em;
  }
}
.menuContainer a:hover,
.aboutContainer a:hover {
  opacity: 0.7;
}
.menuContainer .btnContainer a:hover {
  opacity: 1;
}

.arrow::before {
  display: inline-block;
  width: 11px;
  height: 11px;
  margin: 0 14px 3px 0;
  border-top: 2px solid #19191a;
  border-right: 2px solid #19191a;
  transform: rotate(45deg);
  content: "";
}
.arrow:hover::before,
.arrow:active::before,
.arrow:focus::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
/*黒背景*/
.bg-black .arrow::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: "";
}
.bg-black .arrow:hover::before,
.bg-black .arrow:active::before,
.bg-black .arrow:focus::before {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
}
@media (max-width: 767px) {
  .arrow::before {
    width: 9px;
    height: 9px;
    margin: 0 14px 1px 0;
  }
  .arrow:hover::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  /*黒背景*/
  .bg-black .arrow::before {
    width: 9px;
    height: 9px;
    margin: 0 14px 2px 0;
  }
}
.txtOnly .arrow:hover::before {
  border-top: 2px solid #ac000c;
  border-right: 2px solid #ac000c;
}
.txtOnly .arrow::before {
  width: 14px;
  height: 14px;
}
@media (max-width: 767px) {
  .txtOnly .arrow::before {
    width: 10px;
    height: 10px;
    margin: 0 13px 0px 0;
  }
}

.btn--secondary {
  border-color: #991010;
  background: #ffffff url(img/icon--btnRightArrow--red.svg) no-repeat right 15px
    center;
  color: #991010;
}
.btn--secondary:hover,
.btn--secondary:visited,
.btn--secondary:active {
  color: #991010;
}

.btn--link {
  font-size: 1.6rem;
  font-weight: normal;
  border-color: #d3d3d3;
  background: #ffffff url(img/icon--btnLinkArrow.svg) no-repeat right 15px
    center;
  color: #000000;
  padding: 15px 43px 17px 12px;
  box-shadow: none;
  border-radius: 0;
}
.btn--link:hover,
.btn--link:visited,
.btn--link:active {
  color: #000000;
}
@media (max-width: 767px) {
  .btn--link {
    padding: 14px 22px 14px 14px;
  }
}

/* フォーム */
.formSelect {
  color: #575757;
  width: 24rem;
  border: solid 1px #575757;
  /* border-radius: 4px;*/
  padding: 1.3rem 3rem 1.1rem 1.9rem;
  font-size: 1.8rem;
  font-weight: bold;
  outline: none;
  background: url(img/icon--downArrow--block.svg) no-repeat right 10px
    center/11px 7px;
}
@media (max-width: 767px) {
  .formSelect {
    width: 35%;
    padding: 0.5rem 2rem 0.5rem 1.8rem;
    font-size: 1.5rem;
  }
}

/* 緊急時お知らせティッカー
============================================== */
.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>');
  }
}

/* ヘッダー
============================================== */
@media (max-width: 767px) {
  .header {
    min-width: auto;
    height: auto;
  }
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}

.headerNavContainer .headerNav {
  width: 80%;
}
@media (min-width: 1800px) {
  .headerNavContainer .headerNav {
    width: 76%;
  }
}
@media (max-width: 767px) {
  .headerNavContainer .headerNav {
    width: 100%;
  }
}

.headerNavContainer {
  width: 100%;
  background-color: #fff;
  z-index: 99;
  margin: 0 auto;
  border-bottom: 1px solid #646464;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  z-index: 1200;
}
@media (max-width: 767px) {
  .headerNavContainer {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 6rem;
  }
}

.headerNavContainer_inner {
  margin: auto;
  position: relative;
}

.headerNavContainer .navItemArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: 10rem;
}
@media (max-width: 767px) {
  .headerNavContainer .navItemArea {
    height: auto;
  }
}
.siteTitle {
  margin: 0 0 0 1.5%;
  width: 120px;
  height: 59px;
}

@media (max-width: 767px) {
  .siteTitle {
    width: auto;
    margin: auto;
  }
}

.reservTitle {
  width: 240px;
  height: 100px;
  margin-left: auto;
  text-align: right;
  position: unset;
  background-color: #ac000c;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 767px) {
  .reservTitle {
    width: 6rem;
    height: 6rem;
    text-align: left;
    position: absolute;
    left: 0;
    top: 0;
  }
}

.reservTitle img {
  margin-top: 5%;
}
@media (max-width: 767px) {
  .reservTitle img {
    margin-top: 15.5%;
    margin-left: 3%;
    width: 4.8rem;
    height: 4.8rem;
  }
}

@media screen and (min-width: 797px) and (max-width: 980px) {
  .reservTitle {
    width: 24%;
    padding: 0 1%;
  }
}
@media screen and (min-width: 768px) and (max-width: 796px) {
  .reservTitle {
    width: 20%;
    padding: 0 1%;
  }
}

.headerNavContainer .navItemArea .siteTitle img {
  padding: 0;
  width: 120px;
  height: 59px;
  max-width: initial;
}
@media (max-width: 767px) {
  .headerNavContainer .navItemArea .siteTitle img {
    padding: 8% 0;
    width: 90px;
  }
}
@media screen and (min-width: 767px) and (max-width: 980px) {
  .headerNavContainer .navItemArea img,
  .headerNavContainer .navItemArea .siteTitle img {
    max-width: 100%;
  }
}

.toggleBtn {
  position: absolute;
  display: none;
  top: 0.6rem;
  right: 0.6rem;
  width: 4rem;
  height: 5rem;
  content: "";
  cursor: pointer;
  z-index: 9990;
  background: url(img/toggleBtn.svg) no-repeat 6px center;
  background-size: 65px;
  -webkit-tap-highlight-color: transparent;
}
@media (max-width: 767px) {
  .toggleBtn {
    display: block;
  }
}

@media (max-width: 767px) {
  .headerNav {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    content: "";
    z-index: -1;
    opacity: 0;
    transition: all 0.3s;
  }
}
.headerNav .headerNav--primary {
  visibility: visible;
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  list-style-type: none;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .headerNav .headerNav--primary {
    display: block;
    padding-top: 2%;
    margin-bottom: 40px;
    color: #fff;
    padding-bottom: 15%;
  }
}
.headerNav .headerNav--primary .toggleBtn--close {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  border-bottom: none;
  width: 55px;
  height: 52px;
  background: none;
  padding-top: 16px;
  padding-left: 24px;
  cursor: pointer;
}
@media (max-width: 767px) {
  .headerNav .headerNav--primary .toggleBtn--close {
    display: block;
  }
}
.headerNav .headerNav--primary li {
  flex-basis: auto;
  margin-left: 4.7%;
  font-size: 1.7rem;
}
.headerNav .headerNav--primary li.first {
  margin-left: 0;
}
.headerNav ul.sub-menu {
  display: none;
}
@media (max-width: 767px) {
  .headerNav ul.sub-menu {
    display: none;
  }
}
@media (max-width: 1087px) {
  .headerNav .headerNav--primary li {
    margin-left: 3%;
    font-size: 1.6rem;
  }
}
@media (max-width: 980px) {
  .headerNav .headerNav--primary li {
    margin-left: 2.5%;
    font-size: 1.5rem;
  }
}

@media (max-width: 767px) {
  .headerNav .headerNav--primary li {
    margin-left: 0;
  }
  .headerNav .headerNav--primary li a::before {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 14px 1px 0;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    content: "";
  }

  /*アコーディオン+から-*/
  .headerNav .headerNav--primary .free .free_a {
    display: block;
    position: relative;
    padding: 10px 44px;
  }
  .headerNav .headerNav--primary .free .free_a::before,
  .headerNav .headerNav--primary .free .free_a::after {
    content: "";
    display: block;
    width: 15px;
    height: 2px;
    border-radius: 5px;
    background: #fff;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  /* 2本の横棒のうち一本は縦棒にする */
  .headerNav .headerNav--primary .free .free_a::before {
    /*background: #fff;*/
    /* 横棒を縦にするために90℃回転させる */
    transform: translateY(-50%) rotate(90deg);
    /* プラスからマイナスへの切り替えをゆっくり行いアニメーションさせる */
    transition: 0.5s;
  }

  /*
  プラスがクリックされたら縦棒を横にしてマイナスにする疑似要素
  jQueryで付け外しを行う
  */
  .headerNav .headerNav--primary .open .link a::before {
    transform: rotate(0);
    transition: 0.5s;
  }
  /**/

  .headerNav .headerNav--primary .sub-menu li {
    padding: 0 18px;
    font-size: 1.3rem;
  }

  a.free_a {
    pointer-events: none;
  }

  .headerNav--primary .link {
    cursor: pointer;
    display: block;
    position: relative;
    -webkit-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  /*アイコン逆にする*/
  .accordion li.open i.fa-chevron-down {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .sub-menu {
    display: none;
  }

  .sub-menu a {
    display: block;
    text-decoration: none;
    padding: 12px;
    padding-left: 42px;
    -webkit-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
  }

  .sub-menu a:hover {
    color: #fff;
  }
}
.headerNav .headerNav--primary li a {
  color: #000000;
  text-decoration: none;
}
.headerNav .headerNav--primary li a:hover {
  color: #ac000c;
}
@media (max-width: 767px) {
  .headerNav .headerNav--primary li a {
    display: block;
    margin-left: 0;
    padding: 10px 20px;
    color: #fff;
  }
  .headerNav .headerNav--primary li a .free_a {
    padding: 10px 30px;
  }
  .headerNav .headerNav--primary li a:hover {
    color: #fff;
  }
}
@media (max-width: 767px) {
  .headerNav .headerNav--primary li.nav--home a {
    border-top: solid 1px #d3d3d3;
  }
}
.headerNav .headerNav--sns {
  display: none;
  visibility: hidden;
  padding: 22px 22px 26px;
}
.headerNav .headerNav--sns li {
  flex-basis: 46px;
  height: 46px;
}
.headerNav .headerNav--sns li.nav--facebook {
  margin-left: 1.8rem;
}
@media (max-width: 767px) {
  .headerNav .headerNav--sns li.nav--facebook {
    margin-left: 1rem;
  }
}
.headerNav .headerNav--sns li.nav--instagram {
  margin-left: 1.8rem;
}
@media (max-width: 767px) {
  .headerNav .headerNav--sns li.nav--instagram {
    margin-left: 1rem;
  }
}
.headerNav .headerNav--sns li a {
  display: block;
  background: #ffffff;
  border-radius: 50%;
  width: 100%;
  height: 46px;
  text-align: center;
}
.headerNav .headerNav--sns li a img {
  vertical-align: -15px;
}

@media (max-width: 767px) {
  .toggleBtn.open {
    background-position: -30px; /*ボタンの画像切り替え*/
  }
}

@media (max-width: 767px) {
  .open ~ .siteTitle {
    position: fixed;
    top: 0.9rem;
    left: 1.5rem;
    z-index: 11000;
  }
}

@media (max-width: 767px) {
  .open ~ .headerNav {
    visibility: visible;
    display: block;
    opacity: 1;
    width: 100%;
    height: 100%;
    background: #141414;
    z-index: 11;
    margin-top: 6rem;
    position: absolute;
    top: 0;
    /*background-color: rgba(20, 20, 20, 0.8);*/
  }
  .headerNav {
    width: 100%;
  }
  .none {
    display: none;
  }
  .scroll-prevent {
    /*動き固定*/
    position: fixed;
    /*奥行きを管理*/
    z-index: -1;
    /*下2つで背景を元のサイズのまま表示することができる*/
    width: 100%;
    height: 100%;
  }

  .headerNav .arrow-left {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: 0 10px;
    border-left: 4px solid #000;
    border-bottom: 4px solid #000;
    transform: rotate(45deg);
  }
}

@media (max-width: 767px) {
  .open ~ .headerNav .headerNav--primary {
    visibility: visible;
    background-color: #141414;
    overflow-y: scroll;
    position: fixed;
    height: 100%;
    width: 100%;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 767px) {
  .open ~ .headerNav .headerNav--sns {
    visibility: visible;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    list-style-type: none;
    justify-content: center;
    background: #991010;
  }
}

/* メインコンテンツ
============================================== */
.bg-black .main {
  background-color: #000;
  color: #fff;
}
.bg-yellow .main {
  background-color: #f8f1d1;
}
.sectionTitle {
  text-align: center;
  margin: 0 auto 5rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .sectionTitle {
    width: 100%;
    padding: 0;
    margin: 0 auto 3rem;
  }
}
.sectionTitle .sectionTitle--ja {
  display: block;
  color: #231815;
  font-size: 2.9rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .sectionTitle .sectionTitle--ja {
    font-size: 2rem;
  }
}
.sectionTitle .sectionTitle--en {
  display: block;
  color: #991010;
  font-size: 2rem;
  font-weight: normal;
  font-family: "Oswald", sans-serif;
}
@media (max-width: 767px) {
  .sectionTitle .sectionTitle--en {
    font-size: 1.6rem;
  }
}
.sectionBody {
  text-align: center;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .sectionBody {
    width: 100%;
    padding: 0;
  }
}

/* ページのトップへ戻る
============================================== */
body {
  position: relative;
}
.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: #991010 url(img/icon--upArrow--white.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: #991010 url(img/icon--upArrow--white.svg) no-repeat center
      center/12px 8px;
  }
}

/* フッター
============================================== */
.footer {
  background: #000;
  border-top: 1px solid #fff;
}
.footer .footerNav {
  max-width: 1080px;
  padding: 3%;
  /*margin: 10% auto 0;*/
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: max-content;
}
@media (max-width: 767px) {
  .footer .footerNav {
    width: 100%;
    padding: 2em 6% 2em;
    flex-direction: column;
    position: relative;
    height: max-content;
  }
}
.footer-img {
  text-align: center;
  margin: -22% auto 0;
}
@media screen and (-ms-high-contrast: active),
  screen and (-ms-high-contrast: none) {
  .footer-img {
    margin: -13% auto 0;
  }
}
@media (max-width: 767px) {
  .footer-img {
    width: 115px;
    margin-top: 0px;
    width: 115px;
    position: absolute;
    top: -26%;
    left: 42%;
  }
}
@media (max-width: 480px) {
  .footer-img {
    left: 35%;
  }
}
@media (max-width: 1110px) {
  .footer .footerNav .brandNav {
    padding-left: 2%;
  }
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav {
    /*width: 213px;*/
    margin: 0 auto;
    order: 2;
    padding-left: 0;
  }
}
.footer .sitemapNav {
  max-width: 100%;
}
.footer .footerNav .brandNav .brandNav--logo {
  margin-bottom: 2rem;
  text-align: center;
  width: 272px;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--logo {
    margin: 0 auto 1.3rem;
    width: 186px;
  }
}
.footer .footerNav .brandNav .brandNav--sns {
  display: flex;
  flex-direction: row;
  justify-content: center;
  list-style-type: none;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--sns {
    justify-content: center;
  }
}
.footer .footerNav .brandNav .brandNav--sns li {
  flex-basis: 50px;
  height: 50px;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--sns li {
    flex-basis: 34px;
    height: 34px;
  }
}
.footer .footerNav .brandNav .brandNav--sns li.nav--facebook {
  margin-left: 2rem;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--sns li.nav--facebook {
    margin-left: 1.5rem;
  }
}
.footer .footerNav .brandNav .brandNav--sns li.nav--instagram {
  margin-left: 2rem;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--sns li.nav--instagram {
    margin-left: 1.5rem;
  }
}
.footer .footerNav .brandNav .brandNav--sns li a {
  display: block;
  background: #ffffff;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  text-align: center;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--sns li a {
    width: 34px;
    height: 34px;
  }
}
.footer .footerNav .brandNav .brandNav--sns li a img {
  vertical-align: -16px;
  padding-left: 1px;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--sns li a img {
    vertical-align: -8px;
    width: 18px;
  }
}

@media (max-width: 767px) {
  .footer .footerNav .sitemapNav {
    flex-basis: 85px;
    position: relative;
    order: 1;
  }
}
.footer .footerNav .sitemapNav .sitemapNav--primary {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: max-content max-content max-content;
  /* grid-template-rows: 1fr 1fr 1fr; */
  grid-template-areas:
    "shop menu nikusoba"
    "iitokoro contact snsguide"
    "privacy about gcontact";
  list-style-type: none;
  width: 735px;
  gap: 13px 45px;
}
.sitemapNav--primary .shop {
  grid-area: shop;
}
.sitemapNav--primary .menu {
  grid-area: menu;
}
.sitemapNav--primary .nikusoba {
  grid-area: nikusoba;
}
.sitemapNav--primary .iitokoro {
  grid-area: iitokoro;
}
.sitemapNav--primary .contact {
  grid-area: contact;
}
.sitemapNav--primary .privacy {
  grid-area: privacy;
}
.sitemapNav--primary .about {
  grid-area: about;
}
.sitemapNav--primary .gcontact {
  grid-area: gcontact;
}
@media (max-width: 767px) {
  .footer .footerNav .sitemapNav .sitemapNav--primary {
    margin: 0 auto;
    width: 100%;
  }
}

@media (max-width: 576px) {
  .footer .footerNav .sitemapNav .sitemapNav--primary {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "shop menu"
      "nikusoba iitokoro"
      "contact snsguide"
      "privacy about"
      "gcontact 1fr";
    gap: 0 10px;
  }
}
.footer .footerNav .sitemapNav .sitemapNav--primary li a {
  display: block;
  color: #ffffff;
  font-size: clamp(1.3rem, 0.916rem + 0.984vw, 1.9rem);
  text-decoration: none;
}

.footer .footerNav .sitemapNav .sitemapNav--primary li a::before {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 11px 2px 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  content: "";
}
@media (max-width: 767px) {
  .footer .footerNav .sitemapNav .sitemapNav--primary li a::before {
    width: 7px;
    height: 7px;
    margin: 0 7px 1px 0;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}
.footer .footerNav .sitemapNav .sitemapNav--secondary {
  list-style-type: none;
}
@media (max-width: 767px) {
  .footer .footerNav .sitemapNav .sitemapNav--secondary {
    padding: 2.3rem 2.4rem 1.9rem;
  }
}
.footer .footerNav .sitemapNav .sitemapNav--secondary .nav--banner {
  width: 100%;
  height: auto;
  text-align: center;
}
.footer .footerNav .sitemapNav .sitemapNav--secondary .nav--banner a {
  display: block;
  text-decoration: none;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  background: #991010;
}
.footer .footerNav .sitemapNav .sitemapNav--secondary .nav--banner a img {
  width: 100%;
}
.footer .copyright {
  text-align: center;
  padding: 20px;
  background: #fdfdfd;
}
.footer .copyright small {
  font-size: 1.8rem;
  letter-spacing: 0.72px;
}
@media (max-width: 767px) {
  .footer .copyright small {
    font-size: 1rem;
  }
}

/*iphone5,SE対応*/
@media (max-width: 320px) {
  .footer .footerNav .sitemapNav .sitemapNav--primary li a {
    padding: 0 0.5rem 1rem 0.6rem;
  }
  .footer .footerNav {
    padding: 5% 2%;
  }
}

/* 下層ページ共通
============================================== */
.pageHeader {
  text-align: center;
  min-height: 15rem;
}
@media (max-width: 767px) {
  .pageHeader {
    min-height: 11rem;
  }
}

.pageTitle {
  font-size: 4rem;
  font-weight: bold;
  line-height: 4rem;
  padding: 5.5rem 2.4rem;
  letter-spacing: 4px;
}
.pageTitle.color_white {
  color: #fff;
}
.pageTitle.news_ttl {
  line-height: 6rem;
}
@media (max-width: 767px) {
  .pageTitle {
    font-size: 2rem;
    line-height: 3rem;
    padding: 4rem 2.4rem;
    letter-spacing: 2px;
  }
  .pageTitle.news_ttl {
    line-height: 3rem;
  }
}
.subTitle {
  color: #fff;
  background-color: #333333;
  font-size: 3rem;
  padding: 0.5% 0 0.7%;
  margin-bottom: 5%;
  text-align: center;
}
@media (max-width: 767px) {
  .subTitle {
    font-size: 1.7rem;
    padding: 1.5% 0 2%;
  }
}
.pageBody {
  padding: 5rem 0 14rem;
}
@media (max-width: 767px) {
  .pageBody {
    padding: 0 0 7rem;
  }
}

.intro__logo {
  text-align: center;
}

.contentWrapper--full {
  max-width: 1080px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contentWrapper--full {
    width: 100%;
    padding: 0;
  }
}

.contentWrapper {
  max-width: 1080px;
  padding: 0 2%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contentWrapper {
    width: 100%;
    padding: 0 2%;
  }
}

.contentWrapperSm--full {
  max-width: 1080px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contentWrapperSm--full {
    width: 100%;
    padding: 0;
  }
}

.contentWrapperSm {
  max-width: 480px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contentWrapperSm {
    width: 100%;
  }
}

/*ぱんくず
-----------------------*/
.breadcrumb {
  padding: 0 2%;
}
@media (max-width: 767px) {
  .breadcrumb {
    display: none;
  }
}
.p-breadcrumb__lists {
  list-style: none;
  display: flex;
  max-width: 1080px;
  padding: 1rem 0 2rem;
  margin: 0 auto;
}
.p-breadcrumb__item {
  margin-right: 1.5%;
  font-size: 1.4rem;
}
.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;
}
/* 色つきページ */
.bg-black .breadcrumb {
  background-color: #000;
}
.bg-black .breadcrumb a {
  color: #fff;
}
.bg-black .p-breadcrumb__item.arrow::before {
  border-color: #fff;
}
.bg-yellow .breadcrumb {
  background-color: #f8f1d1;
}
.nikusoba .breadcrumb {
  position: relative;
}
.nikusoba .p-breadcrumb {
  position: absolute;
  top: 0;
  left: 2%;
  width: 98%;
}

/* トップページ
============================================== */
.contentArea {
  max-width: 1080px;
  /*margin: 0 auto 5%;*/
  margin: auto;
}
@media (max-width: 1100px) {
  .contentArea {
    margin: 0 4%;
  }
}
.bk_black {
  background-color: #000000;
  color: #fff;
}

/* 下層ページ共通
============================================== */
h2 {
  font-size: 100%;
  font-weight: inherit;
}
h3 {
  font-size: inherit;
  font-weight: inherit;
}
#contents {
  max-width: 1000px;
  margin: auto;
}
#container {
  width: 100%;
}

/* プライバシーポリシーページ
============================================== */
#page--privacy .pageBody {
  padding-bottom: 7rem;
}
@media (max-width: 767px) {
  #page--privacy .pageBody {
    padding-bottom: 5rem;
  }
}
#page--privacy .contentBlock {
  margin-bottom: 7.4rem;
}
@media (max-width: 767px) {
  #page--privacy .contentBlock {
    margin-bottom: 3rem;
  }
}
#page--privacy .contentBlock .contentBlock__info {
  margin-bottom: 5rem;
}
#page--privacy .contentBlock h2 {
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  padding: 1.2rem 2rem;
  background: #991010;
}
@media (max-width: 767px) {
  #page--privacy .contentBlock h2 {
    font-size: 1.8rem;
    padding: 1.4rem 2.4rem;
  }
}
#page--privacy .contentBlock h3 {
  color: #991010;
  font-size: 2rem;
  font-weight: bold;
  border-left: solid 3px #991010;
  padding: 5px 15px;
  margin-bottom: 1.8rem;
}
@media (max-width: 767px) {
  #page--privacy .contentBlock h3 {
    font-size: 1.8rem;
  }
}
#page--privacy .contentBlock ul {
  list-style-type: none;
  margin-left: 0;
}
#page--privacy .contentBlock ul li {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  #page--privacy .contentBlock ul li {
    font-size: 1.4rem;
  }
}
#page--privacy .contentBlock p {
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  #page--privacy .contentBlock p {
    font-size: 1.4rem;
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  #page--privacy .contentBlock address {
    padding-top: 3rem;
  }
}
#page--privacy .contentBlock__inner {
  padding-top: 2rem;
  margin-bottom: 5rem;
}
@media (max-width: 767px) {
  #page--privacy .contentBlock__inner {
    padding: 1.2rem 2.4rem;
    margin-bottom: 2rem;
  }
}

.menu_attention_txt {
  padding-left: 1em;
  text-indent: -1em;
}

/* ご利用規約
============================================== */

.kiyaku .kiyaku--txt {
  padding: 0 2%;
  line-height: 1.7;
}
.kiyaku hr {
  margin: 1.5% 0;
}
.kiyaku .kiyaku--txt a {
  color: #cc3333;
}
.kiyaku .kiyaku--txt a:hover {
  opacity: 0.7;
}
.kiyaku--txt > .indent {
  margin-top: 1%;
}
@media (max-width: 767px) {
  .kiyaku--txt > .indent {
    margin-top: 2%;
  }
}

/* お問い合わせページ
============================================== */
.contactArea .bg_gray {
  background-color: #e8e3e3;
}
.contactArea .container2 {
  padding: 3% 2% 4%;
  margin-bottom: 5%;
}
@media (max-width: 767px) {
  .contactArea .container2 {
    padding: 6% 2% 8%;
  }
  .contactArea .flex--between {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.contactArea .btn {
  width: 85%;
  background: #515050;
  font-size: 2rem;
}
@media (max-width: 767px) {
  .contactArea .btn {
    font-size: 1.5rem;
  }
}
.contactArea .btn--primary {
  color: #fff;
  background-color: #000;
  border: solid 1px #000;
}
.contactArea .arrow::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.contactArea .btn--primary:hover {
  background: #fff;
  color: #191818;
  border: solid 1px #191818;
}
.contactArea .arrow:hover::before {
  border-top: 2px solid #191818;
  border-right: 2px solid #191818;
}
.contactArea .tell span {
  font-size: 3rem;
  margin-left: 2%;
}
.contactArea .tell img {
  width: 30px;
  margin-top: 1%;
}
@media (min-width: 767px) {
  .contactArea .tell img {
    width: 55px;
  }
  .contactArea .tell span {
    font-size: 5rem;
    margin-left: 1%;
  }
}
.contact--attention .ttl {
  color: #ffffff;
  padding: 1.2rem 2rem;
  background: #ac000c;
}
.contact--attention p {
  line-height: 1.7;
}

/* 期間限定 準備中
============================================== */
.coming_soon {
  font-size: 2rem;
  margin-top: 35%;
}
@media (max-width: 767px) {
  .coming_soon {
    font-size: 1.7rem;
    margin: 11% 0 7%;
  }
}

/* 別窓リンク時アイコン
============================================== */
.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;
}

/* アプリ導線
============================================== */
.marugenApp{
  display: flex;
  column-gap: 1.5em;
  justify-content: center;
  margin-top: 30px;
  margin-bottom: 30px;
}
.marugenApp--icon {
  width: 120px;
  height: 120px;
}
.marugenApp--body{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.marugenApp--text {
  font-weight: 700;
  font-size: clamp(1.4rem, 0.73vw + 1.13rem, 2rem);
}
.marugenApp--btn{
  background-color: #333;
  color: #fff;
  border-radius: 10px;
}
.marugenApp--btn.btn{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
  font-size: clamp(1.4rem, 0.73vw + 1.13rem, 2rem);
}
@media(max-width:767px){
  .marugenApp {
    width: 100%;
    column-gap: 1em;
  }
  .marugenApp--icon {
    width: 85px;
    height: 85px;
  }
}
@media (hover: hover){
  .marugenApp--btn.btn:hover{
    opacity: .7;
  }
}