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

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;500&family=Yusei+Magic&display=swap');

html {scroll-behavior: smooth;}

body{
    margin: 0;
    padding: 0;
    background-color: #fbf3ea;
    background-image: url("../images/mochizoo/circle.png");
    background-repeat: repeat-y;
    background-position: top center;
    background-size: 100%;
    }

img{max-width: 100%;}

a{outline: none; text-decoration: none; display: block;}

:hover{
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;
	}

.bold{font-weight: bold;}
.center{text-align: center;}


h3, h4, p, dt, dd, .modal_box{font-family: 'Kiwi Maru', serif; color: #563f25;}
header li, h2,.btn{font-family: 'Yusei Magic', sans-serif;}

p, dt, dd{font-size: 1em; line-height: 1.4em;}

@media only screen and (max-width: 480px) {
    p, dt, dd{font-size: 0.9em; line-height: 1.2em;}
    }



/*--Contents animation--*/
.fadeUPTrigger{opacity: 0;}

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

    @keyframes fadeUpAnime{
        from {opacity: 0; transform: translateY(100px);}
        to {opacity: 1; transform: translateY(0);}
        }



/*nav*/
.header{
    width: 100%;
    height: 65px;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
    }

    .header_inner {position: relative; padding: 15px;}


    .nav {
        position: fixed;
        left: -320px;
        top: 0;
        width: 320px;
        height: 100vh;
        padding-top: 80px;
        background-color: #FFF;
        transition: all .6s;
        z-index: 999;
        overflow-y: auto;
        }
    
    .hamburger {
        position: absolute;
        left: 0;
        top: 0;
        width: 70px;
        height: 70px;
        cursor: pointer;
        z-index: 9999;
        background: #FFF;
        }
    
    .nav_list {
        margin: 0;
        padding: 0;
        list-style: none;
        }
    
    .nav_item {
        text-align: center;
        padding: 0 14px;
        }

    .nav_item:first-child img{width: 150px; margin: 0 auto 1.5em;}
    
    .nav_item a {
        display: block;
        padding: 0.75em 0;
        border-bottom: 1px dotted #83542f;
        text-decoration: none;
        color: #83542f;
        }
    
          .nav_item a:hover {color: #FFF; background-color: #83542f;}
    
    .hamburger_border {
        width: 36px;
        height: 2px;
        position: absolute;
        left: 17px;
        background-color: #83542f;
        transition: all .6s;
        }
    
        .hamburger_border_top {top: 20px;}
        .hamburger_border_center {top: 30px;}
        .hamburger_border_bottom {top: 40px;}
    
    .red_bg {
        position: fixed;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        z-index: 100;
        background-color: #FFF;
        opacity: 0;
        visibility: hidden;
        transition: all .6s;
        cursor: pointer;
        }

    /*open*/
    .nav-open .nav {left: 0;}
    .nav-open .red_bg {opacity: .8; visibility: visible;}
    .nav-open .hamburger_border_top {transform: rotate(45deg); top: 30px;}
    .nav-open .hamburger_border_center {width: 0; left: 50%;}
    .nav-open .hamburger_border_bottom {transform: rotate(-45deg); top: 30px;}


    @media only screen and (max-width: 490px) {.nav {left: -100vw; width: 100vw;}}


/*-------Contents--------*/
main{padding-bottom: 5em;}

/*Logo*/
#mainVisual{
    width: 100%;
    margin: 0;
    padding: 0;
    background-image: url("../images/mochizoo/mainVisual_BG.webp");
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 90%;
    position: relative;
    }

.Logo{
    width: 800px;
    height: 800px;
    position: absolute;
    top: -400px;
    left: -400px;
    background-color: #FFF;
    border-radius: 50%;
    }

h1{
	width: 100%;
    margin: 0;
	height: 0;
	padding-top: 200px;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
    background-image: url("../images/mochizoo/logo.jpg");
	background-position: top center;
    position: absolute;
    right: -150px;
    bottom: 150px;
    }


#mainVisual p{
    width: 50%;
    padding-top: 15%;
    padding-bottom: 20%;
    margin: 0 8vw 0 auto;
    }



@media only screen and (max-width: 860px) {
    #mainVisual{background-size: 95%;}
    
    .Logo{
    width: 500px;
    height: 500px;
    top: -250px;
    left: -250px;
    }
    
    h1{
    padding-top: 120px;
    right: -110px;
    bottom: 90px;
    }
    
    #mainVisual p{width: 60%;}
    }

@media only screen and (max-width: 1400px) {
    .ComicArchives #mainVisual{background-position: bottom right; background-size: 100% 85%;}

    .ComicArchives .Logo{
    width: 450px;
    height: 450px;
    top: -225px;
    left: -225px;
    }
    
    .ComicArchives h1{
    padding-top: 100px;
    right: -95px;
    bottom: 75px;
    }

    .ComicArchives #mainVisual p{width: 75%; padding-top: 50%; margin: 0 6vw 0 auto;}
    }
    
@media only screen and (max-width: 600px) {
    #mainVisual{background-position: bottom right; background-size: 100% 85%;}

    .Logo{
    width: 450px;
    height: 450px;
    top: -225px;
    left: -225px;
    }
    
    h1{
    padding-top: 100px;
    right: -95px;
    bottom: 75px;
    }

    #mainVisual p{width: 75%; padding-top: 50%; margin: 0 6vw 0 auto;}
    }

/*Details*/
.Contents{width: 100%; padding-top: 5em;}

.Contents section{margin: 2em 0; padding-bottom: 10em;}
section#NEWS, section#CHARACTER, section#X_widget{max-width: 860px; margin: auto; padding: 0 2em 10em;}
section#ITEM, section#shareBox{max-width: 1580px; margin: auto;}
section#OMIYAGE{max-width: 1580px; margin: auto; padding: 0 1em 10em;}

.ComicArchives .Contents{width: 100%; padding-top: 0;}
.ComicArchives .Contents section{margin: 0 0 2em; padding-bottom: 10em;}


h2{
    margin: 0;
    padding: 0 1em;
    font-size: 1.8em;
    line-height: 2em;    
    color: #8bc012;
    text-align: center;
    }

h2 span{position: relative;}
h2 span:before{position: absolute; top: -10px; left: -80px; content: url("../images/mochizoo/h2_before.png");}
h2 span:after{position: absolute; top: 10px; right: -80px; content: url("../images/mochizoo/h2_after.png");}


h3{
    margin: 0.5em 0 1em;
    padding: 0;
    font-size: 1em;
    line-height: 1.6em;
    font-weight: normal;
    }

    @media only screen and (max-width: 860px) {h3{font-size: 0.9em;}}

h4{
    margin: 0;
    padding: 1em;
    font-size: 1em;
    line-height: 1.4em;
    background-image: url("../images/mochizoo/h4_borderBG.png");
    background-repeat: repeat-x;
    background-position: left bottom;
    background-size: 193px 8px;
    }

    #CHARACTER h4{padding: 1em 0.5em!important; text-align: center;}
    .Archives h4{font-size: 0.9em; margin: 0 0 0.5em 0!important; text-align: center;}

    @media only screen and (max-width: 480px) {#CHARACTER h4{font-size: 0.9em; padding: 1em 0;}}



.btn{
    width: 100%;
    max-width: 300px;
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: block;
    padding: 1em;
    margin-bottom: 1em;
    cursor: pointer;
    user-select: none;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    }

a.btn-gradient {
    color: #fff;
    border-radius: 0;
    background-color: #8bc012;
    border-radius: 30px;
    }


a.btn-gradient span:first-child {position: relative; z-index: 1;}
a.btn-gradient:hover {background: #4fc012; color: #fff;}

.arrow {
    display: inline-block;
    vertical-align: middle;
    color: #FFF;
    line-height: 1;
    width: 0.5em;
    height: 0.5em;
    border: 0.2em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateX(-25%) rotate(45deg);
    position: absolute;
    top: 45%;
    right: 15px;
    z-index: 2;
    }

    #COMICS .btn{margin: 1em auto 0 auto;}
    #ITEM .btn,.omyDetail .btn{margin: 1em auto; padding: 0.25em 0.25em 0.35em; max-width: 250px; font-weight: 500;}
    #ITEM .arrow,.omyDetail .arrow {top: 42.5%;}
    #X_widget .btn{margin: 1em auto 0;}

@media only screen and (max-width: 480px) {a.btn-gradient{font-size: 1em;}}



/*NEWS*/
#NEWS article{
    margin-top: 2em;
    padding: 1em 2em;
    border-radius: 10px;
    background-color: #FFF;
    background-image: url("../images/mochizoo/news_kumamochi.png");
    background-repeat: no-repeat;
    background-position: right -37px bottom -53px;
    }
#NEWS dl{display: flex;}
#NEWS dd{margin-left: 1.5em;}

@media only screen and (max-width: 480px) {
    #NEWS article{padding: 1em 1.5em; background-size: 60px auto; background-position: right -20px bottom -33px;}
    #NEWS dl{display: block;}
    #NEWS dd{margin-top: 0.5em; margin-left: 0;}
    }


/*CHARACTER*/
.charaList{margin-top: 2em; display: flex; flex-wrap: wrap; justify-content: space-around;}
.charaList article{flex: 0 1 25%; margin: auto 2%; position: relative;}
.charaList article p{text-align: center;}
.charaList article p > img{width: 90%;}
.charaList article p.re > img{width: 100%;}
h4 + p{font-size: 0.9em; text-align: left;}

.new{width: 60px; position: absolute; top: 0; left: -30px;}

@media only screen and (max-width: 860px) {.new{width: 50px; top: 0; left: -25px;}}

@media only screen and (max-width: 480px) {
    .charaList{justify-content: flex-start;}
    .charaList article{flex: 0 1 44%; margin: 0.5em 3%;}
    .new{width: 40px;  left: -15px;}
    }


/*COMICS*/
#COMICS{background: url("../images/mochizoo/comics_BG.jpg");}
section#COMICS > div{padding-top: 5em; max-width: 860px; margin: auto;}
#COMICS h2 + p{margin: 2em 1em 0;}


/*swiper*/
.swiper-container{width: 100%; max-width: 860px; margin: auto; padding: 2em 0;}

.swiper-container .swiper-slide {background: #FFF;}
.swiper-container .swiper-slide-active img{opacity: 1!important;}
.swiper-container .swiper-slide img{
    max-width: 100%;
    width: 100%;
	height: auto;
	opacity: 0.4;
	}

.swiper-container [class^="swiper-button-"]{color: #8bc012;}

.Archives{padding: 3em 1em 0; display: flex; flex-wrap: wrap;}
.Archives > div{flex: 0 1 23%; margin: 0.5em 1%; cursor: pointer;}


.modal_open{display: block;}
 
.modal_box {
    position: fixed;
    z-index: 7777;
    display: none;
    width: 80%;
    max-width: 840px;
    margin: 25px 0 0;
    padding: 0 0 2em;
    text-align: center;
    background: #fff;
    box-sizing: border-box;
    }

.modal_box > p{max-width: 600px; margin: auto;}
 
.modal_close {
    position: absolute;
    top: -35px;
    right: 0;
    display: block;
    width: 30px;
    height: 30px;
    color: #000;
    text-align: center;
    background: #e6e6e6;
    z-index: 9999;
    font-family: Arial, Helvetica, "sans-serif";
    border-radius: 50%;
    padding-top: 3px;
    }


.modal_bg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6666;
    display: none;
    width: 100%;
    height: 120%;
    background-color: rgba(0,0,0,0.7);
    }
 
.link_area {
    overflow: hidden;
    max-width: 410px;
    margin: 0 auto;
    text-align: center;
    }
 
.link_area ul{display: flex; margin: 0; padding: 0;}
.link_area li.modal_link {
    flex: 0 1 40%;
    margin: auto;
    display: inline;
    }

.link_area p.modal_link{width: 40%; margin: auto;}
 
.link_area .modal_link a {
    width: 100%;
    display: inline-block;
    color: #FFF;
    font-size: 0.8em;
    line-height: 2.5;
    text-decoration: none;
    margin: 0;
    background: #8bc012;
    border-radius: 20px;
    }
 
.link_area .modal_link a:hover {background: #4fc012;}


 
@media screen and (max-width: 769px) {
.Archives > div{flex: 0 1 30%; margin: 0.5em 1.5%;}
.modal_box {padding: 50px 2vw 40px;}
.link_area {margin: 25px auto 0;} 
.link_area .modal_link a {margin: 0 auto;}
.link_area ul li.modal_link:first-child a {float: none; margin-top: 0;}
.link_area ul li.modal_link:last-child a {float: none;}
.modal_close {padding-top: 7px;}
}



/*ITEM*/
#ITEM{padding-top: 5em;}
.itemList{padding: 2em 2em 0; display: flex; flex-wrap: wrap;}
.itemList article{
    flex: 0 1 30%;
    margin: 1em auto;
    background: #FFF;
    border-radius: 10px;
    }

.photo{margin: 0 0 1em;}
.photo img{border-top-left-radius: 10px; border-top-right-radius: 10px;}

.itemList article > div{padding: 0 1em;}

.tag{
    width: 120px;
    margin: 0;
    padding: 0.35em;
    font-size: 0.8em;
    color: #FFF;
    text-align: center;
    border-radius: 5px;
    }

    .prize{background-color: #cb586e;}
    .goods{background-color: #5886cb;}
    .kuji{background-color: #cb8c58;}


@media only screen and (max-width: 860px) {.itemList article{flex: 0 1 45%; margin: 1em 2.5%;}}
@media only screen and (max-width: 480px) {.itemList{display: block;} .itemList article{margin: 1em 0 2em; padding-bottom: 1em;}}



/*--OMIYAGE--*/
.omyDetail{margin-top: 2em; display: flex; flex-wrap: wrap;}
.omyDetail > div{
    flex: 0 1 48%;
    margin: 0 1% 1em;
    padding: 1em;
    border-radius: 10px;
    background: #FFF;
    }
    
.omyDetail > div:first-child{flex: 0 1 98%;}

@media only screen and (max-width: 860px) {.omyDetail{display: block;} .omyDetail > div{margin: 1em 0;}}

/*wp*/
.WP{display: flex; flex-wrap: wrap; margin: 2.5em auto 1em;}
.WP div{flex: 0 1 16%; margin: 0 2% 1em;}

/*sns_icon*/
.sns_icon{display: flex; flex-wrap: wrap; margin: 2.5em auto 1em;}
.sns_icon p{flex: 0 1 29%; margin: 0 2% 1em;}

.notes{
    max-width: 860px;
    margin: auto;
    padding: 1em;
    text-align: center;
    }

.notes p{font-size: 0.8em;}


@media screen and (max-width: 860px) {.WP div{flex: 0 1 46%;} .sns_icon p{mragin: 0 2%;} .notes{text-align: left;}}


/*X_widget*/
#X_widget > p{margin: 0;}
@media only screen and (max-width: 480px) {#X_widget > p img{width: 60px; height: auto;}}


/*SNS*/
#shareBox {
	width: 100%!important;
    max-width: 1580px;
    margin: 0 auto;
    padding-top: 15%;
    padding-bottom: 15%;
	text-align: center;
	position: relative;
	}

	.shareButtons {
		position: absolute;
        top: 50%;
		bottom: 0;
		left: 50%;
        transform: translateY(-50%) translateX(-50%);
		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: 45px!important;
		height: 45px!important;
        margin: 0 1em;
		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: 860px) {
    #shareBox {padding-top: 55%; padding-bottom: 0;}
    .shareButtons {top: 55%; left: 50%; transform: translateY(-55%) translateX(-50%);}
    }

@media only screen and (max-width: 490px) {
    #shareBox {padding-top: 70%; padding-bottom: 0;}
    .shareButtons {top: 60%; left: 50%; transform: translateY(-60%) translateX(-50%);}
    }


/*-------FOOTER--------*/
footer{
	padding: 3em 0 4em;
	color: #FFF;
	display: block;
	background: #aea090;
    position: relative;
    }

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

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


	ul.taitoLink{margin: 1em 0 0; padding: 0 0 2em; border-bottom: solid 1px #bbafa2;}
	
	ul.taitoLink li{
		font-size: 1.0em;
		margin-right: 1.0em;
		display: inline-block;
		}
	
	ul.taitoLink a{color: #FFF;}
	ul.taitoLink a:hover{color: #e6f2c9;}

footer p:last-child{
	margin-top: 2em;
	font-size:0.8em;
	color: #FFF;
	text-align: center;
	}

.mochi{
    top: -105px;
    right: 0;
    position: absolute;
    }


@media only screen and (max-width: 860px) {.mochi{width: 300px; top: -80px;}}
@media only screen and (max-width: 480px) {
    ul.taitoLink li{font-size: 0.9em;}
    .mochi{width: 220px; top: -60px;}
    }




