#PM {
    background-image:;
    background-repeat: repeat;
    background-size: 100%;
    height:auto
}

#PM .PMPhoto {
    margin: auto;
    padding: 10px 0 0 0;
    position:relative
}

@media (min-width: 768px) {
    #PM .PMPhoto {
        padding:0px 0 0px;
		width:100%
    }
}

@media (min-width: 1024px) {
    #PM .PMPhoto {
        padding:6% 4% 6%
    }
}

@media (min-width: 1250px) {
    #PM .PMPhoto {
        padding:6% 6% 6%
    }
}

@media (min-width: 1450px) {
    #PM .PMPhoto {
        padding:70px 5% 70px
    }
}

#PM .PMPhoto .PM_img {
    margin:auto
}

#PM .PMPhoto .PM_img.Video #video {
    width:100%
}

@media (min-width: 1024px) {
    #PM .PMPhoto .PM_img.Video #video {
        border-radius:30px
    }
}

#PM .PMPhoto .PM_img.Sp {
    position: relative;
    padding-bottom: 125%;
    height: 0;
    overflow:hidden
}

#PM .PMPhoto .PM_img.Sp iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height:100%
}

#PM .PMPhoto .PM_img.Pc {
    position: relative;
    padding-bottom: 54.55%;
    height: 0;
    overflow: hidden;
    pointer-events:none
}

@media (min-width: 1024px) {
    #PM .PMPhoto .PM_img.Pc {
        border-radius: 30px;
        z-index:1
    }
}

#PM .PMPhoto .PM_img.Pc iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height:100%
}

#PM .PMPhoto .PM_img img {
    width: 100%;
    height:auto
}

@media (min-width: 1024px) {
    #PM .PMPhoto .PM_img img {
        border-radius:30px
    }
}

#PM .PMPhoto .PM_Title {
    position: absolute;
    top: 60px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 24px;
    text-align:center
}

@media (min-width: 768px) {
    #PM .PMPhoto .PM_Title {
        top: 0;
        height:54px
    }
}

#PM .PMPhoto .PM_Title img {
    max-width: 700px;
    height: auto;
    width:90%
}

.CatchCopy {
  
    margin: 0px auto -14px;
    width: 100%;
    z-index: 1000;
    position:relative
}

@media (min-width: 1024px) {
    .CatchCopy {
        display:flex
    }
}

@media (min-width: 1250px) {
    .CatchCopy {
        width:95%
    }
}

.CatchCopy .CopyText_En {
   font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", sans-serif;
    color: #c9caca;
    margin-top: -100px;
	left: -10%;
    z-index: 0;
    position:relative
		
}

@media (min-width: 800px) {
    .CatchCopy .CopyText_En {
        margin-top:-150px;
			left: -1%;
    }
}

@media (min-width: 1024px) {
    .CatchCopy .CopyText_En {
        margin-top:-200px;
			left: -3%;
    }
}

@media (min-width: 1250px) {
    .CatchCopy .CopyText_En {
        margin-top:-200px;
			left: -3%;
    }
			
    }


.CatchCopy .CopyText_En ul li {
     font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 900;
    font-size: 2.5em;
    line-height:1.2em;
	list-style-type: none;
}

@media (min-width: 768px) {
    .CatchCopy .CopyText_En ul li {
        font-size:4em
			
    }
}

@media (min-width: 1024px) {
    .CatchCopy .CopyText_En ul li {
        font-size:3em
    }
}

@media (min-width: 1080px) {
    .CatchCopy .CopyText_En ul li {
        font-size:3.6em
    }
}


@media (min-width: 1250px) {
    .CatchCopy .CopyText_En ul li {
        font-size:5em
    }
}

@media (min-width: 1366px) {
    .CatchCopy .CopyText_En ul li {
        font-size:4.8em
    }
}

@media (min-width: 1650px) {
    .CatchCopy .CopyText_En ul li {
        font-size:7em
    }
}

.CatchCopy .CopyText {
    color: #111111;
    padding:30px 5% 0 5%
}

@media (min-width: 1024px) {
    .CatchCopy .CopyText {
        padding:10px 2% 0 1%
    }
}

@media (min-width: 1250px) {
    .CatchCopy .CopyText {
        padding: 0;
        padding:2% 0 0 2%
    }
}

@media (min-width: 1650px) {
    .CatchCopy .CopyText {
        padding:0 5% 0 0
    }
}

.CatchCopy .CopyText h1 {
	font-family: "Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", "sans-serif";
    font-size: 2.1em;
    line-height:1.3em
}

.CatchCopy .CopyText h2 {
	font-family: "Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", "sans-serif";
}

.CatchCopy .CopyText h3 {
	font-family: "Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", "sans-serif";
    font-size: 1.5em;
    margin-top: 20px;
    line-height:1.3em
}

@media (min-width: 1024px) {
    .CatchCopy .CopyText h3 {
        margin-top:10px
    }
}

@media (min-width: 1250px) {
    .CatchCopy .CopyText h3 {
        margin-top:30px
    }
}

.CatchCopy .CopyText p {
	font-family: "Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", "sans-serif";
    font-size: 0.94em;
	color: #111111;
    text-align: justify;
    line-height: 1.8em;
    margin-top: 10px;
    padding-bottom:30px
}

@media (min-width: 1250px) {
    .CatchCopy .CopyText p {
        margin-top:30px;
    }
}

@media (min-width: 1080px) {
.CatchCopy .CopyText p {
	font-size: 0.8em;
	}
}

@media (min-width: 1024px) {
.CatchCopy .CopyText p {
	font-size: 1.1em;
	}
}
	
@media (min-width: 1366px) {
.CatchCopy .CopyText p {
	font-size: 1.0em;
	}
}

#PageContainer {
    opacity:0
}

#RecruitPhoto {
    opacity:0
}

#ShopIntroduction {
    opacity:0
}

.display {
    animation: fadeIn 1s linear;
    animation-fill-mode:both
}

@keyframes fadeIn {
    0% {
        opacity:0
    }

    100% {
        opacity:1
    }
}

.slide-in {
    overflow: hidden;
    display:inline-block
}

.slide-in_inner {
    display:inline-block
}

.bgextend {
    animation-name: bgextendAnimeBase;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
    opacity:0
}

@keyframes bgextendAnimeBase {
    from {
        opacity:0
    }

    to {
        opacity:1
    }
}

.bgappear {
    animation-name: bgextendAnimeSecond;
    animation-duration: 1s;
    animation-delay: 0.6s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes bgextendAnimeSecond {
    0% {
        opacity:0
    }

    100% {
        opacity:1
    }
}

.bgLRextend1::before {
    animation-name: bgLRextendAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color:#B6B6B6
}

.bgLRextend2::before {
    animation-name: bgLRextendAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color:#0E0E0E
}

@keyframes bgLRextendAnime {
    0% {
        transform-origin: left;
        transform:scaleX(0)
    }

    50% {
        transform-origin: left;
        transform:scaleX(1)
    }

    50.001% {
        transform-origin:right
    }

    100% {
        transform-origin: right;
        transform:scaleX(0)
    }
}

.bgappearTrigger {
    opacity:0
}

.leftAnime, .leftAnime1, .leftAnime2, .leftAnime5, .leftAnime05, .leftAnime10, .leftAnime15 {
    opacity: 0;
    overflow: hidden;
    display:inline-block
}

.leftAnime .leftAnimeInner, .leftAnime .leftAnimeInner1, .leftAnime .leftAnimeInner2, .leftAnime .leftAnimeInner5, .leftAnime1 .leftAnimeInner, .leftAnime1 .leftAnimeInner1, .leftAnime1 .leftAnimeInner2, .leftAnime1 .leftAnimeInner5, .leftAnime2 .leftAnimeInner, .leftAnime2 .leftAnimeInner1, .leftAnime2 .leftAnimeInner2, .leftAnime2 .leftAnimeInner5, .leftAnime5 .leftAnimeInner, .leftAnime5 .leftAnimeInner1, .leftAnime5 .leftAnimeInner2, .leftAnime5 .leftAnimeInner5, .leftAnime05 .leftAnimeInner, .leftAnime05 .leftAnimeInner1, .leftAnime05 .leftAnimeInner2, .leftAnime05 .leftAnimeInner5, .leftAnime10 .leftAnimeInner, .leftAnime10 .leftAnimeInner1, .leftAnime10 .leftAnimeInner2, .leftAnime10 .leftAnimeInner5, .leftAnime15 .leftAnimeInner, .leftAnime15 .leftAnimeInner1, .leftAnime15 .leftAnimeInner2, .leftAnime15 .leftAnimeInner5 {
    display:inline-block
}

.slideAnimeLeftRight, .slideAnimeLeftRight1, .slideAnimeLeftRight2, .slideAnimeLeftRight5 {
    animation-name: slideTextX100;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes slideTextX100 {
    from {
        transform: translateX(-100%);
        opacity:0
    }

    to {
        transform: translateX(0);
        opacity:1
    }
}

.slideAnimeRightLeft, .slideAnimeRightLeft1, .slideAnimeRightLeft2, .slideAnimeRightLeft5 {
    animation-name: slideTextX-100;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes slideTextX-100 {
    from {
        transform: translateX(100%);
        opacity:0
    }

    to {
        transform: translateX(0);
        opacity:1
    }
}

.upAnime, .upAnime01, .upAnime05, .upAnime15, .upAnime10, .upAnime20 {
    opacity:0
}

.slideAnimeDownUp {
    animation-name: slideTextY100;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes slideTextY100 {
    from {
        transform: translateY(100%);
        opacity:0
    }

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

.slideAnimeUpDown {
    animation-name: slideTextY-100;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes slideTextY-100 {
    from {
        transform: translateY(-100%);
        opacity:0
    }

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

.rollAnime.roll span {
    transition-property: opacity, transform;
    transform: rotateY(360deg);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    display:inline-block
}

.blur1, .blur2, .blur3 {
    animation-name: blurAnime;
    animation-duration: 1.5s;
    animation-fill-mode:forwards
}

@keyframes blurAnime {
    from {
        filter: blur(10px);
        transform: scale(1.02);
        opacity:0
    }

    to {
        filter: blur(0);
        transform: scale(1);
        opacity:1
    }
}

.blurTrigger1, .blurTrigger2, .blurTrigger3 {
    opacity:0
}

.blur0 {
    animation-name: blurAnime0;
    animation-duration: 1.0s;
    animation-fill-mode:forwards
}

@keyframes blurAnime0 {
    from {
        filter: blur(5px);
        transform: scale(1.02);
        opacity:0
    }

    to {
        filter: blur(0);
        transform: scale(1);
        opacity:1
    }
}

.blurTrigger0 {
    opacity:0
}

.box4-12 {
    opacity:0
}

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform:translateY(50px)
    }

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

span.mask {
    display: block;
    overflow:hidden
}

.circle span.mask {
    position:relative
}

.circle span.mask::before {
    position: absolute;
    content: '';
    transform: scale(0);
    opacity: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color:rgba(255, 255, 255, 0.1)
}

.circle span.mask:hover::before {
    animation:circle 0.75s
}

@keyframes circle {
    0% {
        transform: scale(0);
        opacity:1
    }

    30% {
        opacity:1
    }

    100% {
        transform:scale(2)
    }
}

.eachTextAnime span {
    opacity:0
}

.eachTextAnime.appeartext span {
    animation:text_anime_on 1s ease-out forwards
}

@keyframes text_anime_on {
    0% {
        opacity:0
    }

    100% {
        opacity:1
    }
}

.glowAnime span {
    opacity:0
}

.glowAnime.glow span {
    animation:glow_anime_on 1s ease-out forwards
}

@keyframes glow_anime_on {
    0% {
        opacity: 0;
        text-shadow:0 0 0 #fff, 0 0 0 #fff
    }

    50% {
        opacity: 1;
        text-shadow:0 0 10px #fff, 0 0 15px #fff
    }

    100% {
        opacity: 1;
        text-shadow:0 0 0 #fff, 0 0 0 #fff
    }
}

.glowAnime2 span {
    opacity:0
}

.glowAnime2.glow span {
    animation:glow_anime_on2 1s ease-out forwards
}

@keyframes glow_anime_on2 {
    0% {
        opacity: 0;
        text-shadow:0 0 0 #fff, 0 0 0 #fff
    }

    50% {
        opacity: 1;
        text-shadow:0 0 1px #fff, 0 0 2px #fff
    }

    100% {
        opacity: 1;
        text-shadow:0 0 0 #fff, 0 0 0 #fff
    }
}

.line {
    position:relative
}

.line::before, .line::after {
    position: absolute;
    content: "";
    width: 0;
    height: 1px;
    background:#333
}

.line2::before, .line2::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 0;
    background:#333
}

.line::before {
    top: 0;
    left: 0;
    animation:lineAnime .5s linear 0s forwards
}

.line2::before {
    top: 0;
    right: 0;
    animation:lineAnime2 .5s linear .5s forwards
}

.line::after {
    bottom: 0;
    right: 0;
    animation:lineAnime .5s linear 1s forwards
}

.line2::after {
    bottom: 0;
    left: 0;
    animation:lineAnime2 .5s linear 1.5s forwards
}

@keyframes lineAnime {
    0% {
        width:0%
    }

    100% {
        width:100%
    }
}

@keyframes lineAnime2 {
    0% {
        height:0%
    }

    100% {
        height:100%
    }
}

.line .lineinappear {
    animation: lineInnerAnime .5s linear 1.5s forwards;
    opacity:0
}

@keyframes lineInnerAnime {
    0% {
        opacity:0
    }

    100% {
        opacity: 1
    }
}





#Service {
    padding: 20px 0 10px;
    position:relative
}

@media (min-width: 1024px) {
    #Service {
        padding:80px 0
    }
}

@media (min-width: 1180px) {
    #Service {
        padding:100px 0
    }
}

#Service.back1 {
    background-color:#3d3d3e
}

#Service.back2 {
    background-color:#111
}

#Service .No {
    display: flex;
    color: #fff;
    margin:0 0 20px 5%
}

#Service .No h2 {
    font-size:1.2em
}

#Service .No img {
    width: 35px;
    height: auto;
    margin:10px 0 0 -2px
}

@media (min-width: 1024px) {
    #Service .No {
        position: absolute;
        top:40px
    }
}

@media (min-width: 1250px) {
    #Service .No {
        top:100px
    }
}

#Service .ServiceIn {
    position:relative
}

@media (min-width: 1024px) {
    #Service .ServiceIn {
        display:flex
    }
}

#Service .ServiceIn .ServiceText {
    color: #fff;
    width: 94%;
    margin:auto
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText {
        position: absolute;
        left: 5%;
        bottom: 0;
        z-index: 10;
        width:40%
    }
}

#Service .ServiceIn .ServiceText.mobile {
    margin-top:15px
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServiceText.mobile {
        margin-top:25px
    }
}

#Service .ServiceIn .ServiceText .Sp {
    margin-bottom:20px
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText .Sp {
        display:none
    }
}

#Service .ServiceIn .ServiceText .Sp h1 {
    font-size: 1.8em;
    line-height:1.25em
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServiceText .Sp h1 {
        font-size:2.8em
    }
}

#Service .ServiceIn .ServiceText .Title {
    margin-bottom:20px
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText .Title {
        margin-bottom:30px
    }
}

@media (min-width: 1250px) {
    #Service .ServiceIn .ServiceText .Title {
        margin-bottom:40px
    }
}

#Service .ServiceIn .ServiceText .Title.Pc {
    display:none
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText .Title.Pc {
        display:inherit
    }
}

#Service .ServiceIn .ServiceText .Title h1 {
    font-size: 7vw;
    line-height: 1.25em; 
	color:#fff; 
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServiceText .Title h1 {
        font-size: 5vw;
        line-height:1.3em
    }
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText .Title h1 {
        font-size:3.0vw
    }
}

#Service .ServiceIn .ServiceText .Title h1.NLCC {
    font-size: 6vw;
    font-feature-settings: "palt";
    letter-spacing:0.06em
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServiceText .Title h1.NLCC {
        font-size: 2.3em;
        line-height:1.3em
    }
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText .Title h1.NLCC {
        font-size:1.6em
    }
}

@media (min-width: 1250px) {
    #Service .ServiceIn .ServiceText .Title h1.NLCC {
        font-size:2.2em
    }
}

@media (min-width: 1650px) {
    #Service .ServiceIn .ServiceText .Title h1.NLCC {
        font-size:2.5em
    }
}

#Service .ServiceIn .ServiceText .ServiceName {
    margin-bottom:15px
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServiceText .ServiceName {
        margin-bottom:30px
    }
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText .ServiceName {
        margin-bottom:20px
    }
}

@media (min-width: 1480px) {
    #Service .ServiceIn .ServiceText .ServiceName {
        display:flex
    }
}

#Service .ServiceIn .ServiceText .ServiceName h3 {
    font-size: 1.3em;
    margin:0 10px 2px 0;
	color:#fff;
	<script type="text/javascript" src="https://20134015.fs1.hubspotusercontent-na1.net/hubfs/20134015/interview/PM.js"></script>
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServiceText .ServiceName h3 {
        font-size:1.5em;
			font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", sans-serif;
    }
}

#Service .ServiceIn .ServiceText .ServiceName h5 {
    font-size:0.7em
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServiceText .ServiceName h5 {
        font-size:0.8em
    }
}

@media (min-width: 1250px) {
    #Service .ServiceIn .ServiceText .ServiceName h5 {
        margin-top:10px
    }
}

#Service .ServiceIn .ServiceText p {
    width: 100%;
    max-width: 450px;
    font-size: 0.8em;
    margin-bottom: 15px;
    line-height:1.6em
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText p {
        font-size: 0.9em;
        margin-bottom:40px
    }
}

@media (min-width: 1250px) {
    #Service .ServiceIn .ServiceText p {
        margin-bottom:80px
    }
}

#Service .ServiceIn .ServiceText .Btn {
    text-align: right;
    padding-right:2%
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServiceText .Btn {
        text-align:inherit
    }
}

#Service .ServiceIn .ServicePh {
    width: 100%;
    position:relative
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServicePh {
        width: 75%;
        margin-left:25%
    }
}

#Service .ServiceIn .ServicePh .Photo p {
    transition:.5s
}

#Service .ServiceIn .ServicePh .Photo p img {
    width: 100%;
    height:auto
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServicePh .Photo p img {
        border-bottom-left-radius: 15px;
        border-top-left-radius:15px
    }
}

#Service .ServiceIn .ServicePh .Photo a:hover {
    opacity:0.8
}

#Service .ServiceIn .ServicePh .LogoM {
    position: absolute;
    right: 0;
    bottom: -10px;
    width:95%
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServicePh .LogoM {
        width:80%
    }
}

@media (min-width: 1024px) {
    #Service .ServiceIn .ServicePh .LogoM {
        width: 100%;
        max-width: 660px;
        bottom:-20px
    }
}

#Service .ServiceIn .ServicePh .LogoM img {
    width: 100%;
    height:auto
}

#Service .ServiceIn .ServicePh .Logo {
    position: absolute;
    right: 3%;
    bottom:5%
}

#Service .ServiceIn .ServicePh .Logo img {
    width: 60%;
    height: auto;
    float:right
}

@media (min-width: 768px) {
    #Service .ServiceIn .ServicePh .Logo img {
        width:100%
    }
}

.Topbox {
    display:flex
}

@media screen and (max-width: 1023px) {
    .Topbox {
        flex-direction:column
    }
}

@media screen and (max-width: 1023px) {
    .order1 {
        order:1
    }

    .order2 {
        order: 2
    }
}

#PageContainer {
    opacity:0
}

#RecruitPhoto {
    opacity:0
}

#ShopIntroduction {
    opacity:0
}

.display {
    animation: fadeIn 1s linear;
    animation-fill-mode:both
}

@keyframes fadeIn {
    0% {
        opacity:0
    }

    100% {
        opacity:1
    }
}

.slide-in {
    overflow: hidden;
    display:inline-block
}

.slide-in_inner {
    display:inline-block
}

.bgextend {
    animation-name: bgextendAnimeBase;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
    opacity:0
}

@keyframes bgextendAnimeBase {
    from {
        opacity:0
    }

    to {
        opacity:1
    }
}

.bgappear {
    animation-name: bgextendAnimeSecond;
    animation-duration: 1s;
    animation-delay: 0.6s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes bgextendAnimeSecond {
    0% {
        opacity:0
    }

    100% {
        opacity:1
    }
}

.bgLRextend1::before {
    animation-name: bgLRextendAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color:#B6B6B6
}

.bgLRextend2::before {
    animation-name: bgLRextendAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color:#0E0E0E
}

@keyframes bgLRextendAnime {
    0% {
        transform-origin: left;
        transform:scaleX(0)
    }

    50% {
        transform-origin: left;
        transform:scaleX(1)
    }

    50.001% {
        transform-origin:right
    }

    100% {
        transform-origin: right;
        transform:scaleX(0)
    }
}

.bgappearTrigger {
    opacity:0
}

.leftAnime, .leftAnime1, .leftAnime2, .leftAnime5, .leftAnime05, .leftAnime10, .leftAnime15 {
    opacity: 0;
    overflow: hidden;
    display:inline-block
}

.leftAnime .leftAnimeInner, .leftAnime .leftAnimeInner1, .leftAnime .leftAnimeInner2, .leftAnime .leftAnimeInner5, .leftAnime1 .leftAnimeInner, .leftAnime1 .leftAnimeInner1, .leftAnime1 .leftAnimeInner2, .leftAnime1 .leftAnimeInner5, .leftAnime2 .leftAnimeInner, .leftAnime2 .leftAnimeInner1, .leftAnime2 .leftAnimeInner2, .leftAnime2 .leftAnimeInner5, .leftAnime5 .leftAnimeInner, .leftAnime5 .leftAnimeInner1, .leftAnime5 .leftAnimeInner2, .leftAnime5 .leftAnimeInner5, .leftAnime05 .leftAnimeInner, .leftAnime05 .leftAnimeInner1, .leftAnime05 .leftAnimeInner2, .leftAnime05 .leftAnimeInner5, .leftAnime10 .leftAnimeInner, .leftAnime10 .leftAnimeInner1, .leftAnime10 .leftAnimeInner2, .leftAnime10 .leftAnimeInner5, .leftAnime15 .leftAnimeInner, .leftAnime15 .leftAnimeInner1, .leftAnime15 .leftAnimeInner2, .leftAnime15 .leftAnimeInner5 {
    display:inline-block
}

.slideAnimeLeftRight, .slideAnimeLeftRight1, .slideAnimeLeftRight2, .slideAnimeLeftRight5 {
    animation-name: slideTextX100;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes slideTextX100 {
    from {
        transform: translateX(-100%);
        opacity:0
    }

    to {
        transform: translateX(0);
        opacity:1
    }
}

.slideAnimeRightLeft, .slideAnimeRightLeft1, .slideAnimeRightLeft2, .slideAnimeRightLeft5 {
    animation-name: slideTextX-100;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes slideTextX-100 {
    from {
        transform: translateX(100%);
        opacity:0
    }

    to {
        transform: translateX(0);
        opacity:1
    }
}

.upAnime, .upAnime01, .upAnime05, .upAnime15, .upAnime10, .upAnime20 {
    opacity:0
}

.slideAnimeDownUp {
    animation-name: slideTextY100;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes slideTextY100 {
    from {
        transform: translateY(100%);
        opacity:0
    }

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

.slideAnimeUpDown {
    animation-name: slideTextY-100;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes slideTextY-100 {
    from {
        transform: translateY(-100%);
        opacity:0
    }

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

.rollAnime.roll span {
    transition-property: opacity, transform;
    transform: rotateY(360deg);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    display:inline-block
}

span.smoothText {
    overflow: hidden;
    display:block
}

span.smoothTextTrigger30, span.smoothTextTrigger35 {
    transition: .8s ease-in-out;
    transform: translate3d(0, 100%, 0) skewY(12deg);
    transform-origin: left;
    display:block
}

span.smoothTextTrigger30.smoothTextAppear30, span.smoothTextTrigger35.smoothTextAppear35 {
    transform:translate3d(0, 0, 0) skewY(0)
}

.blur1, .blur2, .blur3 {
    animation-name: blurAnime;
    animation-duration: 1.5s;
    animation-fill-mode:forwards
}

@keyframes blurAnime {
    from {
        filter: blur(10px);
        transform: scale(1.02);
        opacity:0
    }

    to {
        filter: blur(0);
        transform: scale(1);
        opacity:1
    }
}

.blurTrigger1, .blurTrigger2, .blurTrigger3 {
    opacity:0
}

.blur0 {
    animation-name: blurAnime0;
    animation-duration: 1.0s;
    animation-fill-mode:forwards
}

@keyframes blurAnime0 {
    from {
        filter: blur(5px);
        transform: scale(1.02);
        opacity:0
    }

    to {
        filter: blur(0);
        transform: scale(1);
        opacity:1
    }
}

.blurTrigger0 {
    opacity:0
}

.box4-12 {
    opacity:0
}

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform:translateY(50px)
    }

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

span.mask {
    display: block;
    overflow:hidden
}

.circle span.mask {
    position:relative
}

.circle span.mask::before {
    position: absolute;
    content: '';
    transform: scale(0);
    opacity: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color:rgba(255, 255, 255, 0.1)
}

.circle span.mask:hover::before {
    animation:circle 0.75s
}

@keyframes circle {
    0% {
        transform: scale(0);
        opacity:1
    }

    30% {
        opacity:1
    }

    100% {
        transform:scale(2)
    }
}

.eachTextAnime span {
    opacity:0
}

.eachTextAnime.appeartext span {
    animation:text_anime_on 1s ease-out forwards
}

@keyframes text_anime_on {
    0% {
        opacity:0
    }

    100% {
        opacity:1
    }
}

.glowAnime span {
    opacity:0
}

.glowAnime.glow span {
    animation:glow_anime_on 1s ease-out forwards
}

@keyframes glow_anime_on {
    0% {
        opacity: 0;
        text-shadow:0 0 0 #fff, 0 0 0 #fff
    }

    50% {
        opacity: 1;
        text-shadow:0 0 10px #fff, 0 0 15px #fff
    }

    100% {
        opacity: 1;
        text-shadow:0 0 0 #fff, 0 0 0 #fff
    }
}

.glowAnime2 span {
    opacity:0
}

.glowAnime2.glow span {
    animation:glow_anime_on2 1s ease-out forwards
}

@keyframes glow_anime_on2 {
    0% {
        opacity: 0;
        text-shadow:0 0 0 #fff, 0 0 0 #fff
    }

    50% {
        opacity: 1;
        text-shadow:0 0 1px #fff, 0 0 2px #fff
    }

    100% {
        opacity: 1;
        text-shadow:0 0 0 #fff, 0 0 0 #fff
    }
}

.line {
    position:relative
}

.line::before, .line::after {
    position: absolute;
    content: "";
    width: 0;
    height: 1px;
    background:#333
}

.line2::before, .line2::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 0;
    background:#333
}

.line::before {
    top: 0;
    left: 0;
    animation:lineAnime .5s linear 0s forwards
}

.line2::before {
    top: 0;
    right: 0;
    animation:lineAnime2 .5s linear .5s forwards
}

.line::after {
    bottom: 0;
    right: 0;
    animation:lineAnime .5s linear 1s forwards
}

.line2::after {
    bottom: 0;
    left: 0;
    animation:lineAnime2 .5s linear 1.5s forwards
}

@keyframes lineAnime {
    0% {
        width:0%
    }

    100% {
        width:100%
    }
}

@keyframes lineAnime2 {
    0% {
        height:0%
    }

    100% {
        height:100%
    }
}

.line .lineinappear {
    animation: lineInnerAnime .5s linear 1.5s forwards;
    opacity:0
}

@keyframes lineInnerAnime {
    0% {
        opacity:0
    }

    100% {
        opacity: 1
    }
}

.bgextend {
    animation-name: bgextendAnimeBase;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
    opacity:0
}

@keyframes bgextendAnimeBase {
    from {
        opacity:0
    }

    to {
        opacity:1
    }
}

.bgappear1, .bgappear2, .bgappear3, .bgappear4 {
    animation-name: bgextendAnimeSecond;
    animation-duration: 1s;
    animation-delay: 0.6s;
    animation-fill-mode: forwards;
    opacity:0
}

@keyframes bgextendAnimeSecond {
    0% {
        opacity:0
    }

    100% {
        opacity:1
    }
}

.bgRLextend1::before, .bgRLextend2::before, .bgRLextend3::before, .bgRLextend4::before {
    animation-name: bgRLextendAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 80%;
    background-color:#111
}

@keyframes bgRLextendAnime {
    0% {
        transform-origin: right;
        transform:scaleX(0)
    }

    50% {
        transform-origin: right;
        transform:scaleX(1)
    }

    50.001% {
        transform-origin:left
    }

    100% {
        transform-origin: left;
        transform:scaleX(0)
    }
}

.bgappearTrigger1, .bgRLextendTrigger1, .bgappearTrigger2, .bgRLextendTrigger2, .bgappearTrigger3, .bgRLextendTrigger3, .bgappearTrigger4, .bgRLextendTrigger4 {
    opacity: 0
}

/* 769pxより大きい画面（タブレット・PC） */
@media only screen and (min-width: 769px) { 
.sp {
display: none;
 }
.pc {
display: block;
 }
}

/* 768pxより小さい画面（スマホ）*/
@media only screen and (max-width: 768px) { 
.sp {
display: block;
 }
.pc {
display: none;
 }
}

