@charset "UTF-8";
/*
Theme Name: Monogatari Basic 2024~
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: .1875rem;
        display: inline-block;
        font-size: .9375rem;
        line-height: 1.3125rem;
        font-weight: 700;
        padding: .75rem 1.25rem .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;
  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%;
  height:auto;
  -webkit-backface-visibility: hidden;
}

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: .4s;
}

.btn-flat-border:hover,
.btn-flat-border:active,
.btn-flat-border:focus {
  background-color: #000;
  color: #fff;
}
/* フォント */
.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;
}
@media (max-width: 767px){
  .f-small{
    font-size: 1.3rem;
  }
  .f-large-s{
    font-size: 1.5rem;
  }
  .f-large-m{
    font-size: 1.5rem;
  }
  .f-large-l{
    font-size: 1.7rem;
  }
  .f-large-ll{
    font-size: 1.8rem;
  }
}

/* margin */
.m_auto{
  margin: auto;
}
.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;
}
.pt_60{
  padding-top: 6rem;
}
.pt_70{
  padding-top: 7rem;
}
.pt_80{
  padding-top: 8rem;
}
.pt_90{
  padding-top: 9rem;
}
.pt_100{
  padding-top: 10rem;
}
.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;
  }
  .pt_60{
    padding-top: 3rem;
  }
  .pt_70{
    padding-top: 3.5rem;
  }
  .pt_80{
    padding-top: 4rem;
  }
  .pt_90{
    padding-top: 4.5rem;
  }
  .pt_100{
    padding-top: 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;
  }
}
.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%;
  }
}
.coming_soon{
  height:65%;
}
@media (max-width: 767px){
  .coming_soon{
    height:10rem;
  }
}
.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: 767px){
  .txt--left-sp{
    text-align: left;
  }
  .txt--center-sp {
    text-align: center;
  }
}
.color_red{
  color: #cc3333;
}
.color_white{
  color: #ffffff;
}
.bg_red{
  background-color: #cc3333;
}
.bg_gray{
  background-color: #F5F5F5;
}
.bg_black{
  background-color: #000;
}
/* 出し分け */
.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;
  }
}

/* ボタン */
.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{
	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: .4s;
  -webkit-tap-highlight-color: rgba( 0, 0, 0, 1);
}

@media (max-width: 767px) {
  .part--news .btn--primary{
    font-size:1.5rem;
    padding: 0.5em 1em;
  }
}

.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;
}
.attention .btn--primary::before {
	border:none;
}

.arrow::before {
    display: inline-block;
    width: 11px;
    height: 11px;
    margin: 0 14px 3px 0;
    border-top: 2px solid ;
    border-right: 2px solid ;
    transform: rotate(45deg);
    content: "";
}
.arrow:hover::before,
.arrow:active::before,
.arrow:focus::before {
    border-top: 2px solid;
    border-right: 2px solid;
}
@media (max-width: 767px) {

  .arrow::before {
    width: 9px;
    height: 9px;
    margin: 0 14px 1px 0;
  }
  .arrow:hover::before {
    border-top: 2px solid;
    border-right: 2px solid;
  }
}
.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;
  }
}

/* 緊急時お知らせティッカー
============================================== */
.systemTicker {
  display: block;
  margin: 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 .spNav{
  display: none !important;
}
@media (max-width: 960px) {
  .header .spNav{
    display: block !important;
  }
}
.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
}
.headerNavContainer {
    width: 100%;
    height: 100px;
    background-color:#fff;
    z-index:99;
    margin: 0 auto;
    border-bottom: 1px solid #646464;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
@media (max-width: 960px) {
  .headerNavContainer {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 6rem;
  }
}
.headerNavContainer .navItemArea {
    display:-webkit-box;
    display:-ms-flexbox;
    display: flex;
    align-items: center;
}

.siteTitle {
  margin: 0 0 0 1.5%;
  width: 184px;
  height:66px;
}

@media (max-width: 960px) {
  .siteTitle {
  width: 126px;
  margin: auto;
  }
}
.headerNavContainer .navItemArea .siteTitle img{
  padding: 0;
  width: 184px;
  height: auto;
  max-width: initial;
}
@media (max-width: 960px) {
  .headerNavContainer .navItemArea .siteTitle img{
    padding: 6% 0;
    width: 126px;
  }
}
@media screen and (min-width:960px) and ( max-width:980px) {
  .headerNavContainer .navItemArea img,
  .headerNavContainer .navItemArea .siteTitle img{
    max-width:100%;
  }
}

.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: 960px) {
  .reservTitle {
    width: 6rem;
    height:6rem;
    text-align: left;
    position: absolute;
    left:0;
    top:0;
  }
}
.reservTitle img{
    margin-top: 5%;
    width: 18.4rem;
  }
@media (max-width: 960px) {
  .reservTitle img{
    margin-top: 15.5%;
    margin-left: 3%;
    width: 4.8rem;
    height: 4.8rem;
  }
}
.headerNavContainer .headerNav{
  width: 72%;
}

@media (max-width: 960px) {
  .headerNav {
    width: 100%;
    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: 960px) {
  .headerNav .headerNav--primary {
    display: block;
    padding-top: 2%;
    margin-bottom: 40px;
    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: 960px) {
  .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: 1180px) {
  .headerNav .headerNav--primary li {
    margin-left: 3%;
    font-size: 1.6rem;
  }
}
@media (max-width: 1030px) {
  .headerNav .headerNav--primary li {
    margin-left: 2.5%;
    font-size: 1.5rem;
  }
}
.headerNav--primary .link{
  display: none;
}
@media (max-width: 767px){
  .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;
  }
}

@media (max-width: 960px) {
  /*アコーディオン+から-*/
  .headerNav .headerNav--primary .free .free_a{
    /* display: block;
    position: relative; */
    padding: 10px 44px;
    color:#fff;
  }
  .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: 5%;
    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::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;
  }
  
 .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:hover{
  color:#AC000C;
}
@media (max-width: 960px) {
  .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 li a {
    display: block;
    padding: 10px 20px;
    color: #fff;
  }
  .headerNav .headerNav--primary li a:hover{
    color:#FFF;
  }
}

.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: 960px) {
  .toggleBtn {
    display: block;
  }
  .toggleBtn.open {
    background-position: -31px; /*ボタンの画像切り替え*/
  }
  .open ~ .siteTitle {
    position: fixed;
    top: 0.9rem;
    left: 1.5rem;
    z-index: 11000;
  }
  .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-none{
    display: none;
  }
  .open ~ .headerNav .headerNav--primary {
    visibility: visible;
    background-color: #141414;
    overflow: scroll;
    position: fixed;
    height: 100%;
    width: 100%;
  }
  .open ~ .headerNav .headerNav--primary {
    visibility: visible;
    background-color: #141414;
    overflow: scroll;
    position: fixed;
    height: 100%;
    width: 100%;
  }
}

/* ページのトップへ戻る
============================================== */
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: #1a1a1a;
}
.footer .footerNav {
  width: min(1200px, 100% - 50px);
  margin-inline: auto;
  padding: 3% 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .footer .footerNav {
    padding: 6% 0;
  }
}
.footer .footerNav .brandNav .brandNav--sns {
  display: flex;
  flex-direction: row;
  justify-content: center;
  list-style-type: none;
}
.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:nth-child(n + 2){
  margin-left: 2rem;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--sns li:nth-child(n + 2) {
    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: -17px;
  padding-left: 1px;
  width: 24px;
}
@media (max-width: 767px) {
  .footer .footerNav .brandNav .brandNav--sns li a img {
    vertical-align: -8px;
    width: 18px;
  }
}
.footer .footerNav .sitemapNav .sitemapNav--primary {
  display: flex;
  flex-direction: row;
  /* justify-content: space-around; */
  flex-wrap: wrap;
  margin: 0 0 4%;
  list-style-type: none;
  column-gap: 2em;
}
@media (max-width: 767px) {
  .footer .footerNav .sitemapNav .sitemapNav--primary {
    margin: 0 auto 3%;
    width: 100%;
    justify-content: space-between;
    column-gap: 0;
  }
}
.footer .footerNav .sitemapNav .sitemapNav--primary li {
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  .footer .footerNav .sitemapNav .sitemapNav--primary li {
    width: 50%;
  }
}
.footer .footerNav .sitemapNav .sitemapNav--primary li a {
  display: block;
  color: #ffffff;
  font-size: clamp(1.3rem, 2.8vw, 1.9rem);
}
@media (max-width: 767px) {
  .footer .footerNav .sitemapNav .sitemapNav--primary li a {
    padding: 0 0.5rem 1rem 0;
  }
}
.footer .footerNav .sitemapNav .sitemapNav--primary li a::before{
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 11px 2px 0;
    border-top: 2px solid;
    border-right: 2px solid;
    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;
    border-right: 1px solid;
  }
}
.footer .copyright {
  text-align: center;
  padding: 20px;
  background: #fdfdfd;
}
.footer .copyright small {
  font-size: clamp(1rem, 2.8vw, 1.8rem);
  letter-spacing: 0.72px;
}


/* 下層ページ共通
============================================== */
.pageHeader {
  text-align: center;
  min-height: 15rem;
}
@media (max-width: 767px) {
  .pageHeader {
    min-height: 11rem;
  }
}

.pageTitle {
  font-size: 4.0rem;
  font-weight: bold;
  line-height: 4rem;
  padding: 5.5rem 2.4rem;
  color: #141414;
  letter-spacing: 4px;
}
.pageTitle.news_ttl{
  line-height: 6rem;
}
@media (max-width: 767px) {
  .pageTitle {
    font-size: 2.0rem;
    line-height: 3rem;
    padding: 4rem 2.4rem;
    letter-spacing: 2px;
  }
  .pageTitle.news_ttl{
  line-height: 3rem;
}
}

.pageBody {
   padding: 5rem 0 13rem;
}
@media (max-width: 767px) {
  .pageBody {
    padding: 0 0 4rem;
  }
}

.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%;
  }
}
.contentArea{
  max-width:1080px;
  margin: auto;
}
@media (max-width: 1100px) {
  .contentArea{
    margin: 0 2%;
  }
}

/*ぱんくず
-----------------------*/
.breadcrumb {
   padding: 0 2%;
}
@media (max-width: 767px) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb ol.p-breadcrumb__lists {
    list-style: none;
    display: flex;
    max-width: 1080px;
    padding: 1rem 0 2rem;
    margin: 0 auto;
}
.breadcrumb li.p-breadcrumb__item {
    margin-right: 1.5%;
    font-size: 1.4rem;
}
.breadcrumb 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;
}

/*TOPページ上部お知らせエリア
-----------------*/
.part--attention--top{
  display: block;
  padding: 0 1.5rem;
  text-align: center;
}
.part--attention--top .btn{
  max-width: 1080px;
  min-width: 591px;
  width:auto;
  font-size: 1.8rem;
  padding: 1.5rem 5rem;
  position: relative;
}
.part--attention--top .btn::after{
  background: url(img/icon--rightArrow--black.svg);
  content: "";
  width: 10px;
  height: 16px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 767px){
  .part--attention--top .btn:hover::after{
    background: url(img/icon--rightArrow--white.svg);
  }
}
@media (max-width: 767px){
  .part--attention--top .btn{
    width: 90%;
    font-size: 1.3rem;
    min-width: 200px;
    padding: 1rem 1.5rem;
  }
  .part--attention--top .btn::after{
    width: 6px;
    height: 10px;
    right: 5px;
  }
}

/* 下層ページ共通
============================================== */
h2 {
  font-size: 100%;
  font-weight: inherit;
}
h3 {
    font-size: inherit;
    font-weight: inherit;
}
.page--under .pageBody h2 {
    font-size: 100%;
}


/* プライバシーポリシーページ
============================================== */
#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 .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;
  }
}

/* ご利用規約
============================================== */

.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:.7;
}
.kiyaku--txt > .indent{
  margin-top: 1%;
}
@media (max-width: 767px){
  .kiyaku--txt > .indent{
    margin-top: 2%;
  }
}

/* LP終了対応
============================================== */

.lp--close{
  text-align: center;
  /*position: fixed;*/
  background-color: #AC000C;
  color: #fff;
  width: 100%;
  padding: 2%;
  font-size: 2.5rem;
}
@media (max-width: 767px){
  .lp--close{
    font-size: 1.7rem;
  }
}

.menu_attention_txt{
  padding-left:1em;
  text-indent:-1em;
}

/* 別窓リンク時アイコン
============================================== */
.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;
}
@media (min-width: 961px){
  .icon-outlink.-header{
    width: 0.9em;
    height: 0.9em;
    background: url(img/icon-outlink-b.svg) 50% 50% no-repeat;
  }
}


/* fade
============================================== */
@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeup {
  from {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeup {
  from {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes fadedown {
  from {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadedown {
  from {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes fadeleft {
  from {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@keyframes fadeleft {
  from {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@-webkit-keyframes faderight {
  from {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@keyframes faderight {
  from {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

.fade_area{
  -webkit-animation: fadein 1.5s forwards;
  animation: fadein 1.5s forwards;
}

.fade {
  opacity: 0;
}

.scroll-in.fade-in {
  -webkit-animation: fadein 1.5s forwards;
          animation: fadein 1.5s forwards;
}

.scroll-in.fade-up {
  -webkit-animation: fadeup 1.5s forwards;
          animation: fadeup 1.5s forwards;
}

.scroll-in.fade-down {
  -webkit-animation: fadedown 1.5s forwards;
          animation: fadedown 1.5s forwards;
}

.scroll-in.fade-left {
  -webkit-animation: fadeleft 1.5s forwards;
          animation: fadeleft 1.5s forwards;
}

.scroll-in.fade-right {
  -webkit-animation: faderight 1.5s forwards;
          animation: faderight 1.5s forwards;
}