@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    /*line-height: 1;*/
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* ---------- common ---------- */
html {
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: #464646;
    line-height: 1.5;
    font-weight: 500;
}

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

* {
    box-sizing: border-box;
    outline: none;
}

a {
    text-decoration: none;
    color: #464646;
    transition: all 0.3s;
}

@keyframes scrollAnimation {
    0% {
        height: 0;
        bottom: 5em;
        opacity: 0;
    }
    30% {
        height: 3em;
        bottom: 1.5em;
        opacity: 1;
    }
    50% {
        opacity: 1;
    }
    100% {
        height: 0;
        bottom: 1.5em;
        opacity: 0;
    }
}

@keyframes lazyLoad {
    0% {
        opacity: 0;
        bottom: -30%;
    }
    100% {
        opacity: 1;
        bottom: 0;
    }
}

@keyframes lazyLoadOut {
    0% {
        opacity: 1;
        bottom: 0;
    }
    100% {
        opacity: 0;
        bottom: -30%;
    }
}


.horizontal_scroll {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  padding: 0 0 12px 8px;
  margin: 0 30px;
  display: -ms-flexbox;
  display: flex; }

/* 画面幅が2400px以上の場合、横スクロールを解除 */
@media screen and (min-width: 2400px) {
  .horizontal_scroll {
    overflow-x: inherit;
    padding: 0 8px 6px; } }

.horizontal_scroll > li {
  width: 100%;
  min-width: 140px; }

@media screen and (min-width: 2400px) {
  .horizontal_scroll > li {
    min-width: inherit; } }

.horizontal_scroll > li:not(:last-child) {
  margin-right: 5px; }

.horizontal_scroll > li:last-child {
  padding-right: 5px; }

@media screen and (min-width: 2400px) {
  .horizontal_scroll > li:last-child {
    padding-right: 0; } }

.horizontal_scroll img {
  vertical-align: bottom; }