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

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


body{
    margin: 0;
    padding: 0;
    background: url("../images/taitokuji/konosuba_bg_noise.png") #09244f;
    font-family: 'Noto Sans JP', sans-serif;
    }

header,main{font-family: "Noto Serif JP", serif;}

img{max-width: 100%;}

p,li,span,th,td{font-size: 1em; line-height: 1.6em; font-weight: 600;}

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) {
    p,li,span,th,td{font-size: 0.85em;}
    .large{font-size: 1.2em;}
    .small{font-size: 0.65em;}
    .copy{font-size: 0.65em;}
    .sp{display: block;}
    .sp_none{display: none;}    
    }

@media only screen and (max-width: 400px) {
    p,li,span,th,td{font-size: 0.75em;}
    .large{font-size: 1.1em;}
    .small{font-size: 0.6em;}
    .copy{font-size: 0.6em;}
    }


/*---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/konosuba_naviLine.png");
    background-repeat: no-repeat;
    background-size: 240px auto;
    background-position: center bottom;
    }

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

#nav > a {
	width: 4.125em;
	height: 4.125em;
    margin: 0 0 0 auto;
	text-align: left;
	text-indent: -9999px;
	background-color: #e5006e;
	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(0,0,0,0.85);
	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: #FFF;
	}
	
#nav > ul > li:not( :last-child ) > a {border-right: none;}
#nav > ul > li > a:hover {color: #e5006e;}



/*---Contents---*/
main{padding: 0;}
main section{margin-bottom: 15%;}

/*h2*/
h2 {
    max-width: 640px;
    margin: 0 auto 1em;
    padding: 0.5em 0;
    font-size: 2em;
    color: #FFF;
    text-align: center;
    text-shadow: 0px 0px 8px rgba(58, 170, 234, 1),0px 0px 10px rgba(58, 170, 234, 1);
    background-image: url("../images/taitokuji/konosuba_h2_hana_01.png"),url("../images/taitokuji/konosuba_h2_hana_02.png");
    background-repeat: no-repeat;
    background-position: left center, right center;
    background-size: contain;
    }

    #Lineup h2, #SPEC h2{max-width: 480px;}
    #Illustration h2{margin: 0 auto;}

@media only screen and (max-width: 860px) {h2 {max-width: 540px; font-size: 1.6em;} #Lineup h2, #SPEC h2{max-width: 380px;}}
@media only screen and (max-width: 480px) {h2 {max-width: 400px; font-size: 1.2em;} #Lineup h2, #SPEC h2{max-width: 260px;}}
@media only screen and (max-width: 400px) {h2 {max-width: 380px; margin: 0 auto 0.5em;}}


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

.PC{display: block;}
.Tablet{display: none;}

#mainVisual .logo{
    width: 13%;
    max-width: 240px;
    top: 3%;
    left: 3%;
    position: absolute;
    z-index: 9999;
    }

@media only screen and (max-width: 860px) {
    .PC{display: none;}
    .Tablet{display: block;}
    #mainVisual .logo{width: 22.5%;}
    }

/*main_contents*/
#kujiContents{
    max-width: 1480px;
    margin: auto;
    padding-top: 2.5%;
    padding-bottom: 1em;
    background: url("../images/taitokuji/konosuba_bg_noise.png"), linear-gradient(to bottom,  rgba(62,114,174,1) 0%,rgba(149,200,229,1) 20%,rgba(170,197,233,1) 40%,rgba(137,179,229,1) 55%,rgba(20,74,139,1) 75%,rgba(39,52,99,1) 85%,rgba(14,29,64,1) 100%);
    }

.kuji{
    max-width: 1480px;
    margin: 0 auto 8%;
    padding: 0;
    background-image: url("../images/taitokuji/konosuba_date_frame_01.webp"), url("../images/taitokuji/konosuba_date_frame_02.webp");
    background-repeat: no-repeat, no-repeat;
    background-position: left center, right center;
    background-size: contain;
    }

.kuji > div{margin: 0 15%; padding: 8% 0;}
.kuji div p:first-child{max-width: 960px;}
.kuji div p:nth-child(2){width: 55%; max-width: 510px;}


@media only screen and (max-width: 480px) {
    .kuji article{background-size: 15%;}
    .kuji div p{margin: 0;}
    .kuji article > div{margin: 0 13.5%; padding: 3em 0 13.5%;}
    }


/*link*/
.LinkButton a {
    background-color: #e5006e;
    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: 2em;
    font-weight: 900;
    border-radius: 50px;
    border-bottom: 10px solid #b30056;
    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: 860px) {.LinkButton a {padding: 0.35em 1em; font-size: 1.8em;}}
@media only screen and (max-width: 480px) {
    .LinkButton a {border-bottom: 5px solid #b30056; padding: 0.35em 1em; font-size: 1.2em;}
    .LinkButton a:active {transform: translateY(5px);}
    }


/*Lineup Swiper*/
#Lineup{
    max-width: 1480px;
    margin: 2.5% auto 0;
    padding: 0 0 10%;
    background-image: url("../images/taitokuji/konosuba_carousel_frame_01.webp"), url("../images/taitokuji/konosuba_carousel_frame_02.webp");
    background-repeat: no-repeat, no-repeat;
    background-position: top 2em left, top 2em right;
    background-size: auto 90%;
    }

.swiper {width: 70%; max-width: 960px;}
.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: #e5006e!important;}


@media only screen and (max-width: 860px) {#Lineup{background-size: auto 80%;}}
@media only screen and (max-width: 480px) {#Lineup{background-position: top 1.5em left, top 1.5em right; background-size: auto 65%;}}


/*illustration*/
#Illustration p{max-width: 1480px; margin: 0 auto;}
@media only screen and (max-width: 480px) {#Illustration{margin-top: -25%;}}


/*kuji Detail*/
#Kuji_Detail{max-width: 1390px; margin: 0 auto 15%; padding: 0 2.25em;}

#Kuji_Detail > div{margin-bottom: 2em;}

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

    .kuji_A h3{background-image: url("../images/taitokuji/konosuba_lineup_A_h3.webp");}
    .kuji_B h3{background-image: url("../images/taitokuji/konosuba_lineup_B_h3.webp");}
    .kuji_C h3{background-image: url("../images/taitokuji/konosuba_lineup_C_h3.webp");}
    .kuji_D h3{background-image: url("../images/taitokuji/konosuba_lineup_D_h3.webp");}
    .kuji_LH h3{background-image: url("../images/taitokuji/konosuba_lineup_LH_h3.webp");}


#Kuji_Detail p + p.small{margin: -0.5em 0.5em 0; text-align: center;}

.kuji_A p, .kuji_B p, .kuji_C p{color: #263a66;}
.kuji_D p, .kuji_LH p{color: #FFF;}


.kuji_info{
    margin: 0;
    padding: 0;
    background-image: url("../images/taitokuji/konosuba_lineup_frame_L.png"), url("../images/taitokuji/konosuba_lineup_frame_R.png");
    background-repeat: repeat-y;
    background-size: 5.1%;
    background-position: top left, top right 0.5px;
    }

    .kuji_LH .kuji_info{background-image: url("../images/taitokuji/konosuba_lineupLH_frame_L.png"), url("../images/taitokuji/konosuba_lineupLH_frame_R.png");}

.kuji_info > div{margin: 0 2.5%; padding: 1em; background-color: rgba(255,255,255,0.15);}
.kuji_LH .kuji_info > div{padding: 1em 0 0;}
.kuji_LH .kuji_info > div > p, .kuji_LH .kuji_info > div > .FlexBox{margin: 0 1.25em;}

.kuji_info > div > p{margin: 0; text-align: center;}
.kuji_info + p{width: 99.99%; margin: 0; padding: 0;}

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


.kuji_info h4{
    width: 90%;
    max-width: 1260px;
    margin: 1em auto;
    padding: 1.5em 0;
    font-size: 1.6em;
    color: #FFF;
    text-align: center;
    text-shadow: 0px 0px 8px rgba(255, 0, 124, 1),0px 0px 10px rgba(255, 0, 124, 1);
    background-image: url("../images/taitokuji/konosuba_h4_border.png"),url("../images/taitokuji/konosuba_h4_border.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center, bottom center;
    }

    .kuji_info h4 br{display: none;}
    @media only screen and (max-width: 860px) {.kuji_info h4{font-size: 1.4em;} .kuji_info h4 br{display: block;}}
    @media only screen and (max-width: 480px) {.kuji_info h4{font-size: 0.95em;}}
    

.LH_movie{
    margin: 0 0.1em;
    padding: 45% 0 1em 0;
    background-image: url("../images/taitokuji/konosuba_lineup_LH_detail_01.webp");
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    }

.LH_movie .movie{width:75% !important; padding-bottom: 42.25%; margin: 0 0 0 1.6em !important;}
.toad{width: 23.5%; right: 0; bottom: -1em; position: absolute;}

.detail_photo01{max-width: 520px; margin: 1em auto;}
.detail_photo02{width: 50%; max-width: 280px; margin: 1em auto;}

@media only screen and (max-width: 860px) {#Kuji_Detail{padding: 0 1.25em;} .FlexBox{display: block;} .LH_movie .movie{margin: 0 0 0 1em !important;}}
@media only screen and (max-width: 480px) {
    #Kuji_Detail{padding: 0 0.75em;}
    .kuji_A .kuji_info + p{margin: -3.5px 0 0;}
    .kuji_info + p{margin: -3px 0 0;}
    }



/*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;
    }



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

#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 #FFF;
    }

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

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

table ul{margin: 0.25em 0 0.25em 1em; padding: 0;}

.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 #FFF;}
    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");}

.copy{margin: 0; color: #FFF;}

@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;}
    }



