/* 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;
    /* font-weight:400; */
}

/* HTML5 display-role reset for older browsers */

* {
    box-sizing: border-box;
    line-height: 1.5em;
}

html {
    font-size: 16px;
    font-size: 100%;
    /* font-size: 1vw; */
    /* font-size:14.93333333333333px; */
}

@media (max-width: 768px) {
    html {
        /* font-size: 14px; */
        font-size: 1vw;
        /* font-size: 3.7498px; */
    }
}

p {
    letter-spacing: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1.25em;
    /* font-size:16px; */
    font-size: 62.5%;
    font-family: 'Noto sans JP', sans-serif;
    font-weight: 400;
    font-feature-settings: normal;
    color: #FFF;
    font-feature-settings: "palt";
    background-color:#221816;
}

@media (max-width: 768px) {
    body {
        font-size: 14px;
        min-width: 100%;
    }
}

ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input:focus,
textarea:focus {
    outline: none;
}

img {
    max-width: 100%;
    -webkit-backface-visibility: hidden;
}

.pc {
    display: block;
}

@media (max-width: 768px) {
    .pc {
        display: none;
    }
}

.sp {
    display: none;
}

@media (max-width: 768px) {
    .sp {
        display: block;
    }
}

a {
    text-decoration: none;
}

a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media (max-width: 768px) {
    a {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }
}

a:hover,
input[type="submit"]:hover {
    opacity: 0.6;
}

a:hover img {}

/* a:focus, */
button:focus {
    border: none;
    outline: none;
}

area {
    border: none;
    outline: none;
}

.site {
    background-color:#221816;
}

@media (max-width: 768px) {
    .site-content {
        min-height: 0;
    }
}


html.is-fixed,
html.is-fixed body {
    /* height: 100%; */
    overflow: hidden;
}

h3,
h4 {
    font-weight: normal;
}

pre {
    /* Mozilla */
    white-space: -moz-pre-wrap;
    /* Opera 4-6 */
    white-space: -pre-wrap;
    /* Opera 7 */
    white-space: -o-pre-wrap;
    /* CSS3 */
    white-space: pre-wrap;
    /* IE 5.5+ */
    word-wrap: break-word;
}

/************************************************************/

.inner {
    max-width: 1080px;
    width: 100%;
    padding: 0 40px;
    margin: auto;
}
@media (max-width: 768px) {
    .inner {
        padding: 0 20px;
    }
}

main {
    position: relative;
    overflow: hidden;
}


/************************************************************/

header{

}

/************************************************************/


footer{
    padding: 40px 0;
    text-align: center;
}
@media (max-width: 768px) {
    footer{
        padding: 32px 0;
        text-align: center;
    }
}

.footer-content{

}
.footer-sns{
    padding: 40px 0;
}
.footer-sns ul{
    display: flex;
    justify-content: center;
    gap: 28px;
}
@media (max-width: 768px) {
    .footer-sns ul{
        display: flex;
        justify-content: center;
        gap: 28px;
    }
}
.footer-sns li a img{
    width: 32px;
}
@media (max-width: 768px) {
    .footer-sns li a img{
        width: 28px;
    }
}
.footer-navi{
    padding: 16px 0;
}
.footer-navi li{
    
}
.footer-navi li a{
    color: #2c4198;
    font-size: 16px;
}

.footer-copy{

}
.footer-copy p{
    font-size: 12px;    
    color: #FFF;
}

/************************************************************/

.kv{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}
@media (max-width: 768px) {
    .kv{
        min-height: 0;
    }
}

.kv-image{
    padding: 40px 0;
    position:relative;
    text-align: center;
}
.kv-image img{
    max-width: 750px;
    width: 100%;
    margin: auto;
}
/************************************************************/

.section01{
  /* font-family: "Bowlby One SC", sans-serif; */
    padding: 80px 0;
}

.section01-lead{

}
.section01-lead h1{
    font-size: 28px;
    font-weight: 900;
}
.section01-lead p{
    /* font-size: 20px; */
}
.lead-text01{

}

.section01-lead--other{
    font-size: 56px;
    font-weight: 900;
    text-align: center;
}
@media (max-width: 768px) {
    .section01-lead--other{
        /* font-size: 32px; */
        font-size: 8.533vw;
    }
}

.pulse{
  animation: pulse 2.3s ease-in-out infinite;
}

@keyframes pulse{
  0%,100%{ opacity: .55; transform: scale(1); }
  50%{ opacity: 1; transform: scale(1.02); }
}

.float-in{
    opacity: 0;
    animation: floatIn 1.5s cubic-bezier(.25,.1,.25,1) forwards;
    animation-delay: 300ms;
}
/* @keyframes floatIn{
  0%{
    opacity: 0;
  }
  40%{
    opacity: .2;
  }
  100%{
    opacity: 1;
  }
} */

@keyframes floatIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


.after-content {
    opacity: 0;
    transition: all 0.5s;
}

/* 表示用クラス */
.after-content.is-visible {
    opacity: 1;
}