@charset "UTF-8";
/*---------------------------------------------------
初期設定
----------------------------------------------------*/

* {
  box-sizing: border-box;
}

/* フォント指定 */
.font-josefin {
  font-family: 'Josefin Sans', sans-serif;
}

/* 親要素の高さ100% に */
html,
body {
  height: 100%;
}

/* 画像の拡大縮小*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border: none;
}

/*clearfix*/
.clear {
  clear: both;
}
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: '';
  display: block;
  clear: both;
}

/* スピンボタン削除 Chrome、Safariの場合  */
input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* スピンボタン削除 firefox の場合  */
input[type='number'] {
  -moz-appearance: textfield;
}

/*---------------------------------------------------
共有
----------------------------------------------------*/
.inner {
  width: 1300px;
  margin: 0 auto;
}
.inner02 {
  width: 1200px;
  margin: 0 auto;
}

.spNpcB {
  display: none;
}
.spBpcN {
  display: block;
}

/*　共有　リンクP
----------------*/
a {
  color: #333;
  text-decoration: none;
  opacity: 1;
  transition: all 0.3s ease;
}
a:hover {
  opacity: 0.7;
}
a:focus,
*:focus {
  outline: none;
}

:root {
  --base: #1c191a;
  --red: #c10000;
}

/* アニメーション */
.fade-top {
  opacity: 0;
  transform: translateY(-100px);
  transition: 1s ease;
}
.fade-bottom {
  opacity: 0;
  transform: translateY(100px);
  transition: 1s ease;
}
.fade-left {
  opacity: 0;
  transform: translateX(100px);
  transition: 1s ease;
}
.fade-right {
  opacity: 0;
  transform: translateX(-100px);
  transition: 1s ease;
}

/*----------------------------------------------------
タブレット・PC用 768
----------------------------------------------------*/
@media only screen and (min-width: 768px) {
  .spNpcB {
    display: block;
  }
  .spBpcN {
    display: none;
  }
}

/*----------------------------------------------------
タブレット・PC用 1300
----------------------------------------------------*/
@media only screen and (min-width: 1300px) {
}

/*----------------------------------------------------
スマホ・374用
----------------------------------------------------*/
@media only screen and (max-width: 374px) {
}

/* =====================
  操作不可能ボタン
===================== */
.disabledBtn {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  opacity: 0.7;
  filter: grayscale(1);
}
.ui-lock {
  opacity: 0.8;
  pointer-events: none;
  position: relative;
}
.ui-lock::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: #ffffff05;
  z-index: 100;
}
.ui-lock * {
  pointer-events: none;
}
.form-error:empty {
  display: none;
}
.form-error {
  padding: 0.5em 1em;
  color: #c84949;
  border: 2px solid #c84949;
  border-radius: 5px;
  background: #fce3e3;
  margin-top: 1em;
  display: block;
}
