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;
}


.fade-bottom {
    animation-name: slide-bottom2;
    animation-duration: 2.5s;
}

@keyframes slide-bottom2 {
    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0px);
    }
}

.fade-bottom2 {
    opacity: 0;
    animation-name: slide-bottom3;
    animation-duration: 2.5s;
    animation-delay: 1s;
    animation-fill-mode: forwards;
}

@keyframes slide-bottom3 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0px);
    }
}


.teaser__title {
    font-family: din-2014, sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #fff;
    letter-spacing: 0.01em;
}

.teaser__txt {
    font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    font-weight: 200;
    color: #393939;
}

@media screen and (min-width:1280px) {

    html {
        overflow: auto;
    }
    
    body {
	overflow: hidden;
	}

    .teaser__wrapper {
        max-width: 1280px;
        margin: 60px auto 0;
    }

    .teaser__hdr {
        margin: 0 auto;
        background-image: url(../images/top.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: 50% 0%;
        padding-top: 0;
        height: 853px;

    }

    .teaser__title {
        position: relative;
        top: 31%;
        left: 20%;
        font-size: 34px;
    }

    .teaser__title img {
        width: 150px;
    }

    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    .teaser__txt {
        max-width: 1280px;
        font-size: 15px;
        line-height: 2.2em;
        letter-spacing: 0.05em;
        margin: 50px auto 100px;
        text-align: center;
    }
}



@media screen and (min-width:780px) and (max-width:1280px) {

    html {
        font-size: 62.5%;
    }

    body {
        font-size: 1.6rem;
        /* 16px*/
        line-height: 2;
    }

    h1 {
        font-size: 24px;
        /* IE8以下とAndroid4.3以下用フォールバック */
        font-size: calc(2.0rem + ((1.0vw - 0.64rem) * 2.1429));
        /* 24px~36pxで可変*/
        line-height: 1.3;
    }

    .teaser__hdr {
        margin: 0 auto;
        max-width: 1280px;
        background-image: url(../images/top.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: 50% 0%;
        padding-top: 66.640625%;
        height: 0;
    }

    .teaser__title {
        position: absolute;
        top: 17%;
        left: 20%;
    }

    .teaser__title img {
        width: 20%;
    }

    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    .teaser__txt {
        font-size: 14px;
        line-height: 2.2em;
        letter-spacing: 0.05em;
        margin: 60px auto 100px;
        text-align: center;
    }

}

@media screen and (max-width:780px) {

    html {
        font-size: 62.5%;
    }

    body {
        font-size: 1.6rem;
        /* 16px*/
        line-height: 2;
    }

    h1 {
        font-size: 24px;
        /* IE8以下とAndroid4.3以下用フォールバック */
        font-size: calc(2.0rem + ((1.5vw - 0.64rem) * 2.1429));
        /* 24px~36pxで可変*/
        line-height: 1.3;
    }

    .teaser__wrapper {
        max-height: 1200px;
        width: 100%;
    }

    .teaser__hdr {
        margin: 0 auto;
        width: 100%;
        background-image: url(../images/top_sp.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 0%;
        padding-top: 115%;
        height: 0;
    }

    .teaser__title {
        position: absolute;
        top: 20%;
        left: 10%;
    }

    .teaser__title img {
        width: 20%;
    }

    .teaser__txt {
        width: 90%;
        font-size: 10px;
        line-height: 1.8em;
        letter-spacing: 0.02em;
        margin: 30px 5% 50px;
        text-align: justify;
        text-align-last: left;
        padding-left: 0;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

}
