@charset "utf-8";
@font-face {
  font-family: "BstdB20";
  src: url("../../images/others/font/BstdB20-Regular.woff2") format("woff2"),
    url("../../images/others/font/BstdB20-Regular.woff") format("woff");
  font-weight: 400;
}
@font-face {
  font-family: "Bstdm40";
  src: url("../../images/others/font/Bstdm40-Regular.woff2") format("woff2"),
    url("../../images/others/font/Bstdm40-Regular.woff") format("woff");
  font-weight: 400;
}
.BstdB20{font-family: "BstdB20";}
.Bstdm40{font-family: "Bstdm40";}
b,i,s{
  font-weight:inherit;
  font-style:inherit;
  text-decoration:inherit;
}
/* NEWマーク
========================================== */
.new_ic {
  display: inline-block;
}

#list_01 .new_ic>a{
  display: inline;
}

.new_ic::before {
  content:" NEW";
  background: #bb4a4a;
  color: #fafafa;
  font-weight: 300;
  font-size: 1.1rem;
  padding: .2em .2em .1em;
  margin: 0 .5em 0 0;
}

/* Youtube
========================================== */
/*
  width = ウィンドウ幅 - 左右マージンの合計
  height = width * 9/16
  ※単位vwはスクロールバーを含めた値になるため、PCの場合は少しずれる。
  　スマホは問題ない。
*/

.read :not(.c-youtubeWrap)>iframe,
.read .c-youtubeWrap{
  margin: 1em 0;
}
.read iframe{
  max-width: 640px;
  max-height: calc( 640px * 9 / 16 );
  width: calc( 100vw - 40px );
  height: calc( ( 100vw - 40px ) * 9 / 16 );
}

/* ページネーション（ネクストバック）
========================================== */

/* ネクストバックナビ */
.nb_navi {
  text-align: center;
  margin-top: 50px;
}

/* 件数表示 */
.page {
}

/* 件数件表示（数字） */
.page>.nom {
}

/* ページネーション（リスト） */
.page_navi>ul {
  margin: 0;
  display: flex;
  justify-content: center;
}

/* ページネーション（ページ数、前、次） */
.page_navi li {
  margin: 0 1em;
}

/* ページネーション（前、次のみ） */
.page_navi li.nb_pre,
.page_navi li.nb_nex {
}

/* ページネーション（ページ数のみ） */
.page_navi li.nb_crt,
.page_navi li.nb_link {
  margin: 0 .5em;
}

/* ページネーション（ページ数 カレント） */
.page_navi li.nb_crt {
}

/* ページネーション（リンク） */
.page_navi a {
  text-decoration: none;
}

.page_navi a:hover {
}

/* ページネーション リンクなし */
.page_navi li>span {
  opacity: .2;
}

/* バナーユニット
========================================== */

[id^="bnu_001_"] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 30px 0 0;
}

[id^="bnu_001_"]>p {
  width: 100%;
  max-width: 350px;
  margin: 0 10px 10px;
}

/* ==========================================
*
*  mfp
*
========================================== */

.mfp-bg {
  background: rgba(0, 0, 0, .8) !important;
}

.mfp-fade.mfp-bg {
  opacity: 0;
  transition: .5s;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 1;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: .5s;
}

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
/* ==========================================
*
*  言語対応
*
========================================== */
body[data-lang="ja"] .js-trans:not([lang="ja"]),
body[data-lang="en"] .js-trans:not([lang="en"]) {
  display: none!important;
}

/* ==========================================
  画面遷移シャッター
========================================== */
#shutter {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index:2000;
  transition: 1s 0.5s;
  background: url(../../images/main/common/bg_pattern.png),#000;
  opacity:0;
  visibility:hidden;
}
#shutter.inview{
  opacity:0;
  visibility:hidden;
}
#shutter.change {
  opacity: 1;
  visibility:visible;
  transition: 1s;
}
#shutter .front,
#shutter .back{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
  width: 400px;
  max-width: 40%;
}
#shutter .front{
  z-index:1;
}
#shutter.inview .front{
  transform: rotate(-15deg);
  transition:1s 0.1s;
}
#shutter .back{
  transform: translateY(-5%) scale(1.13);
  transition:0.7s 0s;
}
#shutter .front path,
#shutter .front rect,
#shutter .front polygon{
  fill-opacity: 0;
  fill: #fff;
  stroke: #fff;
  stroke-width: 0.5;
  stroke-opacity: 1;
  transition: stroke-dashoffset 1s 0s, fill-opacity 0.5s 0s, stroke-opacity 0.5s 0.1s;
}
#shutter .front path{
  stroke-dasharray: 1170;
  stroke-dashoffset: 1170;
}
#shutter .front rect{
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
}
#shutter .front polygon{
  stroke-dasharray: 240;
  stroke-dashoffset: 240;
}
#shutter:not(.inview) .front,
#shutter.change .front{
  transform: rotate(0deg);
  transition:0.8s 0.2s;
}

#shutter:not(.inview) .front path,
#shutter:not(.inview) .front rect,
#shutter:not(.inview) .front polygon,
#shutter.change .front path,
#shutter.change .front rect,
#shutter.change .front polygon{
  fill-opacity: 1;
  fill: #fff;
  stroke: #fff;
  stroke-dashoffset: 0 !important;
  stroke-opacity: 0;
}
#shutter.inview .back{
  opacity:0;
}
#shutter.change .back{
  opacity:1;
}

#shutter.change .front path,
#shutter.change .front rect,
#shutter.change .front polygon{
  transition: stroke-dashoffset 0.65s 0.2s, fill-opacity 0.7s 0.5s, stroke-opacity 0.7s 0.5s;
}
#shutter.change .back{
 transition: 1.2s 0.2s;
}
