﻿@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&family=Noto+Serif+JP:wght@500&display=swap');


body{
    margin: 0;
    padding: 0;
    color: #d6a17b;
    background-color: #032018;
    font-family: 'Noto Sans JP', sans-serif;
    }


img{max-width: 100%;}

p,li,span,th,td{line-height: 1.6em;}

a{display: block; outline: none; text-decoration: none;}
a:hover{
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;
	}

.small{font-size: 0.8em;}
.large{font-size: 1.6em;}
.copy{font-size: 0.8em; text-align: center;}
.sp{display: none;}
.sp_none{display: block;}
.layout{margin: 0 1em;}

@media only screen and (max-width: 480px) {
    .large{font-size: 1.2em;}
    .small{font-size: 0.7em;}
    .copy{font-size: 0.7em;}
    .sp{display: block;}
    .sp_none{display: none;}    
    }


/*---NAVI---*/
header{
    width: 100%;
    position: fixed;
    z-index: 999;
    font-family: 'Noto Serif JP', serif;
    }
	
#nav li:first-child{
    margin-bottom: 1em;
    padding-bottom: 1.5em;
    background-image: url("../images/taitokuji/miabyss_naviLine.png");
    background-repeat: no-repeat;
    background-size: 240px auto;
    background-position: center bottom;
    }

#nav li:first-child img{
	width: 100%;
	max-width: 140px;
	height: auto;
	}

#nav > a {
	width: 4.125em;
	height: 4.125em;
    margin: 0 0 0 auto;
	text-align: left;
	text-indent: -9999px;
	background-color: #e95613;
	box-shadow: 0 0 0 3px #FFF inset;
	position: relative;
	z-index: 9999;
	}
	
#nav > a:before, #nav > a:after {
	position: absolute;
	border: 2px solid #fff;
	top: 35%;
	left: 25%;
	right: 25%;
	content: '';
	}
	
#nav > a:after {top: 60%;}
#nav:not( :target ) > a:first-of-type, #nav:target > a:last-of-type {display: block;}
	
#nav > ul {
	margin-top: -4.125em;
	padding-top: 4.125em;
	height: 100vh;
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	background: rgba(54,46,43,0.95);
	z-index: 999;
	}
	
#nav:target > ul {display: block;}

#nav > ul > li {width: 100%;}
	
#nav > ul > li > a {
	font-size: 1.1em;
	line-height: 1.8em;
	height: auto;
	text-align: center;
	padding: 0.45em 0.25em;
    color: #ece5d9;
	}
	
#nav > ul > li:not( :last-child ) > a {border-right: none;}
#nav > ul > li > a:hover {color: #f4a000;}



/*---Contents---*/
main{padding: 0;}

section{padding-bottom: 10em;}

section:before {
    content: "";
    display: block;
    height: 100px;
    margin-top: -100px;
    visibility: hidden;
    }


/*h2*/
h2 {
    width: 100%;
    margin: 0 0 2em 0;
    height: 0;
    padding-top: 80px;
    background-repeat: no-repeat;
    background-size: contain !important;
    overflow: hidden;
    display: block;
    background-position: top center;
    }

    #Lineup h2{background-image: url("../images/taitokuji/miabyss_h2_carousel.png");}
    #PV h2{background-image: url("../images/taitokuji/miabyss_h2_pv.png");}
    #Illustration h2{background-image: url("../images/taitokuji/miabyss_h2_illust.png");}
    #Kuji_Detail h2{background-image: url("../images/taitokuji/miabyss_h2_lineup.png");}
    #SPEC h2{background-image: url("../images/taitokuji/miabyss_h2_spec.png");}
    #shareBox h2{background-image: url("../images/taitokuji/miabyss_h2_share.png");}

@media only screen and (max-width: 480px) {h2{width: 94%; padding-top: 60px; margin: 0 auto 2em;}}


/*main_visual*/
#mainVisual > p{margin: 0; padding: 0;}

#mainVisual div{max-width: 1000px; margin: 2.5% auto; padding: 1em;}
#mainVisual div p:nth-child(2) img{width: 90%;}
#mainVisual div .small{margin-left: 25.5%; color: #fff7f2;}

@media only screen and (max-width: 480px) {#mainVisual div p{margin: 0.25em 0;}}


/*link*/
.LinkButton a {
    background-color: #e95613;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 1050px;
    padding: 0.5em 1em;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-size: 2.5em;
    font-weight: 400;
    border-radius: 50px;
    border-bottom: 10px solid #93380e;
    overflow: hidden;
    }

.LinkButton a img{width: 55%;}

.LinkButton a:active {
    transform: translateY(10px);
    box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
    border-bottom: none;
    }

.LinkButton a:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-image: linear-gradient( 130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
    animation: shine 3s infinite;
    }

@keyframes shine {
    33% {left: 100%;}
    100% {left: 100%;}
    }

.LinkButton a:after {
    content: '';
    width: 15px;
    height: 15px;
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    transform: rotate(45deg) translateY(-48%);
    position: absolute;
    top: 50%;
    right: 30px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
    }

@media only screen and (max-width: 480px) {.LinkButton a img{width: 75%;}}


/*Lineup Swiper*/
#Lineup{padding: 0 1em 10em;}

.swiper {width: 100%; max-width: 1000px;}
.swiper-slide img {height: auto; width: 100%;}

.slider{margin-bottom: 0.5em;}

.slider-thumbnail {height: 20vh;}
.slider-thumbnail .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: .5;
    overflow: hidden;
    }

.slider-thumbnail .swiper-slide-thumb-active {opacity: 1;}
.swiper-button-next, .swiper-button-prev{color: #e95613!important;}


/*PV*/
#PV > div{max-width: 1025px; margin: auto; padding: 0 1em;}

.movie {
    width: 100% !important;
    margin: 0 !important;
    padding-bottom: 56.25%;
    position: relative;
    }

.movie iframe {
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    position: absolute;
    }


/*illustration*/
.caption, .search{margin: 1em auto 2em;}
.caption{max-width: 860px; text-align: center;}
.search{max-width: 580px; padding: 1em 1.5em; border-radius: 10px; background: rgba(0,0,0,0.5);}

.caption p:first-child{font-size: 1.1em;}

.search p{
    margin: 0.25em 0;
    padding: 0.65em 0 0.8em 35px;
    font-size: 0.7em;
    color: #fff7f2;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 30px auto;
    }

.search p:first-child{background-image: url("../images/taitokuji/miabyss_illust_touch.png");}
.search p:last-child{background-image: url("../images/taitokuji/miabyss_illust_comment.png");}


.comcept article{position: relative;}

.art_title{
    width: 100%;
    max-width: 250px;
    padding: 0.5em 1em;
    display: flex;
    position: absolute;
    top: 10px;
    left: 10px;
    background: #362e2b;
    z-index: 2;
    }

.art_title h5{flex: 0 1 90%; margin: 0; padding: 0; font-size: 1em; color: #FFF;}
.art_title p{flex: 0 1 10%; margin: 0;}

.art{overflow-x: auto; z-index: 1;}
.art img{max-width: inherit; height: 700px;}

@media only screen and (max-width: 860px) {.art img{height: 600px;}}
@media only screen and (max-width: 480px) {.art img{height: 500px;}}


/*modal*/
.modal-span {cursor: pointer; text-decoration: underline;}

.modal-outer {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10000;
    }

.modal-inner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 95%;
    max-width: 460px;
    max-height: 300px;
    background: #ece5d9;
    padding: 10px 20px;
    border-radius: 20px;
    }

.show {display: block;}
.modal-inner-header {margin-bottom: 25px;}

.modal-inner-container{
    margin-top: 10%;
    color: #9e7b63;
    font-family: 'Noto Serif JP', serif;
    }

.modal-inner-container h6{
    margin: 0;
    padding: 1.5em 1em 2em;
    font-size: 1.1em;
    font-weight: normal;
    text-align: center;
    background-image: url("../images/taitokuji/miabyss_comceptLine.png");
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: contain;
    }

.modal-inner-container p{font-size: 0.9em; margin: 1em;}

.close-btn-top {
    cursor: pointer;
    color: #d36938;
    font-size: 1.5em;
    position: absolute;
    top: 5px;
    right: 10px;
    }


/*kuji Detail*/
#Kuji_Detail{padding: 0 1em;}

.kuji_wrap{
    max-width: 1380px;
    margin: 0 auto 10em;
    padding: 3em 0 1.5em;
    border: double 10px #a68269;
    background-image: url("../images/taitokuji/miabyss_kuji_bg.jpg");
    background-size: auto;
    background-color: #000;
    }

.kuji_wrap article{padding: 1.5em 1.5em 5em;}


.kujiInfo{display: flex; flex-wrap: wrap; align-items: center;}
.kujiInfo > p{flex: 0 1 12.5%;}
.kujiInfo > p:last-child{text-align: center;}
.kujiInfo div{flex: 0 1 73%; margin-right: 2%;}

.LH .kujiInfo > p{flex: 0 1 12.5%;}
.LH .kujiInfo div{flex: 0 1 87.5%; margin-right: 0;}

@media only screen and (max-width: 860px) {
    .kujiInfo{align-items: flex-end;}
    .kujiInfo > p:first-child{flex: 0 1 auto; max-width: 130px; order: 1;}
    .kujiInfo > p:last-child{flex: 0 1 auto; max-width: 85px; margin-left: 0.5em; padding-bottom: 0.25em; order: 2;}
    .kujiInfo div{flex: 0 1 100%; margin-right: 0; order: 3;}
    .LH .kujiInfo div{flex: 0 1 100%; margin-right: 0;}
    }

.kujiInfo h3{
    margin: 0;
    padding: 0 0.75em 0.5em;
    font-size: 1.8em;
    border-bottom: solid 1px #d6a17b;
    }

    .kujiInfo h3 > span{font-size: 0.5em;}

.kujiInfo h3 + p{margin-left: 1.5em;}

@media only screen and (max-width: 480px) {
    .kujiInfo h3{font-size: 1.4em;}
    .kujiInfo h3 + p{margin-left: 1em; font-size: 0.8em;}
    }

.kuji_wrap h4{
    margin: 3em 1em 1em;
    padding: 0.25em 0.5em 0.5em;
    border-left: solid 10px #a68269;
    border-bottom: solid 1px #a68269;
    }

.kuji_wrap h5{
    margin: 0 0 1.5em;
    padding: 0.5em 1em 0.75em;
    border-radius: 30px;
    background: linear-gradient(to right, rgba(126,106,89,1) 0%,rgba(126,106,89,0) 100%);
    }


@media only screen and (max-width: 480px) {
    .kuji_wrap h4{margin: 3em 1em 1em 0;}
    .kuji_wrap h5{margin: 2em 0 1.5em;}
    }


.FlexBox{display: flex; flex-wrap: wrap; align-items: center;}
.block02 > div{flex: 0 1 48%; margin: 0.5em 1%;}

@media only screen and (max-width: 860px) {
    .break{display: block;}
    .contBox{display: grid!important;}
    .cb_01{order: 2;}
    .cb_02{order: 1;}
    }

.View{overflow: hidden; background: #FFF;}
.View div{height: 725px;}
    @media only screen and (max-width: 1300px) {.View div{height: 625px;}}
    @media only screen and (max-width: 1100px) {.View div{height: 525px;}}
    @media only screen and (max-width: 860px) {.View div{height: 560px;}}
    @media only screen and (max-width: 480px) {.View div{height: 360px;}}


.focus p:first-child{flex: 0 1 100%;}
.focus p{flex: 0 1 46%; margin: 1em 2%;}

.BC_image{
    background-image: url("../images/taitokuji/miabyss_kuji_BC_bg.webp");
    background-position: center center;
    background-size: auto;
    background-repeat: no-repeat;
    }
.BC_image .FlexBox{max-width: 1200px; margin: 0 auto; padding-bottom: 5em;}
.BC_image p{text-align: center;}

.BC_image .FlexBox div:last-child{padding-top: 3em;}
.BC_image .FlexBox div:last-child p{margin-top: 1.5em;}


@media only screen and (max-width: 860px) {.BC_image{background-size: 100% 70%;}}
@media only screen and (max-width: 480px) {
    .BC_image{background-size: auto;  background-position: bottom center;}
    .BC_image .FlexBox{display: block; padding-bottom: 1.5em; margin-bottom: 5em;}
    .BC_image .FlexBox div:last-child{padding-top: 1.5em; padding: 1em;}
    }



/*---SPEC Share---*/
#SPEC{padding: 1em;}

#Spec h3, #shareBox h3 {
    width: 100%;
    margin: 0;
    height: 0;
    padding-top: 8%;
    background-repeat: no-repeat;
    background-size: contain !important;
    overflow: hidden;
    display: block;
    background-position: top center;
    }

    #Spec h3{background-image: url("../images/taitokuji/gochiusa_spec_h3.png");}
    #shareBox h3{background-image: url("../images/taitokuji/gochiusa_share_h3.png");}

table{
    width: 100%;
    max-width: 860px;
    margin: 2em auto 0;
    border: solid 1px #945f4b;
    }

th,td{
    padding: 1em;
    border-bottom: solid 1px #945f4b;
    }

    th{width: 180px; font-weight: normal; border-right: solid 1px #945f4b; background: rgba(0,0,0,0.25);}
    td > p{margin: 0;}

table ul{margin: 0.25em 0 0.25em 1em; padding: 0;}
table ul > li:first-child{padding-bottom: 0.75em;}

.souryou a{padding: 0.5em 0; font-size: 0.8em; color: #f3de4e;}
.souryou a:hover{color: #f3c34e;}


@media only screen and (max-width: 1100px) {#Spec h3, #shareBox h3 {padding-top: 100px;}}

@media only screen and (max-width: 900px) {
    th, td{display: block;}
    th{width: 100%; padding: 0.75em 1em; border-right:none; border-bottom: dotted 1px #945f4b;}
    td{padding: 1.25em 1em;}
    tr:last-child > td{border-bottom: none;}
    }


/*----SNS----*/
#shareBox {
    margin: 0 auto 10em!important;
    padding-top: 5%;
    padding-bottom: 5%;
	text-align: center;
	position: relative;
	}

	.shareButtons {
		position: absolute;
        top: 100%;
		bottom: 0;
		left: 50%;
        transform: translateY(-50%) translateX(-65%);
		display: flex;
		justify-content: space-between;
		width: 240px!important;
		height: auto;
		margin: 0px auto!important;
		padding: 0 0 35px!important;
		clear: none;
		z-index: 888;
		}

	.shareButtons > div> a {
		display: block;
		width: 40px!important;
		height: 40px!important;
        margin: 0 2em;
		background-size: contain;
		background: no-repeat top center;
		}

	.shareButtons>div.fbBtn a {background-image: url("https://www.taito.co.jp/Content/images/sns_ico_01_fb.svg");}
	.shareButtons>div.tweetBtn a {background-image: url("https://www.taito.co.jp/Content/images/sns_ico_02_tw.svg");}
	.shareButtons>div.lineBtn a {background-image: url("https://www.taito.co.jp/Content/images/sns_ico_03_line.svg");}

@media only screen and (max-width: 900px) {#shareBox {margin: 0 auto 10em!important; padding-top: 8%; padding-bottom: 10%;}}
@media only screen and (max-width: 480px) {#shareBox {padding-bottom: 15%;}}



/*----------FOOTER------------*/
footer{
	padding: 2em 0 7em;
	color: #FFF;
	display: block;
	background: #000;
    }

footer > div{
	width: 100%;
	max-width: 1480px;
	margin: auto;
	padding: 0 1.5em 1em;
	}

   
    footer p:first-child{font-size: 0.8em; margin-bottom: 3em;}


	ul.taitoLink{margin: 1em 0 0; padding: 0;}
	
	ul.taitoLink li{
		font-size: 1.0em;
		margin-right: 1.0em;
		display: inline-block;
		}

    ul.taitoLink + p{max-width: 300px; font-weight: bold; padding-bottom: 2em;}
	
footer p:last-child{
	margin-top: 2em;
    padding-top: 2em;
	font-size:0.8em;
	color: #FFF;
	text-align: center;
    border-top: solid 1px #828282;
	}

footer a{color: #FFF;}
footer a:hover{color: #7ecef4;}



@media only screen and (max-width: 900px) {ul.taitoLink li{font-size: 0.9em;}}
@media only screen and (max-width: 480px) {
    footer{padding: 10% 0;}
    ul.taitoLink li{padding: 0.25em 0.5em; display: block;}
    }



