@charset "UTF-8";

/*
======== table of content. ===============
summary:ページ共通要素（PC・SP）
==========================================
*/

/* Noto */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900|Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese');

/* Open Sans */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans+Condensed:wght@700&display=swap');


/* common */
.forpc { display: block; }
.forsp { display: none; }

img { width:100%; height: auto; }

a { text-decoration: none; 
transition: opacity 1s cubic-bezier(0.230, 1.000, 0.320, 1.000),
transform 1s cubic-bezier(0.230, 1.000, 0.320, 1.000),
background 1s cubic-bezier(0.230, 1.000, 0.320, 1.000),
color 1s cubic-bezier(0.230, 1.000, 0.320, 1.000); }


html { font-size: 62.5%; }
body { margin: 0; padding: 0; font-size: 1.4rem; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.04em; }

/* タイトル */

/* 画像 */
.img_sm { margin-bottom: 1.5rem; }

/* 余白 */
.sec_margin { margin-bottom: 4.2rem; }
.txt_margin { margin-bottom: 1em; }
.txt_d_margin { margin-bottom: 2em; }

.dis_table { display: table; }
.dis_table_cell { display: table-cell; }


/*スクロール*/
.next_scroll a {
  display: none;
  opacity: 0;
  position: absolute;
  right: 1%;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 60px;
  overflow: hidden;
  color: #000;
  font-size: 1.4rem;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  text-align: center;
  z-index: 101;
}
.next_scroll.fade a { display: inline-block; opacity: 1; animation-duration: 0.5s; animation-name: fade-in; }

.next_scroll a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 50px;
  background: #000;
  animation: sdl 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}



/*SP*/
@media screen and (max-width: 767px) {

.forpc { display: none; }
.forsp { display: block; }
.next_scroll.fade a { display: none; opacity: 0; }

}


/*
// CSS Transition Easing
// Default
https://easings.net
$linear: cubic-bezier(0.250, 0.250, 0.750, 0.750);
$ease: cubic-bezier(0.250, 0.100, 0.250, 1.000);
$ease-in: cubic-bezier(0.420, 0.000, 1.000, 1.000);
$ease-out: cubic-bezier(0.000, 0.000, 0.580, 1.000);
$ease-in-out: cubic-bezier(0.420, 0.000, 0.580, 1.000);
// In
$easeInQuad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
$easeInCubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
$easeInQuart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
$easeInQuint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
$easeInSine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
$easeInExpo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
$easeInCirc: cubic-bezier(0.600, 0.040, 0.980, 0.335);
$easeInBack: cubic-bezier(0.600, -0.280, 0.735, 0.045);
// Out
$easeOutQuad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
$easeOutCubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
$easeOutQuart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
$easeOutQuint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
$easeOutSine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
$easeOutExpo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
$easeOutCirc: cubic-bezier(0.075, 0.820, 0.165, 1.000);
$easeOutBack: cubic-bezier(0.175, 0.885, 0.320, 1.275);
// In Out
$easeInOutQuad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
$easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
$easeInOutQuart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
$easeInOutQuint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
$easeInOutSine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
$easeInOutExpo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
$easeInOutCirc: cubic-bezier(0.785, 0.135, 0.150, 0.860);
$easeInOutBack: cubic-bezier(0.680, -0.550, 0.265, 1.550);
*/