/*------------------------------------*\
            Common.css
\*------------------------------------*/
/*
    * General.....................General use
    * Common Module...............
    * Font Face...................
    * Animation Effect............Animation
    * space...............space for every row
    * Media Query.................RWD Setting
        * General.....................
        * Animation Effect............
*/




.border{ border: 1px solid #000; }
#topnavarea.affix, #topnavarea.affix-top {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 50;
}
#footerarea ul{ list-style-image: none;}
/*------------------------------------
            $General
------------------------------------*/
html{ font-size: 16px; }
    body {
        font-family: 'Noto Sans Japanese','Open Sans','Roboto', Arial, sans-serif;
        /*padding-top: calc( 48px + 0.625vw );*/
        /*padding-top: 60px;*/
        color: #4d4d4d;
        overflow-x:hidden;
    }
    i.comment{
        color: #e8380d;
        font-size: 1rem;
    }
    .view-manual a{
        font-size: 1.125rem;  
    	line-height: 1.5; 
    	font-weight: 300;
    }
    p.highlight{
        color: #dc6c6d;
        font-size: calc( 16.8px + 0.375vw );
        font-weight: 500;
        margin-bottom: 10px;
        width: 100%; 
    }
    p.highlight-color2{
        color: #9f733e;
    }
    .mobile-divider{
        background-image: url('../../images/media/Character/li.png');
        width: 100%;
        min-height: 3px;
    }

    /*----- Layout -----*/
    .display-none { display: none; }
    .inline-block{ display: inline-block; }
    .right { float: right;}
    .left { float: left;}
    .position-relative{ position: relative; }
    .container-fluid{ padding: 0; }
    .rl-row-1440{
        max-width: 1440px; 
        margin: 0 12.1%;
        padding-right: 15px;
        padding-left: 15px;
    }
    .rl-row-1540{
        max-width: calc( 1540px + 30px ); 
        margin: 0 8.7%;
        padding-right: 15px;
        padding-left: 15px;
    }

    /*rl flex box*/
	.rl-row-flex{
		display: -ms-flexbox;
    	display: -webkit-flex;
    	display: flex;
	}
	.rl-col-flex{
    	-webkit-flex: 1;
    	-ms-flex: 1;
    	flex: 1;
    }

    /*-----display: flex-----*/
    .flex-container{
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }
    .flex-nowrap{
        -webkit-flex-wrap: nowrap;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
    }
    .direction-column{
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .align-center{
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
    }
    .align-content{
        -webkit-align-content: space-between;
            -ms-flex-line-pack: justify;
                align-content: space-between;
    }
    .align-self-flex-end{
        -webkit-align-self: flex-end;
            -ms-flex-item-align: end;
                align-self: flex-end;
    }
    .justify-center{
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .justify-space-between{
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }
    .justify-space-around{
        -webkit-justify-content: space-around;
	         -ms-flex-pack: justify;
	            justify-content: space-around;
    }


    /*----- font size for seo -----*/
	.text-lg, .text-md, .text-sm, .text-xs, p{margin: 0;}
    .text-lg{ 
        font-size: 5.25rem; 
        line-height: 1.1;
        font-weight: 500;
        padding-top: 0;
        padding-bottom: 0;
    }
    .text-md{
        font-size: calc( 28.8px + 1vw ); /*48*/
        font-weight: 300;
        line-height:1.3; 
        padding-top: 0;
        padding-bottom: calc( 16px + 1.25vw );
    }
    .text-sm{
        font-size: calc( 26.4px + 0.5vw ); /*36*/ 
        font-weight: 300; 
        line-height: 1.2; 
        padding-top: 0;
        padding-bottom: calc( 16px + 1.25vw );
    }
    .text-xs{
        font-size: calc( 22.8px + 0.375vw ); /*30*/ 
        font-weight: 300;
        line-height: 1.1; 
        padding-top: calc( 18px + 0.625vw );
        padding-bottom: calc( 13px + 0.625vw );
    }
    
    ul {
       list-style-image: url(../../images/li.png);
       padding-left:15px;
    }
    
    p, li, .text-desc{
    	font-size: 1.125rem;  
    	line-height: 1.5; 
    	font-weight: 300;
    }    
   	p, ul{ /*padding-bottom: 20px;*/ }

    /*-----Link Style-----*/
    .rl-style a{ color: #e8380d; text-decoration: none; }
    .rl-style a:hover{ color: #e8380d; text-decoration: underline; }
    .rl-style a:focus,
    .rl-style a:active,
    .rl-style a:active:focus{ color: #e8380d; outline: none; }

	/*-----Background Color-----*/
    .bg-color-black{background-color: #000;}
    .bg-color-white{background-color: #fff;}
    .bg-color-gray{background-color: #b5b5b5;}
    .bg-color-darkgray{background-color: #4a4a4a;}
    .bg-color-lightgray{background-color: #f4f4f4;}


	/*----- Button style -----*/
    /* button with fill bg*/
    .rl-btn-fill{
        background-color: #e8380d;
        border: 2px solid #e8380d;
        color: #fff;
        line-height: normal;
        font-size: 1.125rem;
        border-radius: 0;  
    }
    .rl-btn-fill:hover, 
    .rl-btn-fill:active, .rl-btn-fill:active:focus{
        background-color: transparent !important;
        color: #e8380d !important;
        outline:none;
    }
    .rl-btn-fill:focus{
		background-color: #e8380d;
        color: #fff;
        outline:none;
    }

    /* button with border*/
    .rl-btn-border{
        background-color: transparent;
        border: 2px solid #e8380d;
        border-radius: 0;
        color: #e8380d;
        font-size: 1rem;
        float: left;
        width: 215px;
        height: 44px;
    }
    .rl-btn-border:hover,
    .rl-btn-border:active, .rl-btn-border:active:focus{
        background-color: #e8380d !important;
        border: 2px solid #e8380d;
        color: white !important;
        outline:none;
    }
    .rl-btn-border:focus{
        background-color: transparent;
        border: 2px solid #e8380d;
        color: #e8380d;
        outline:none;
    }


    /*--- $psd-bonus ---*/
    #psd:before {
        content: "";
        display: block;
        margin-top: -110px;
        height: 70px;
        visibility: hidden;
    }
    #psd .rl-btn-trial {
        background-color: #e8380d;
        border: 2px solid #e8380d;
        border-radius: 5px;;
        color: #e4e4e4;
        font-size: 1rem;
        font-weight: 300;
        line-height: normal;
        padding: 9px 20px;
    }
    #psd .free-download .rl-btn-trial{
        background-color: transparent;
        color: #e8380d;
    }
    #psd .btn-wrapper{ margin: 10px 20px; }
    @media screen and (max-width: 767px){
        #psd .btn-wrapper button{ width: 430px; }
    }
    @media screen and (max-width: 600px){
        #psd .btn-wrapper{ margin: 10px 0; width: 100%; }
        #psd .btn-wrapper button{ white-space: normal; width: 100%; }
    }

/*--- magnificPopup overwrite ---*/
.mfp-iframe-holder .mfp-content {
    max-width: 80%;
    -webkit-transition: max-width 0.4s ease;
    -ms-transition: max-width 0.4s ease;
    -moz-transition: max-width 0.4s ease;
        -o-transition: max-width 0.4s ease;
            transition: max-width 0.4s ease;
}
@media screen and (max-width: 991px){
    .mfp-iframe-holder .mfp-content {
        max-width: 100%;
    }
}




/*------------------------------------
        	$Common Module
------------------------------------*/
/*--- banner button ---*/
.default-btn{
    border: none;
    border-radius: 5px;
    color: #fff;
    font-size: calc( 23.2px + 0.25vw ); /*28-24*/
    min-height: 60px;
}
.default-btn:focus{ outline: none; }
.banner .default-btn{
    background-color: #e8380d;
    min-height: 60px;
}

/*PlayButton*/
.rl-rel{ 
    position: relative; 
    /*display: inline-block; */
    max-width: 100%;
}		
.rl-rel a { outline: none; }
        .rl-play-wrapper{
			width: 80px; 
			height: 80px;
			min-width: 40px;
			min-height: 40px; 
			border-radius: 50%; 
            border: 2px solid #fff;
			/*background: rgba(255, 255, 255, 0.8);*/
            pointer-events: none;
			-webkit-transition: 
			           background 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),
			           transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
			-o-transition: 
				       background 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),
			           transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
			transition: 
					   background 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), 
			           transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
		}
        .rl-rel:hover .rl-play-wrapper{
            background:  transparent; /*rgba(255, 255, 255, 1)*/
            -webkit-transform: scale(1.2, 1.2);
            -moz-transform: scale(1.2, 1.2);
            -ms-transform: scale(1.2, 1.2);
            -o-transform: scale(1.2, 1.2);
            transform: scale(1.1, 1.1);
        }
        .rl-play{
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 20px 0 20px 30px;
            border-color: transparent transparent transparent rgba(255,255,255,1);
            margin-left: calc( 3.2px + 0.25vw ); /*8-4*/
        }
        .rl-play-wrapper.rl-play-black{
            background: rgba(0, 0, 0, 0.6);
            border: 4px solid #fff;
            margin: auto;
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            left: 0;
        }
        .rl-rel:hover .rl-play-wrapper.rl-play-black{ background: rgba(0, 0, 0, 0.6); }
        @media screen and ( max-width: 991px ){
            .rl-play-wrapper.rl-play-black{
                width:  calc(72px + 2.5vw);/*120px*/ 
                height: calc(72px + 2.5vw);
            }
            .rl-play-wrapper.rl-play-black .rl-play{ border-width: calc(18.4px + 0.5vw) 0 calc(18.4px + 0.5vw) calc(27.6px + 0.75vw); } /*28-20, 42-30*/
        }
        

/*---5 columns layout---*/
.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}
.col-xs-5ths {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-5ths { width: 20%; float: left; }
}
@media (min-width: 992px) {
    .col-md-5ths { width: 20%; float: left; }
}
@media (min-width: 1200px) {
    .col-lg-5ths { width: 20%; float: left; }
}

/*Bubble-Message*/
.bubble-message{
    background-color: #fff;
    border-radius: 5px;
    color: #000;
    display: inline-block;
    padding: 15px 20px;
}

.rl-declareBoard-header-common{
    background-color: #e0e0e0;
    /*background-image: url(../../images/top_head_box.jpg);
    background-repeat: no-repeat;
    background-position: center right;*/
    /*background-attachment: fixed;*/
    /*padding: calc( 16px + 4.375vw ) 0; */
    /*100-30*/
    /*padding-top: 23.75vw;*/
    padding: calc( 38px + 0.625vw ) 0; /*50-40*/
    position: relative;
}
	.rl-declareBoard-header .title{
        font-size: calc( 21.6px + 2.625vw ); /*72-30*/
        font-family: 'Noto Sans Japanese','Open Sans','Roboto', Arial, sans-serif;
        text-align: center;
        padding-left: 15px;
        padding-right: 15px;
        margin: 0; 
        /*position: absolute;
        left: 13.802vw;
        top: 4.6875vw;*/
    }
	.rl-declareBoard-header .desc{
        font-weight: bold;
        font-size: 1.75rem;
        color: #959595;
        line-height: 1.5;
        margin: 0;
        text-align: center;
    }
    @media screen and (max-width: 767px){
        /*------------------------------------
                $Edition-Comparison
        ------------------------------------*/
        .version-table {
            width: 100%;
            display: block;
        }
    }




/*------------------------------------
        	$Font Face
------------------------------------*/
/*----- font face -----*/
@font-face {
	  font-family: 'BebasNeueBold';
	  src: url('../fonts/BebasNeueBold.eot');
	  src: url('../fonts/BebasNeueBold.eot?#iefix') format('embedded-opentype'),
	       url('../fonts/BebasNeueBold.woff2') format('woff2'),
	       url('../fonts/BebasNeueBold.woff') format('woff'),
	       url('../fonts/BebasNeueBold.ttf') format('truetype'),
	       url('../fonts/BebasNeueBold.svg#BebasNeueBold') format('svg');
	  font-weight: normal;
	  font-style: normal;
}






/*------------------------------------
          $Animation Effect
------------------------------------*/
	/*-----smooth transition-----*/
    .transition{
        -webkit-transition: all 0.4s ease;
            -ms-transition: all 0.4s ease;
            -moz-transition: all 0.4s ease;
                -o-transition: all 0.4s ease;
                    transition: all 0.4s ease;
    }

    /*--- overwrite animation.css ---*/
    .animated {
        -webkit-animation-duration: 0.5s;
        animation-duration: 0.5s;
        -webkit-animation-fill-mode: both;
        animation-fill-mode: both;
    }
    @-webkit-keyframes zoomIn {
        from {
            opacity: 0;
            -webkit-transform: scale3d(.3, .3, .3);
            transform: scale3d(.3, .3, .3);
        }

        50% {
            opacity: 1;
        }
    }

    @keyframes zoomIn {
        from {
            opacity: 0;
            -webkit-transform: scale3d(.3, .3, .3);
            transform: scale3d(.3, .3, .3);
        }

        50% {
            opacity: 1;
        }
    }

    .zoomIn {
        -webkit-animation-name: zoomIn;
        animation-name: zoomIn;
    }

    /*--- customize ---*/
    @keyframes scale {
        from {
            -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
        }
        50% {
            -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
        }
        100% {
            -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
        }
    }
    .animation-scale{
        -webkit-animation-name: scale;
        animation-name: scale;
        -webkit-animation-duration: 1.3s;
        animation-duration: 1.3s;
        animation-iteration-count: infinite;
    }





/*------------------------------------
                $space
------------------------------------*/
    .no-padding-l{ padding-left: 0; }
	.no-padding-r{ padding-right: 0; }
    .no-padding-lr{ padding-left: 0; padding-right: 0; }
    .no-padding-top{ padding-top: 0; }
    .no-padding-bottom{ padding-bottom: 0; }
	.no-padding{ padding: 0; }

    /*----- 90px -----*/
    .rl-row-90{
        padding-top: calc( 30px + 3.125vw ); 
        padding-bottom: calc( 30px + 3.125vw );         
    }

    .rl-row-top-90{ 
        padding-top: calc( 30px + 3.125vw ); 
        padding-bottom: 0; 
    }

    .rl-row-bottom-90{
        padding-top: 0; 
        padding-bottom: calc( 30px + 3.125vw );         
    }

    /*----- 80px -----*/
    .rl-row-80{
        padding-top: calc( 32px + 2.5vw ); 
        padding-bottom: calc( 32px + 2.5vw );         
    }

    .rl-row-top-80{ 
        padding-top: calc( 32px + 2.5vw ); 
        padding-bottom: 0; 
    }

    .rl-row-bottom-80{
        padding-top: 0; 
        padding-bottom: calc( 32px + 2.5vw );         
    }

    /*----- 60px -----*/
    .rl-row-60{
        padding-top: calc( 24px + 1.875vw ); 
        padding-bottom: calc( 24px + 1.875vw );         
    }
    .rl-row-top-60{ 
        padding-top: calc( 24px + 1.875vw ); 
        padding-bottom: 0; 
    }
    .rl-row-bottom-60{
        padding-top: 0; 
        padding-bottom: calc( 24px + 1.875vw );         
    }

    /*----- 50 px -----*/
    .rl-row-50{
        padding-top: calc( 14px + 1.875vw ); 
        padding-bottom: calc( 14px + 1.875vw );         
    }
    .rl-row-top-50{ 
        padding-top: calc( 14px + 1.875vw ); 
        padding-bottom: 0; 
    }
    .rl-row-bottom-50{
        padding-top: 0; 
        padding-bottom: calc( 14px + 1.875vw );         
    }

    /*----- 40 px -----*/
    .rl-row-40{
        padding-top: calc( 16px + 1.25vw ); 
        padding-bottom: calc( 16px + 1.25vw );         
    }
    .rl-row-top-40{ 
        padding-top: calc( 16px + 1.25vw ); 
        padding-bottom: 0; 
    }
    .rl-row-bottom-40{
        padding-top: 0; 
        padding-bottom: calc( 16px + 1.25vw );         
    }

    /*----- 30 px -----*/
    .rl-row-30{
        padding-top: calc(0.625vw + 18px);
        padding-bottom: calc(0.625vw + 18px);    
    }
    .rl-row-top-30{ 
        padding-top: calc(0.625vw + 18px);
        padding-bottom: 0; 
    }
    .rl-row-bottom-30{
        padding-top: 0; 
        padding-bottom: calc(0.625vw + 18px);     
    }

    /*----- 20 px -----*/
    .rl-row-20{
        padding-top: 20px; 
        padding-bottom: 20px;         
    }
    .rl-row-top-20{ 
        padding-top: 20px; 
        padding-bottom: 0; 
    }
    .rl-row-bottom-20{
        padding-top: 0; 
        padding-bottom: 20px;         
    }





/*------------------------------------
            $Media Query
------------------------------------*/
@media screen and ( max-width: 1440px ){
    /*----- Layout -----*/
    .rl-row-1440{ margin: 0 4.17%; }
    .rl-row-1540{ margin: 0 4.17%; }
}

@media screen and ( max-width: 991px ){
	/*------------------------------------
                $General
    ------------------------------------*/
    /*----- Layout -----*/
    .rl-row-1440{
        padding-right: 15px !important;
        padding-left: 15px !important;
        margin: 0 auto;
    }
    .rl-row-1540{
        padding-right: 15px;
        padding-left: 15px;
        margin: 0 auto;
    }

}

@media screen and ( max-width: 767px ){
	/*------------------------------------
                $General
    ------------------------------------*/
    /*rl flex box*/
    .rl-row-flex{ display: inline-block; width: 100%; }
}


@media screen and ( max-width: 500px ){
	/*------------------------------------
            	$General
	------------------------------------*/
	
}