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

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

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


/*----------NAVI------------*/
header{
    width: 100%;
    background: linear-gradient(rgba(0,0,0,1) 0%, rgba(49,49,49,1) 100%);
    position: fixed;
    top: 0;
    z-index: 999;
    }

header ul{padding: 0;}
header ul,header li{list-style: none;}

#nav {
	width: 100%;
	max-width: 1480px;
	margin: auto;
	}

#nav > a {display: none;}
#nav li {position: relative;}
#nav li a {
	color: #FFF;
	display: block;
	}

#nav li a:active {}
#nav li span{font-size: 0.8em;}

/*first level*/
#nav .small{font-size: 0.8em!important;}

#nav > ul {
    margin: 0;
    padding: 0;
	display: flex;
	align-items: center;
	}

#nav > ul > li {flex: 0 1 20%;}

#nav > ul > li > a {
	padding: 1.5em 0.7em;
	font-size: 1.0em;
	line-height: 1.4em;
	text-align: center;
    display: block;
	}

#nav > ul > li > a:hover {background: rgba(0,0,0,0.5);}


@media only screen and (max-width: 860px) {

header{background: none; top: 0; bottom: auto;}
	
#nav > a {
	width: 3.125em;
	height: 3.125em;
    margin: 10px 10px 0 auto;
	text-align: left;
	text-indent: -9999px;
	background-color: #000;
	position: relative;
	z-index: 999;
	}
	
#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;}
	
/*first level*/
#nav > ul {
	margin-top: -4.125em;
	padding-top: 8vh;
	height: 100vh;
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	background: rgba(0,0,0,0.9);
	}
	
#nav:target > ul {display: block;}

#nav > ul > li {width: 94%; margin: auto; border-bottom: dotted 2px #626262;}
#nav > ul > li:last-child {border-bottom: none;}
	
#nav > ul > li > a {
	line-height: 1.4em;
	height: auto;
	text-align: center;
	padding: 1.5em 0.25em;
	}

#nav > ul > li > a:hover {color: #01274e;}
#nav > ul > li:not( :last-child ) > a {border-right: none;}
}


/*MAIN*/
main{margin-top: 5%; padding-bottom: 18%;}
@media only screen and (max-width: 1300px) {main{margin-top: 8%;}}
@media only screen and (max-width: 860px) {main{margin-top: 0;}}
@media only screen and (max-width: 480px) {main{padding-bottom: 24%;}}

#EN main{margin-top: 0;}
#SUPPORT_EN main{margin-top: 0;}

/*text*/
p,li,pre{
	font-size: 1em;
	line-height: 1.6em;
	color: #535353;
	}
	
    pre{font-family: 'Noto Sans JP', sans-serif;}

img{max-width: 100%;}

.small{font-size: 0.9em; line-height: 1.4em!important;}
.center{text-align: center;}

br.on{display: none;}
br.off{display: block;}
.spec br{display: none;}


@media only screen and (max-width: 480px) {
    br.on{display: block;}
    br.off{display: none;}
    .spec br{display: block;}
    .center{text-align: left;}
    }
    
/*link*/
:hover{
	-webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    -o-transition: all 0.8s ease;
    transition: all  0.8s ease;
	}

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

p > a, li > a{color: #e62e8b;}
p > a:hover, li > a:hover{color: #e97bb3;}


/*TOP_mainVisual*/
#mainVisual{
    background-image: url("../images/egret2mini/main_background.png");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100%;
    position: relative;
    }

    #mainVisual > div{position: relative;}

    #mainVisual > div::before {
        content: '';
        position: absolute;
        bottom: 0;
        right: 0;
        border-left: 100vw solid transparent;
        border-bottom: 6vw solid #e62e8b;
        }

    #mainVisual article{width: 60%; padding: 10% 0 15% 3%;}

    #EN #mainVisual article{padding: 17% 0 17% 3%;}

#mainVisual h1{
	width: 100%;
    margin: 0;
	height: 0;
	padding-top: 18%;
	background-repeat: no-repeat;
	background-size: contain!important;

	overflow: hidden;
	display: block;
    background-image: url("../images/egret2mini/logo.png");
	background-position: top center;
    }

#mainVisual h1 + p{
	width: 100%;
    margin: 2em 0;
	height: 0;
	padding-top: 7.25%;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
    background-image: url("../images/egret2mini/release_02.png");
	background-position: top center;
    }

#mainVisual .shopLink{width: 70%; margin: auto;}

.EGRET{width: 37%; top: 5%; right: 5%; position: absolute; z-index: 99;}


@media only screen and (max-width: 480px) {
    #mainVisual{background-size: 245%; background-position: top -20px right -20px;}
    #mainVisual article{width: 94%; padding: 107% 0 20%; margin: auto;}
    #mainVisual h1 + p{margin: 1em 0;}
    #mainVisual .shopLink{width: 90%;}
    .EGRET{width: 80%; top: 5%; left: 10%; right: 10%;}
    
    #EN #mainVisual article{padding: 107% 0 10.5%;}
    }


/*OUTLINE*/
#outline{
    padding: 2% 0 4%;
    background: #e62e8b;
    }

#outline article{
    max-width: 1000px;
    margin: auto;
    padding: 0 1em;
    }

#outline p{
    font-size: 1.2em;
    line-height: 1.8em;
    text-align: center;
    color: #FFF;
    }


#CloseUP{display: flex; flex-wrap: wrap;}

#CloseUP div{
    flex: 0 1 50%;
    height: 480px;
    padding: 5% 2%;
    background-color: #393939;
    }

    #CloseUP div:nth-child(2),#CloseUP div:nth-child(3){background-color: #2a2a2a;}
    #CloseUP div:nth-child(5),#CloseUP div:nth-child(6),#CloseUP div:nth-child(7){flex: 0 1 33.33%; padding: 0; height: auto;}
    #PRODUCT #CloseUP div:nth-child(1),#PRODUCT #CloseUP div:nth-child(2),#PRODUCT #CloseUP div:nth-child(3){flex: 0 1 33.33%; padding: 0; height: auto;}

    #EN #CloseUP div:first-child{flex: 0 1 100%; height: 50vh;}
    #EN #CloseUP div:nth-child(4),#EN #CloseUP div:nth-child(5),#EN #CloseUP div:nth-child(6){flex: 0 1 33.33%; padding: 0; height: auto;}

#CloseUP article{
    width: 50%;
    margin: 0 0 0 auto;
    padding: 8% 5% 6%;
    border: solid 2px #b0e352;
    background-color: rgba(0,0,0,0.5);
    background-image: url("../images/egret2mini/top_pointBG_01.png"),url("../images/egret2mini/top_pointBG_02.png"),url("../images/egret2mini/top_pointBG_03.png"),url("../images/egret2mini/top_pointBG_04.png");
    background-repeat: no-repeat;
    background-position: top 5px left 5px, top 5px right 5px, bottom 5px left 5px, bottom 5px right 5px;
    }

    #CloseUP div:nth-child(2) article,#CloseUP div:nth-child(4) article{padding: 9.5% 5% 7.5%;}
    #CloseUP div:nth-child(5) article,#CloseUP div:nth-child(6) article,#CloseUP div:nth-child(7) article{width: 100%; margin: 0;}
    #PRODUCT #CloseUP div:nth-child(1) article,#PRODUCT #CloseUP div:nth-child(2) article,#PRODUCT #CloseUP div:nth-child(3) article{width: 100%; margin: 0; padding: 8% 5% 6%;}

    #EN #CloseUP div:first-child article,#EN #CloseUP div:nth-child(2) article{padding: 6% 5%;}
    #EN #CloseUP div:nth-child(3) article{padding: 11% 5%;}
    #EN #CloseUP div:nth-child(4) article{width: 100%; margin: 0; padding: 8% 5% 6%;}

#CloseUP h2{
    margin: 0;
    padding: 0 0.5em 0.5em;
    border-bottom: solid 2px #b0e352;
    color: #FFF;
    font-size: 2em;
    font-weight: normal;
    line-height: 1.25em;
    text-align: center;
    }

    #PRODUCT #CloseUP h2{background-image: none;}


#CloseUP p{color: #FFF; text-align: center;}
.CU_06 p:last-child,.CU_07 p:last-child{padding-top: 1.6em;}

#EN .CU_06 p:last-child{padding-top: 0;}
#EN .CU_07 p:last-child{padding-top: 3.2em;}


.CU_01{
    background-image: url("../images/egret2mini/top_outline_220126_photo01.png"),url("../images/egret2mini/grayBG_white.png");
    background-size: cover, auto;
    background-repeat: no-repeat, repeat;
    background-position: left center;
    }

.CU_02{
    background-image: url("../images/egret2mini/top_outline_220126_photo02.png"),url("../images/egret2mini/grayBG_white.png");
    background-size: cover, auto;
    background-repeat: no-repeat, repeat;
    background-position: left bottom;
    }

.CU_03{
    background-image: url("../images/egret2mini/top_outline_220126_photo03.png"),url("../images/egret2mini/grayBG_white.png");
    background-size: cover, auto;
    background-repeat: no-repeat, repeat;
    background-position: left center;
    }

    #EN .CU_03{background-size: contain, auto; background-position: top center;}

.CU_04{
    background-image: url("../images/egret2mini/top_outline_220126_photo04.png"),url("../images/egret2mini/grayBG_white.png");
    background-size: cover, auto;
    background-repeat: no-repeat, repeat;
    background-position: left bottom;
    }

.CU_05,.CU_06,.CU_07{
    background-image: url("../images/egret2mini/grayBG_white.png");
    background-size: auto;
    background-repeat: repeat;
    background-position: left bottom;
    }


@media only screen and (max-width: 1200px) {
    #CloseUP{display: block;}
    #CloseUP div{height: auto; padding: 7% 5%;}
    #CloseUP div:nth-child(3){background-color: #393939;}
    #CloseUP div:nth-child(2),#CloseUP div:nth-child(4){background-color: #2a2a2a;}
    
    #EN #CloseUP div:first-child{flex: 0 1 100%; height: auto;}
    
    #CloseUP article, #CloseUP div:nth-child(2) article{height: auto; padding: 7.5% 5% 5%;}
    #CloseUP div:nth-child(2) h2{text-align: center;}
    
    .CU_06 p:last-child,.CU_07 p:last-child{padding-top: 0;}
    
    #EN .CU_03{background-size: cover, auto; background-position: top center;}
    #EN .CU_07 p:last-child{padding-top: 0;}
    }
    
@media only screen and (max-width: 860px) {
    #CloseUP h2{font-size: 1.7em;}
    #outline p{font-size: 1em; line-height: 1.6em;}
    }

@media only screen and (max-width: 600px) {
    #outline{padding: 10% 0;}
    #CloseUP div{padding: 48% 0 0;}
    #CloseUP article{width: 100%; background-color: rgba(0,0,0,0.6);}
    #CloseUP h2{font-size: 2em;}
    
    .CU_02{background-size: 110%, auto; background-position: top -20px left 50px;}
    .CU_01,.CU_03{background-size: contain, auto; background-position: top center;}
    .CU_04{background-size: 150%, auto; background-position: top -115px left;}
    
    #EN .CU_03{background-size: contain, auto; background-position: top center;}
    }


/*PV*/
.pv{
	width:100% !important;
	margin: 0 !important;
	padding-bottom:56.25%;
	position:relative;
	}

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

/*shoplink*/
#CategoryMain .shopLink{width: 50%; margin: 5% auto 0; text-align: center;}
#CategoryMain .shopLink a{display: block;}

@media only screen and (max-width: 860px) {#CategoryMain .shopLink{width: 100%; margin: 5% auto 0;}}



/*Twitter NEWS*/
#NEWS{
    width: 100%;
    max-width: 1540px;
    margin: auto;
    padding: 10% 0 0;
    display: flex;
    }

#NEWS article{
    flex: 0 1 48%;
    margin: 0 1%;
    padding: 1em;
    border: double 6px #4b4948;
    background-image: url("../images/egret2mini/top_widgetBG_01.png"),url("../images/egret2mini/top_widgetBG_02.png"),url("../images/egret2mini/top_widgetBG_03.png"),url("../images/egret2mini/top_widgetBG_04.png");
    background-repeat: no-repeat;
    background-position: top 5px left 5px, top 5px right 5px, bottom 5px left 5px, bottom 5px right 5px;
    }

#NEWS h3{
	width: 100%;
    margin: 1em 0 1.5em;
	height: 0;
	padding-top: 30px;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
	background-position: top center;
    }

    .Twitter h3{background-image: url("../images/egret2mini/top_h3_twitter.png");}
    .NewsDetail h3{background-image: url("../images/egret2mini/top_h3_news.png");}


.NewsDetail ul{height: 510px; padding: 0 1em; overflow-y: scroll;}
.NewsDetail ul{margin: 0; padding: 0;}
.NewsDetail li{margin: 0; padding: 0; list-style: none; border-bottom: dotted 2px #535353;}
.NewsDetail ul p{margin: 0;}
.NewsDetail ul p:first-child{margin: 0 0 0.5em;}

.NewsDetail a{padding: 1.25em 1.5em; display: block;}

.TwiLink{}
.TwiLink a{
    padding: 0.35em 0.35em 0.5em;
    border: solid 2px #4b4948;
    display: block;
    text-align: center;
    }

.NewsDetail a:hover,.TwiLink a:hover{background: rgba(176,227,82,0.2);}


@media only screen and (max-width: 480px) {
    #NEWS{padding: 10% 1em 0; display: block;}
    #NEWS article{margin: 2em 1%;}
    }

/*CATEGORY_header*/
#CategoryTOP{
    background-image: url("../images/egret2mini/main_background.png");
    background-repeat: no-repeat;
    background-position: top 30% right;
    background-size: 105%;
    }

#CategoryTOP article{margin: 0; padding: 6% 0 0; position: relative;}
#CategoryTOP article > div{width: 21%; position: absolute; top: 2.5%; right: 13.5%;}

#CategoryTOP h1{
	width: 45%;
    margin: 0 0 6% 2.5%;
	height: 0;
	padding-top: 8%;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
    background-image: url("../images/egret2mini/logo.png");
	background-position: top center;
    }

#CategoryTOP h2{
	width: 38%;
    margin: 0;
	height: 0;
	padding-top: 3.5%;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
	background-position: left bottom;
    }

    #TITLE h2{background-image: url("../images/egret2mini/title_h2.png");}
    #PRODUCT h2{background-image: url("../images/egret2mini/product_h2.png");}
    #SHOP h2{background-image: url("../images/egret2mini/shop_h2.png");}
    #STORE h2{background-image: url("../images/egret2mini/store_h2.png");}
    #SUPPORT h2{background-image: url("../images/egret2mini/support_h2.png");}
    #CAMPAIGN h2{background-image: url("../images/egret2mini/campaign_h2.png");}

    #SUPPORT_EN h2{background-image: url("../images/egret2mini/en_support_h2.png");}

#CategoryTOP p{margin: 0; padding: 0.25em 3%; color: #FFF; background: #85c023;}

@media only screen and (max-width: 1100px) {
    #CategoryTOP{background-size: 130%;}
    #CategoryTOP article{padding: 12% 0 0;}
    #CategoryTOP h1{width: 60%; margin: 0 0 9% 2.5%; padding-top: 11%;}
    #CategoryTOP h2{width: 55%; padding-top: 5%; background-position: left -10px bottom;}
    #CategoryTOP article > div{width: 32.5%; right: 10.5%;}
    #CategoryTOP p{padding: 0.75em 3%;}
    }


@media only screen and (max-width: 480px) {
    #CategoryTOP{background-position: top 45% right; background-size: 140%;}
    #CategoryTOP article{padding: 10% 0 0;}
    #CategoryTOP article > div{width: 30.25%; top: 3.5%; right: 14.5%;}
    #CategoryTOP h1{width: 59%; margin: 0 0 7% 2.5%;}
    #CategoryTOP h2{width: 85%; padding-top: 8.35%; background-position: left -15px bottom;}
    #CategoryTOP p{padding: 0.5em 3%;}
    }


/*CATEGORY_Detail*/
#CategoryMain{width: 100%; max-width: 1540px; margin: auto;}
#CategoryMain article{padding: 1em;}
.TOP #CategoryMain article{padding: 10% 1em 0;}

.FlexBox{display: flex; flex-wrap: wrap;}
.block_02 div{flex: 0 1 48%; margin: 0 1% 2em;}
.block_03 div{flex: 0 1 31%; margin: 0 1% 2em;}

@media only screen and (max-width: 860px) {
    .FlexBox{display: block;}
    }

#CategoryMain h3 {
    padding: 0.75em 0.5em 0.5em 110px;
    border-top: 3px solid #e62e8b;
    position: relative;
    overflow: hidden;
    }

#CategoryMain h3:before {
    position: absolute;
    top: -150%;
    left: -100px;
    width: 190px;
    height: 300%;
    content: '';
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    background: #e62e8b;
    }

#CategoryMain h3 span{
	width: 60px;
    margin: 0;
	height: 0;
	padding-top: 27px;
	overflow: hidden;
	display: block;
	background-repeat: no-repeat;
	background-size: contain!important;
	background-position: left bottom;
    position: absolute;
    z-index: 1;
    top: 15px;
    left: 12px;
    }

    #CategoryMain h3.point01 span{background-image: url("../images/egret2mini/h3_maker_01.png");}
    #CategoryMain h3.point02 span{background-image: url("../images/egret2mini/h3_maker_02.png");}
    #CategoryMain h3.point03 span{background-image: url("../images/egret2mini/h3_maker_03.png");}

#CategoryMain h4{
    margin: 1.5em 0 1em;
    padding: 0.35em 0.5em 0.35em 2.75em;
    color: #FFF;
    font-size: 1.2em;
    line-height: 1.6em;
    border-radius: 10px;
    background-color: #e62e8b;
    background-image: url("../images/egret2mini/h4_maker.png");
    background-position: top 13px left 12px;
    background-repeat: no-repeat;
    }

h5 {
    margin: 0;
    padding: 0.5em;
    font-size: 1.1em;
    color: #2e66e6;
    border-bottom: 3px solid #0011ee;
    position: relative;
    }

h5:before {
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 20%;
    height: 3px;
    content: '';
    background: #2e66e6;
    }

#CAMPAIGN h5{padding: 5% 0.5em 0.5em;}
#CAMPAIGN h4 + h5{padding: 0.5em;}
#CAMPAIGN p + h4{margin-top: 5em;}


h6 {
    margin: 0 1em 0.5em;
    padding: 0 0 0 0.75em;
    border-left: solid 10px #2e66e6;
    font-size: 1.1em;
    color: #2e66e6;
    }

    .block_02 h6{margin: 2em 1em 0.5em;}
    @media only screen and (max-width: 860px) {h6{margin: 0 1em 0.5em 0.5em;} .block_02 h6{margin: 1em 1em 0.5em 0.5em;}}


#CategoryMain ul {margin: 1em 0.5em; padding: 0 0 0 1em;}

#CategoryMain ul li {
    margin-bottom: 0.5em;
    padding: 0.1em 0.5em;
	position: relative;
	list-style-type: none;
    } 

#CategoryMain ul li:before {
	width: 8px;
	height: 8px;
	content: '';
	position: absolute;
	top: 0.7em;
	left: -0.5em;
	border-radius: 50%;
	background-color: #2e66e6;
    }

#CategoryMain ul li > ul{margin: 0.5em 0; padding: 0 0 0 0.75em;}

#CategoryMain ul li > ul li:before {
	width: 8px;
	height: 8px;
	content: '';
	position: absolute;
	top: 0.7em;
	left: -0.5em;
	border-radius: 50%;
	border: 2px solid #2e66e6;
	background-color: #FFF;
    }

#CategoryMain ul li > span {color: #2e66e6; font-weight: bold;}


/*PRODUCT*/
.egret_point{display: flex; flex-wrap: wrap; align-items: center;}
.egret_point div:first-child{flex: 0 1 60%; margin: 0;}
.egret_point div:last-child{flex: 0 1 38%; margin: 0 1%;}

#ProductArea{padding-top: 5%;}

.feature{
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    }

.feature > div:first-child{
    flex: 0 1 51.8%;
    padding: 0 3%;
    position: relative;
    overflow: hidden;
    background-image: url("../images/egret2mini/grayBG_white.png");
    background-color: #393939;
    }

.feature > div:last-child{
    flex: 0 1 48.2%;
    color: #FFF;
    position: relative;
    overflow: hidden;
    }

.stick div:first-child{order: 2;}
.stick div:last-child{order: 1;}

/*.m_point01{padding: 0 6% 0 2%;}
.s_point01{padding: 0 4% 0 10%;}*/

.m_point01::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    border-left: 6vw solid transparent;
    border-bottom: 100vh solid #fff;
    }

.s_point01::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-right: 6vw solid transparent;
    border-bottom: 100vh solid #fff;
    }



.feature h4{margin: 0 0 1em; padding: 18% 0 2em; border-bottom: solid 2px #e62e8b;}
.feature p, .feature li{color: #FFF;}

.feature ul {margin: 1.5em 0.5em 0; padding: 0 0 10% 1em;}

.feature ul li {
    margin-bottom: 0.5em;
    padding: 0.1em 0.5em;
	position: relative;
	list-style-type: none;
    } 

.feature ul li:before {
	width: 8px;
	height: 8px;
	content: '';
	position: absolute;
	top: 0.7em;
	left: -0.5em;
	border-radius: 50%;
	background-color: #e62e8b;
    }



@media only screen and (max-width: 1100px) {
    .feature{display: block;}
    .feature > div:first-child{padding: 0 5%;;}
    
    .feature ul {padding: 0 0 3em 1em;}
    
    .m_point01::before {
        top: 0;
        left: 0;
        border-top: 10vw solid #FFF;
        border-left: 100vh solid transparent;
        border-right: 0;
        border-bottom: 0;
        }
    .s_point01::before {
        top: 0;
        left: 0;
        border-top: 10vw solid #FFF;
        border-left: 100vh solid transparent;
        border-right: 0;
        border-bottom: 0;
        }
   
    .feature h4{margin: 0 0 1em; padding: 3.5em 0 2em;}
    }

@media only screen and (max-width: 860px) {
    .egret_point{display: block;}
    .egret_point div:last-child{width: 86%; margin: auto;}
    }


/*GAME LINEUP*/
.GameLineup{display: flex; flex-wrap: wrap;}
.GameLineup div{
    flex: 0 1 19%;
    margin: 0.5em 0.5%;
    padding: 5px;
    border: solid 2px #000;
    }

.GameLineup + p{text-align: right; margin-right: 1em;}
.GL_notes{font-size: 0.9em; margin-right: 1em; text-align: right;}

@media only screen and (max-width: 860px) {.GameLineup div{flex: 0 1 24%;}}
@media only screen and (max-width: 480px) {.GameLineup div{flex: 0 1 48%;} .GameLineup + p{width: 47%; margin: 1em 1em 0 auto;}}


/*HISTORY*/
.cp_box *, .cp_box *:before, .cp_box *:after {-webkit-box-sizing: border-box; box-sizing: border-box;}
.cp_box {position: relative;}

.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 140px;
	cursor: pointer;
	text-align: center;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    }

.cp_box input:checked + label {background: inherit;}
.cp_box label:after {
	line-height: 2.5rem;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	width: 16rem;
	font-family: FontAwesome;
	content: '続きをよむ';
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	color: #ffffff;
	border-radius: 20px;
	background-color: rgba(27, 37, 56, 1);
    }

.cp_box input {display: none;}

.cp_box .cp_container {
	overflow: hidden;
	height: 700px; 
	transition: all 0.5s;
    }

.cp_box input:checked + label:after {content: '閉じる';}
.cp_box input:checked ~ .cp_container {height: auto; padding-bottom: 80px; transition: all 0.5s;}


.cp_timeline {max-width: 1140px; margin: 0 auto 3em; position: relative;}

.cp_timeline:before {
    content: '';
    width: 4px;
	height: 100%;
    position: absolute;
    top: 0;
	left: 30px;
	background-color: #d2d2d2;
    }

.cp_timeline .timeline_group {padding-top: 55px; position: relative;}
.cp_timeline .timeline_group:not(:first-of-type) {margin-top: 4rem;}
.cp_timeline .time_year {
	width: 100%;
	padding: 0.25em 0.65em 0.15em;
    font-size: 1.6em;
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 0;
	color: #434343;
	border: double 8px #434343;
    background: #FFF;
    box-sizing: border-box;
	-webkit-box-sizing: border-box;
    font-family: 'Electrolize', sans-serif;
    }

.cp_timeline .timeline_item {
    margin-top: 2em;
    margin-bottom: 1em;
	position: relative;
	padding-left: 80px;
    }

.cp_timeline .timeline_item:not(:last-of-type) {margin-top: 2em; margin-bottom: 2em;}

.cp_timeline .timeline_item:before {
	position: absolute;
	z-index: -1;
	left: 0;
	width: 100%;
	height: 3px;
	content: '';
	background-color: #d2d2d2;
	top: 50%;
	-webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    }

.cp_timeline .time {
	position: absolute;
	left: 0;
	box-sizing: border-box;
	min-width: 65px;
	min-height: 65px;
	padding: 0.5em 0.5em;
	text-align: center;
	color: #fff;
	background-color: #e62e8b;
	top: 50%;
	margin-top: -33px;
    }

.cp_timeline .time_day {
	font-size: 2em;
	font-weight: bold;
	display: block;
    }

.cp_timeline .time_month {
	font-size: 0.8em;
	display: block;
	text-transform: uppercase;
    }

.cp_timeline .desc {
	padding: 1em 1em 0.5em;
	border-left: 5px solid #e62e8b;
	border-radius: 2px;
	background-color: #fff;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
	font-size: 0.9em;
    }

.cp_timeline .desc .flag {
	font-size: 1.2em;
	font-weight: bold;
	margin: 0;
	padding: 0;
	padding-bottom: 0.3em;
    }

@media only screen and (max-width: 860px) {
	.cp_timeline:before {left: 0;}
    .cp_timeline .timeline_group {padding-top: 40px;}
	.cp_timeline .timeline_item {padding-top: 60px; padding-left: 20px;}
    .cp_timeline .timeline_item:before {top: 105px;}
    .cp_timeline .time_day {font-size: 1.4em;}
	.cp_timeline .time {padding: 0.5em; top: 55px; min-width: 55px; min-height: 2em;}
	.cp_timeline .time_day,	.cp_timeline .time_month {display: inline-block;}
	.cp_timeline .desc {padding: 1.5em 1em 0.5em; font-size: 0.8em;}
    }


/*SHOP*/
.shopLink a:hover img{opacity: 0.7;}

.shopList{display: flex; flex-wrap: wrap; padding-bottom: 2em;}
.shopList p{flex: 0 1 18%; margin: 0.5em 1%;}
.block_02 .shopList p{flex: 0 1 31%;}

.shopList a,.ctLink a {
    padding: 8% 4%;
    color: #2e66e6;
    text-align: center;
    display: block;
    border-radius: 4px;
    -webkit-transition: all 200ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
    -moz-transition: all 200ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
    -ms-transition: all 200ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
    -o-transition: all 200ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
    transition: all 200ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
    box-shadow: #2e66e6 0 0px 0px 2px inset;
    }

.shopList a:hover,.ctLink a:hover {color: #FFF; box-shadow: #2e66e6 0 0px 0px 40px inset;}

#STORE .shopList a{padding: 4%;}
div#AREA01, div#AREA02, div#AREA03, div#AREA04, div#AREA05, div#AREA06, div#AREA07, div#AREA08, div#AREA09, div#AREA10, div#AREA11, div#AREA12, div#AREA13, div#AREA14, div#AREA15, div#AREA16, div#AREA17, div#AREA18, div#AREA19, div#AREA20, div#AREA21, div#AREA22, div#AREA23, div#AREA24, div#AREA25, div#AREA26{margin-top: -100px; padding-top: 100px;}

@media only screen and (max-width: 860px) {.shopList p{flex: 0 1 31%;}}
@media only screen and (max-width: 480px) {
    .shopList p{flex: 0 1 48%;}
    .block_02 .shopList p{flex: 0 1 48%;}
    #STORE .shopList p{flex: 0 1 31%;}
    div#AREA01, div#AREA02, div#AREA03, div#AREA04, div#AREA05, div#AREA06, div#AREA07, div#AREA08, div#AREA09, div#AREA10, div#AREA11, div#AREA12, div#AREA13, div#AREA14, div#AREA15, div#AREA16, div#AREA17, div#AREA18, div#AREA19, div#AREA20, div#AREA21, div#AREA22, div#AREA23, div#AREA24, div#AREA25, div#AREA26{margin-top: -20px; padding-top: 20px;}
    }

.ctLink{max-width: 800px; margin: auto;}
.ctLink a {padding: 1em; border-radius: 6px; box-shadow: #2e66e6 0 0px 0px 3px inset; font-weight: bold;}


/*CAMPAIGN*/
.CP_LINK{margin: 0.5em;}
.CP_LINK a{display: block;}
.CP_LINK a:hover{opacity: 0.7;}


/*SUPPORT*/
.SupportDetail{max-width: 1280px; margin: auto;}
.SupportDetail > div{padding-bottom: 3em;}
.SupportDetail .ctLink{margin-top: 2em;}

.SupportDetail dt {
    position: relative;
    padding: 0.001em 0 0 4.25em
    }

.SupportDetail dt span {
    position: absolute;
    top: 4px;
    left: 0;
    padding: 0.75em 1em;
    color: #FFF;
    font-weight: bold;
    background: #85c023;
    }

.SupportDetail dt span:after {
    position: absolute;
    top: calc(50% - 7px);
    right: -11px;
    width: 0;
    height: 0;
    content: '';
    border-width: 7px 0 7px 12px;
    border-style: solid;
    border-color: transparent transparent transparent #85c023;
    }

.SupportDetail dd {
    position: relative;
    padding: 0.001em 0 0 5em;
    margin-bottom: 3em;
    }

.SupportDetail dd > span {
    position: absolute;
    top: 4px;
    left: 8px;
    padding: 0.75em 1em;
    color: #FFF;
    font-weight: bold;
    background: #e62e8b;
    }

.SupportDetail dd > span:after {
    position: absolute;
    top: calc(50% - 7px);
    right: -11px;
    width: 0;
    height: 0;
    content: '';
    border-width: 7px 0 7px 12px;
    border-style: solid;
    border-color: transparent transparent transparent #e62e8b;
    }


.licence h4{
    margin: 2em 0!important;
    padding: 0!important;
    font-size: 1.4em!important;
    text-align: center;
    }

.licence h5{margin: 3em 0 1em; padding: 0; border-bottom: none!important;}
.licence h4, .licence h5:before{background: none!important;}

.licence h4, .licence h5{color: #535353!important;}

.licence p.right{margin: 3em 0; text-align: right;}

.licence li{list-style: decimal!important;}
.licence li:before{background: none!important;}

.OSS{max-width: 800px; margin: auto;}
.oss_layout{margin-left: 3em;}


@media only screen and (max-width: 480px) {.SupportDetail .ctLink{font-size: 0.8em;} .licence h4 + p{font-size: 0.9em;}}


/*----------SNS----------*/
#shareBox {
	width: 100%;
    margin: 10% 0;
	text-align: center;
	position: relative;
	}

	.shareButtons {
		position: absolute;
        top: 0;
		bottom: 0;
		left: calc(47% - 75px);
		display: flex;
		justify-content: space-between;
		width: 240px;
		height: auto;
		margin: 0px auto;
		padding: 0 0 35px;
		clear: none;
		z-index: 888;
		}

    .mainVisual #shareBox {margin-top: 3em;}
    .mainVisual .shareButtons{left: calc(43% - 75px);}

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

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

@media only screen and (max-width: 860px) {.mainVisual #shareBox{display: none;} .shareButtons {left: calc(44% - 75px);}}
@media only screen and (max-width: 480px) {#shareBox {margin: 20% 0 30%;} .shareButtons {left: calc(40% - 75px);}}


/*----------Language------------*/

#lang{background: #3f3e3e;}
#lang > div{display: flex; max-width: 1540px; padding: 0; margin: auto;}
#lang p{margin: 0; padding: 0.75em 2em;}
#lang p:first-child{color: #FFF; font-weight: bold; background: #313030;}



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

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

	/*タイトーリンク*/
	ul.taitoLink{margin: 1em 0 0; padding: 0 0 2em; border-bottom: solid 1px #828282;}
	
	ul.taitoLink li{
		font-size: 1.0em;
		margin-right: 1.0em;
		display: inline-block;
		}
	
	ul.taitoLink a{color: #FFF;}
	ul.taitoLink a:hover{color: #7ecef4;}

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

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


/*-----reserved-----*/
.reservLink{
	max-width: 860px;
	height: auto;
    margin: 0;
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 99;
	}

.reservLink a{display: block;}
.reservLink a:hover{opacity: 0.7;}

@media only screen and (max-width: 860px) {.reservLink{right: 0; bottom: 0;}}


/*table*/
table{
    width: 98%;
    margin: 1em auto 3em;
    border: solid 1px #535353;
    text-align: center;
    border-spacing: 0;
    color: #535353;
    }

th{
    width: 30%;
    padding: 0.65em;
    border-right: solid 1px #535353;
    border-bottom: solid 1px #535353;
    background: rgba(83,83,83,0.1);
    }
    
th:first-child{width: 40%;}

td{
    padding: 1em;
    border-right: solid 1px #535353;
    border-bottom: solid 1px #535353;
    vertical-align: middle;
    }
    
#STORE th:first-child{width: 40%;}
#STORE th:last-child{width: 60%;}
#STORE th,#STORE td{text-align: left;}
#STORE td p{margin: 0;}
#STORE td a{color: #2e66e6; font-weight: bold;}
#STORE td a:hover{color: #648ce6;}

@media only screen and (max-width: 480px) {
    #STORE tr:first-child{display: none;}
    #STORE td{border-right: none; display: block;}
    #STORE td:first-child{border-bottom: dotted 2px #535353; background: #f6f6f6;}
    #STORE tr:last-child td:last-child{border-bottom: none;}
    #STORE td p{font-size: 0.9em;}
}



