@charset "UTF-8";

/* --------------------
  reset
-------------------- */

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


/* --------------------
  common
-------------------- */

html {
    font-size: 62.5%;
    box-sizing: border-box;
}

html * {
    box-sizing: border-box;
}

body {
    width: 100%;
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-size: 1.5rem;
    line-height: 1.6;
    color: #22313F;
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#container {
    width: 100%;
    overflow: hidden;
}

h2 {
    font-size: 7rem;
    color: #fff;
    letter-spacing: 0.1em;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .4);
}

h3 {
    font-size: 2.5rem;
    font-weight: bold;
    color: #22313f;
    border-bottom: 2px solid #22313f;
    padding-bottom: 10px;
}

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

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.relative {
    position: relative;
}


/* --------------------
  move
-------------------- */

.move div,
.move h2,
.move h3,
.move p,
.move a,
.move span,
.move ul,
.move li,
.move img {
    transition: 0.5s;
}

#visual div.move-mv1 {
    transition-delay: 0.5s;
}


/* 1 不透明→透明 */

.move-mv1 {
    opacity: 0;
}

.mv1 {
    opacity: 1.0;
}


/* 2 moveフェードイン→上移動 */

.move-mv2 {
    opacity: 0;
    transform: translate(0, 60px);
    -webkit-transform: translate(0, 60px);
}

.mv2 {
    opacity: 1.0;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
}

@media screen and (max-width:1024px) {
    h2 {
        font-size: 5rem;
    }
    h3 {
        font-size: 22px;
        padding-bottom: 5px;
    }
    .move div,
    .move h2,
    .move h3,
    .move p,
    .move a,
    .move span,
    .move ul,
    .move li,
    .move img {
        transition: none;
    }
    .move p.move-mv1,
    #visual .move p.move-mv1 {
        transition-delay: none;
    }
    .move-mv1,
    .move-mv2,
    .move-mv3,
    .move-mv4 {
        opacity: 1.0;
        transform: none;
        -webkit-transform: none;
    }
}