@charset "UTF-8";
/* ========================================================= DEFAULT STYLE ========================================================= */
* {
  margin: 0;
  padding: 0;
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, input, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, textarea, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  text-decoration: none;
  font-weight: normal;
  font-style: normal;
}

img {
  border: none;
  text-decoration: none;
  vertical-align: top;
  font-size: 0;
}

ul {
  list-style-type: none;
}

a, small {
  display: block;
  text-decoration: none;
}

header, footer, nav, section, aside, article, figcaption, figure, main {
  display: block;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 16px;
  line-height: 1.6;
  color: #261303;
  width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: none;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 13px;
  }
}

a {
  transition: all 0.4s;
}

a[href]:hover {
  opacity: 0.8;
}

img {
  width: 100%;
}

/* header */
/* 改行位置調整 */
@media screen and (max-width: 820px) {
  .pc,
  .pc_inline {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pctab,
  .pctab_inline {
    display: none;
  }
}

.tab {
  display: none;
}
@media screen and (max-width: 820px) {
  .tab {
    display: inherit;
  }
}
@media screen and (max-width: 767px) {
  .tab {
    display: none;
  }
}

.tab_inline {
  display: none;
}
@media screen and (max-width: 820px) {
  .tab_inline {
    display: inline-block;
  }
}
@media screen and (max-width: 767px) {
  .tab_inline {
    display: none;
  }
}

.tabsp {
  display: none;
}
@media screen and (max-width: 820px) {
  .tabsp {
    display: inherit;
  }
}

.tabsp_inline {
  display: none;
}
@media screen and (max-width: 820px) {
  .tabsp_inline {
    display: inline-block;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: inherit;
  }
}

.sp_inline {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_inline {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .js-scrollable .scroll_sp {
    width: 200%;
    max-width: none;
  }
}

.fadein {
  opacity: 0;
  transition: all 1s;
  transform: translateY(50px);
}
.fadein.fade_on {
  opacity: 1;
  transform: translateY(0px);
}

/* =============================================================================
animation
========================================================================== */
.flash_bnr2 {
  position: relative;
  display: block;
  overflow: hidden;
}

.flash_bnr2:before {
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 2;
  display: block;
  content: "";
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  transform: skewX(-30deg);
  animation: shine 4s infinite;
}

@keyframes shine {
  0% {
    left: -75%;
  }
  40% {
    left: 150%;
  }
  100% {
    left: 150%;
  }
}