@charset "UTF-8";
body {
	 overflow: hidden; /* 全体スクロール禁止 */
    margin: 0;
    padding: 0;
	height: 100%;
    background: #031546 !important;
 font-family: Garamond, "Baskerville", "游明朝", "Yu Mincho", serif !important;
}

.popup {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    z-index: 98;
    transition:opacity .4s ease, visibility .4s ease
}

.popup-background {
    top: 0;
    width: 100vw;
    height:100%;
}

.popup-background:hover {
    cursor:pointer
}

@media (max-width: 768px) {
    .popup-background {
        background:linear-gradient(to right, rgba(225, 225, 225, 0), rgba(225, 225, 225, .7) 0%, rgba(141, 156, 195, .71) 0%, rgba(3, 21, 70, .85) 20.59%, rgba(3, 21, 70, .86) 21.43%, rgba(3, 21, 70, 1) 42.02%, rgba(3, 21, 70, .95) 72%, rgba(3, 21, 70, .85) 81.51%, rgba(115, 132, 175, .7) 100%, rgba(8, 9, 9, .02))
    }
}

@media (min-width: 768px) {
    .popup-background {
        background:linear-gradient(to right, rgba(225, 225, 225, 0), rgba(225, 225, 225, .56) 0%, rgba(3, 21, 70, .95) 20%, rgba(3, 21, 70, 1), rgba(3, 21, 70, .95) 80%, rgba(225, 225, 225, .56) 100%, rgba(225, 225, 225, 0))
    }
}

.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:visibility 1s, opacity .5s linear
}

.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:visibility 0s, opacity .5s linear
}

.snap, .sns, .movie, .article {
    position: absolute;
    text-align: center;
    margin: 0 auto;
    letter-spacing:1px
}

@media (max-width: 768px) {
    .snap {
        width: 80%;
        padding-top:60px
    }

    .sns {
        width: 66%;
        padding-top:50px
    }

    .movie, .article {
        width:85%
    }

    .article {
        margin-top:10px
    }
}

@media (min-width: 768px) {
    .snap {
        width: 50%;
        padding-top:80px
    }

    .sns {
        width: 30%;
        padding-top:10px
    }

    .movie {
        width: 50%;
        padding-top:30px
    }

    .article {
        width: 60%;
        margin-top:30px
    }
}

@media (min-width: 1550px) {
    .snap {
        width: 53%;
        padding-top:60px
    }

    .sns {
        width: 33%;
        padding-top:30px
    }

    .movie {
        width:58%
    }

    .article {
        width: 60%;
        margin-top:10px
    }
}

.sns_text {
    position: absolute;
    bottom:20px
}

@media (max-width: 760px) {
    .snap img, .sns img, .movie img {
        width: auto;
        overflow: hidden !important;
        max-height: 370px;
        border-radius: 10px;

    }


    .snap img {
        width: auto;
    }
}

    @media (max-width: 325px) {
        .article img, .sns img {
            overflow: hidden !important;
            border-radius: 10px;
            width: auto;
            max-height: 300px;

        }
    }
@media (min-width: 325px) {
    .article img, .sns img {
        overflow: hidden !important;
        border-radius: 10px;
        width: auto;
        max-height: 350px;
  
    }
}

.snap img {
    width: auto;
}

@media (min-width: 760px) {
    .snap img {
        max-width: 390px;
        max-height: 540px;
        border-radius: 10px;
        box-shadow:13px 5px 43px 4px rgba(255, 255, 255, .4)
    }

    .article img {
        width: auto;
        max-width: 630px;
        max-height: 440px;
        border-radius: 10px;
        box-shadow:13px 5px 43px 4px rgba(255, 255, 255, .4)
    }

    .sns img {
        width: auto;
        max-width: 360px;
        max-height: 450px;
        border-radius: 10px;
        box-shadow:13px 5px 43px 4px rgba(255, 255, 255, .4)
    }
}

.sns img:hover {
    box-shadow:13px 5px 43px 5px rgba(255, 255, 255, .55)
}

@media (max-width: 760px) {
    .snap .info, .sns .info, .movie .info, .article .info {
        margin-top: 20px;
        margin-bottom: 10px;
        line-height: 16px;
        font-size:11px
    }

    .article .info {
        margin-top: 30px;
        line-height:19px
    }
}

@media (min-width: 760px) {
    .snap .info, .sns .info, .movie .info, .article .info {
        margin-top: 30px;
        margin: 25px auto;
        margin-bottom: 5px;
        line-height: 20px;
        font-size:11.5px
    }

    .article .info {
        line-height: 20px;
        letter-spacing:1px
    }
}

.movie .info {
    margin-top: 25px;
    line-height: 20px;
    font-size:13px
}

.sns_text .category_type, .snap .category_type, .sns .category_type, .movie .category_type, .article .category_type {
    font-size: 10px;
    color: rgba(255, 255, 255, .51);
    margin-bottom:20px
}

.movie .category_type {
    margin-bottom: 40px
}

@media (max-width: 330px) {
    .article .category_type, .sns .category_type {
        margin-bottom: 10px
    }
}

@media (min-width: 330px) {
    .article .category_type, .sns .category_type {
        margin-bottom: 30px
    }
}

@media (max-width: 330px) {
    .movie .category_type {
        margin-bottom: 10px
    }
}

@media (min-width: 330px) {
    .movie .category_type {
        margin-bottom: 30px
    }
}

@media (max-width: 768px) {
    .link_button {
        font-size: 13px;
        width: fit-content;
        margin: 0 auto;
        background: #fff;
        height: 31px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10px 30px;
        text-align:center
    }
}

@media (min-width: 768px) {
    .link_button {
        font-size: 13px;
        width: fit-content;
        margin: 0 auto;
        background: #fff;
        height: 25px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 16px 38px;
        text-align:center
    }
}

.link_button:hover {
    opacity:.8
}

@media (max-width: 768px) {
    .link_button a {
        color: #000;
        font-size: 11px;
        text-decoration:none
    }
}

@media (min-width: 768px) {
    .link_button a {
        color: #000;
        font-size: 10px;
        text-decoration:none
    }
}

.container {
    display: flex;
    width: 100vw;
    height: 100%;
    overflow: hidden !important;
    background-attachment:fixed
}

.lane {
    flex: 1;
    position: relative;
    overflow: hidden!important;
    z-index:1
}

.lane:first-child {
    border-left:none
}

.item {
position: absolute;
left: 7%;
transform: translateX(-50%);
z-index: 2;
border-radius: 8px;
width: 86%;
overflow: visible;
background-attachment: fixed;
}

@media (max-width: 768px) {
    .item p {
        color: rgba(255, 255, 255, .74);
        margin-top: 5px;
        font-size:8px
    }
}

@media (min-width: 768px) {
    .item p {
        color: rgba(255, 255, 255, .74);
        margin-top: 5px;
        font-size:10px
    }
}

.item p:before {
    content: "- "
}

.item p:after {
    content: " -"
}

.category_type:before {
    content: "- "
}

.category_type:after {
    content: " -"
}

@media (max-width: 768px) {
    .container {
			overflow: hidden; 
        flex-wrap:wrap
    }

    .lane {
		overflow: hidden; 
        flex: 0 0 50vw;
        height:100%;
    }

    .item {
        width:90%;
			left:5%;
    }
}

.item img, .item video {
    width: 100%;
    height: auto;
    border-radius: 8px;

}

.item img:hover, .item video:hover {
    cursor: pointer;
    box-shadow:3px 3px 15px 3px rgba(255, 255, 255, .35)
}

@media (max-width: 768px) {
    .item img:hover, .item video:hover {
        box-shadow:3px 3px 10px 3px rgba(255, 255, 255, .3)
    }
}

iframe.youtube-16-9 {
    width: 100%;
    height: auto;
    aspect-ratio:16/9
}

.logo {
    position: absolute;
    top: 30px;
    width: 100%;
    text-align: center;
    z-index:99
}

.logo:hover {
    cursor:pointer
}

.logo img {
    width:250px
}

@media (max-width: 768px) {
    .logo img {
        width:200px
    }
}

.footer_promotion {
    position: absolute;
    bottom: 20px;
    width: 100%;
    color: #fff;
    text-align: center;
    letter-spacing: 1px;
    z-index: 97;
    font-size:12px
}

@media (max-width: 768px) {
    .footer_promotion {
        font-size:12px
    }
}

.footer_credit {
    color: #fff;
    text-align: center;
    letter-spacing: 1px;
    margin-top: 15%;
    font-size:13px
}

@media (max-width: 768px) {
    .footer_credit {
        font-size: 11px;
        margin-top: 80px;
        width: 90%;
        margin: 60px auto;
        margin-bottom: 60px;
    }
}

@media (min-width: 768px) {
    .footer_credit {
        color: #fff;
        text-align: center;
        letter-spacing: 1px;
        position: relative;
        top: -5%;
        justify-content: center;
        font-size:.8125rem
    }
}

.content_credit {
    margin: 15px auto;
    width: 100%;
    text-align: center;
}

.caption_overlay {
    z-index: 100;
    position: fixed;
    bottom: -100%;
    left: 0;
    overflow: scroll!important;
	  -webkit-overflow-scrolling: touch; 
    opacity: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transition: bottom .6s ease-out, opacity .4s ease-out;
    background:linear-gradient(to top, #031546, rgba(3, 21, 71, .88) 76.47%, rgba(98, 111, 145, .94) 89.5%, rgba(163, 170, 190, .9686274509803922) 97.9%, rgba(241, 241, 241, .87) 100%, rgba(225, 225, 225, 0));
}

@media (max-width: 768px) {
    .caption_overlay {
	    overflow: scroll!important;
	  -webkit-overflow-scrolling: touch; 
        background:linear-gradient(to top, #031546, rgba(3, 21, 70, .9) 82.35%, #909ab6 100%, rgba(225, 225, 225, .6) 100%, rgba(225, 225, 225, 0))
    }
}

.caption_overlay:hover {
    cursor:pointer;
}

.caption_overlay.active {
    bottom: 0;
    opacity: 1;
    pointer-events:auto;
		    overflow: scroll!important;
}

#intro {
    font-family: "Didot", "游明朝", "Yu Mincho", serif !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: #031546;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index:10000;
	overflow: hidden!important;
}

#intro.fadeout {
    opacity: 0;
	  visibility: hidden;
    pointer-events: none;
    transition:opacity 2.5s ease 2s;
}

#intro.slide-out {
	
	    pointer-events: none;
    -webkit-animation: introSlideOut 2.5s ease;
    animation:introSlideOut 2.5s ease;
}

.intro-text {
    overflow: hidden !important;
    margin-top: -50px;
    font-weight: 400;
    color: #fff;
    white-space: nowrap;
    text-align:center;
}

@media (max-width: 768px) {
  
    .title_sub {
		
        font-size:16px;
    }

    .title_intro {

		overflow:hidden;
        font-size:25px;
    }

    .credit_intro {
        font-size: 12px;
        margin-top:20px;
    }
}

@media (min-width: 768px) {
    

    .title_sub {
        font-size:25px;
    }

    .title_intro {
        font-size:35px;
    }

    .credit_intro {
        font-size: 12px;
        margin-top:40px;
    }
}

@media (max-width: 768px) {
    .title_sub, .title_intro, .credit_intro {
   
        letter-spacing: 2px;
        opacity: 0;
        animation:textFadeIn 1.5s forwards;
    }
}

@media (min-width: 768px) {
    .title_sub, .title_intro, .credit_intro {
        line-height: 30px;
        letter-spacing: 2px;
        opacity: 0;
        animation:textFadeIn 1.5s forwards;
    }
}

.title_sub {
    animation-delay:.2s;
}

.title_intro {
    animation-delay:1s;
}

.credit_intro {
    animation-delay:2s;
}

@keyframes textFadeIn {
    to {
        opacity:1;
    }
}

@keyframes introSlideOut {
    0% {
        opacity:1;
    }

    100% {
        opacity: 0;
    }
}
