@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=IM+Fell+French+Canon:ital@0;1&family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Zen+Kaku+Gothic+New&family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPMincho&family=IM+Fell+French+Canon:ital@0;1&family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Zen+Kaku+Gothic+New&family=Zen+Maru+Gothic&display=swap');

body {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    color: #111111;
    line-height: 1;
    background-color: #e7e7e7;
}
figure {
    margin: 0;
}

@media (min-width: 768px) and (max-width: 1299px) {
    body {
        font-size: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    body {
        font-size: 3.5vw;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    line-height: 1.1;
}

a {
    color: #111111;
    text-decoration: none;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    font-weight: 400;
}

ul {
    padding: 0;
    margin: 0;
}

ul li {
    list-style: none;
}

.sp {
    display: none;
}

:after,
:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-wrap: break-word
}

main {
    overflow-x: hidden;
    overflow-y: hidden;
}

body [data-hidden] {
    position: absolute;
    font-size: 0;
    color: transparent;
    text-indent: -9999px;
}

body.is-hidden {
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: inherit;
    }
}

/* header */
.g-header {
    height: auto;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    margin-top: 0px;
    transition: transform 0.3s ease-in-out;
}


/* Page Wrapper */
.u-inner {
    width: 768px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .u-inner {
        width: 100vw;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade_in,
.fade_in_up,
.fade_in_down,
.fade_in_left,
.fade_in_right {
    opacity: 0;
}

.animated {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 50px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 50px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}