@charset "utf-8";

/* ----------------------------------------------
  ! structures header
 ---------------------------------------------- */
.st-header {
	width: 100%;
	background:#fff;
    /*background: url(../images/top/fastview_head_bg.png);*/
    /*background-size: contain;*/
}

.st-header__inner {
	position: relative;
    width: 100%;
	margin: 0 auto;
}

/* ! Header Logo
 ---------------------------------------------- */
.st-header__logo {
	position: absolute;
	height: 83px;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
}

/* ! Header Menu pc
----------------------------------------------- */
.st-header__navigation01 {
    position: absolute;
    top: 65px;
    left: 394px;
    width: 260px;
}

.st-header__navigation01 ul {
    list-style: none;
    font-size: 15px;
}

.st-header__navigation01 ul > li {
    display: inline-block;
    margin: 0 1.5rem 1.2rem 0;
}

.st-header__navigation01 ul > li span::before {
    content: '>';
    color: #63c900;
    padding-right: 0.5rem;
}

/* ! Search pc
----------------------------------------------- */
.st-header__search {
    position: absolute;
    right: 0;
    bottom: 16px;
    font-size: 0;
    border: 1px solid #ccc;
}

.st-header__search input[type="text"] {
	width: 267px;
    height: 32px;
    font-size: 1.6rem;
    border: 0;
    padding: 0 1rem;
}

.st-header__search input[type="submit"] {
	background-color: #eb0020;
    background-image: url('../images/common/search_icon.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 80%;
    width: 32px;
    height: 32px;
    vertical-align: top;
    border: 0;
    cursor: pointer;
}

/* ! Hamburger Menu Button
----------------------------------------------- */

/* ! Navigation for PC
----------------------------------------------- */

.st-header__navigation02 {
    width: 1200px;
    margin: 1.6rem auto 0;
}

.st-header__navigation02 ul {
    list-style: none;
    font-size: 0;
}

.st-header__navigation02 ul > li {
    width: 390px;
    display: inline-block;
    margin: 0 0 1.6rem 1.5rem;
}

.st-header__navigation02 ul > li:first-child {
    margin-left: 0;
}

.st-header__navigation02 ul > li > a {
	position: relative;
    width: 100%;
    padding: 1.9rem 0 1.9rem 4.8rem;
    display: inline-block;
    color: #fff;
    font-size: 2.6rem;
    text-align: center;
}

.st-header__navigation02 ul > li:nth-child(1) > a {
    background: #ff9147;
    background: -moz-linear-gradient(top, #ff9147 0%, #ff6600 100%);
    background: -webkit-linear-gradient(top, #ff9147 0%,#ff6600 100%);
    background: linear-gradient(to bottom, #ff9147 0%,#ff6600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff9147', endColorstr='#ff6600',GradientType=0 );
    border: 1px solid #ff6600;
    letter-spacing: 0.25em;
}

.st-header__navigation02 ul > li:nth-child(2) > a {
    background: #2ecc87;
    background: -moz-linear-gradient(top, #2ecc87 0%, #009151 100%);
    background: -webkit-linear-gradient(top, #2ecc87 0%,#009151 100%);
    background: linear-gradient(to bottom, #2ecc87 0%,#009151 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2ecc87', endColorstr='#009151',GradientType=0 );
    border: 1px solid #009151;
    letter-spacing: 0.6em;
}

.st-header__navigation02 ul > li:nth-child(3) > a {
    background: #ff3f59;
    background: -moz-linear-gradient(top, #ff3f59 0%, #eb0020 100%);
    background: -webkit-linear-gradient(top, #ff3f59 0%,#eb0020 100%);
    background: linear-gradient(to bottom, #ff3f59 0%,#eb0020 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff3f59', endColorstr='#eb0020',GradientType=0 );
    border: 1px solid #eb0020;
    letter-spacing: 0.4em;
}

.st-header__navigation02 ul > li > a::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: transparent;
    border: 2px solid #fff;
}

.st-header__navigation02 ul > li > a > span {
    position: relative;
}

.st-header__navigation02 ul > li > a > span::before {
    content: '';
    position: absolute;
    width: 36px;
    height: 36px;
    margin:auto;
    top: 0;
	bottom: 0;
    left: -4.8rem;
    background-color: #fff;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center center;
}

.st-header__navigation02 ul > li:nth-child(1) > a > span::before {
	background-image: url('../images/common/nav_icon01.png')
}

.st-header__navigation02 ul > li:nth-child(2) > a > span::before {
	background-image: url('../images/common/nav_icon02.png')
}

.st-header__navigation02 ul > li:nth-child(3) > a > span::before {
	background-image: url('../images/common/nav_icon03.png')
}

/* ! Menu for Smartphone
----------------------------------------------- */

/* ----------------------------------------------
  ! st-side
 ---------------------------------------------- */
.st-side {
	float: right;
	margin-left: 30px;
}

/* ! st-info
----------------------------------------------- */

.st-side .st-info {
    border: 1px solid #63c900;
    margin-bottom: 2.8rem;
}

.st-side .st-info h2 {
    font-size: 1.8rem;
    color: #fff;
    text-align: center;
    background-color: #63c900;
    padding: 1.5rem 0;
}

.st-side .st-info h2::before {
    display: inline-block;
    position: relative;
    content: '';
    width: 23px;
    height: 21px;
    top: 3px;
    left: -8px;
    background-image: url('../images/common/news_icon.png');
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}

.st-info__img {
    text-align: center;
    margin: 2rem 0;
    font-size: 0;
}

.st-info__img img{
    border: 1px solid #ccc;
}

.st-info__txt {
    margin: 0 2rem 0.8rem;
    font-size: 1.4rem;
}

.st-info__inner .more-btn {
    text-align: center;
    margin-bottom: 2rem;
}

.st-info__inner .more-btn a {
	position: relative;
    display: inline-block;
    width: 7rem;
    padding: 0.5rem 0;
	background-color: #63c900;
    font-size: 1.4rem;
    font-style: italic;
    color: #fff;
}

.st-info__inner .more-btn a::after {
    content: '';
    position: absolute;
    bottom: 0.4rem;
    right: 0.4rem;
    border-style: solid;
    border-width: 0 0 8px 8px;
    border-color: transparent transparent #ffffff transparent;
}

.st-info__inner .list-btn a{
	display: block;
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    background-color: #63c900;
    padding: 1.2rem 0;
}

/* ! st-banner
----------------------------------------------- */
.st-side .st-banner {
	font-size: 0;
	margin-bottom: 3rem;
}

.st-side .st-banner p{
	margin-bottom: 1rem;
}

/* ! st-genre
----------------------------------------------- */
.st-side .st-genre h2 {
    font-size: 1.8rem;
    color: #fff;
    text-align: center;
    background-color: #4c4c4c;
    padding: 0.5rem 0 1.5rem;
}

.st-side .st-genre h2::before {
    display: inline-block;
    position: relative;
    content: '';
    width: 28px;
    height: 28px;
    top: 6px;
    left: -4px;
    background-image: url('../images/common/search_icon.png');
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}

.st-side .st-genre-box {
    position: relative;
    display: table;
    width: 50%;
    text-align: center;
    border-bottom: 1px solid #4c4c4c;
    border-left: 1px solid #4c4c4c;
}

.st-side .st-genre-box::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
    min-height: 105px;
}

.st-side .st-genre-box a{
    display: table-cell;
    vertical-align: top;
}

.st-side .st-genre-box:last-child a {
    background-color: #f0f0f0;
    vertical-align: middle;
    color: #eb0020;
}

.st-side .st-genre-box:nth-child(even) {
    border-right: 1px solid #4c4c4c;
}

.st-side .st-genre-icon {
    padding: 0.5rem;
    font-size: 0;
}

.st-side .st-genre-jpn {
    font-size: 1.5rem;
    font-weight: bold;
    padding-bottom: 0.4rem;
}

.st-side .st-genre-box:last-child a .st-genre-jpn {
    padding-bottom: 0;
    padding-top: 1rem;
}

.st-side .st-genre-box:last-child a .st-genre-jpn span{
    font-size: 1rem;
}

.st-side .st-genre-eng {
    font-size: 1.05rem;
}

.st-side .st-genre-arrow {
    position: absolute;
    width: 96%;
    margin: auto;
    left: 0;
    right: 0;
    bottom: 2%;
    background-color: #bfbfbf;
    color: #fff;
    padding: 0.4rem;
}

/* ----------------------------------------------
  ! Structures Footer
 ---------------------------------------------- */
.st-footer {
/*    background-color: #eeeeee;*/
}

.st-footer__inner {
    position: relative;
    width: 1200px;
    margin: 0 auto;
}

.st-footer__inner .illust{
    position: absolute;
    margin: 0 auto;
    top: -96px;
    right: 0;
}

.st-footer__box .st-footer__menu {
    width: 320px;
    border-left: 1px solid #ccc;
    padding: 0 4.8rem;
    margin: 32px 0;
}

.st-footer__box .st-footer__menu ul {
    list-style-type: none;
    line-height: 2.3;
    font-size: 1.5rem;
}

.st-footer__box .st-footer__menu ul > li > a {
    position: relative;
}

.st-footer__box .st-footer__menu ul > li > a > span::before {
    content: '＞';
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: -2rem;
    line-height: 1.6;
    color: #ff7e3e;
}

.st-footer__box .st-footer__banners {
    width: 240px;
    border-left: 1px solid #ccc;
    margin: 32px 0;
    padding-left: 60px;
    font-size: 0;
}

.st-footer__box .st-footer__banners p {
    margin-bottom: 20px;
}

.st-footer__box .st-footer__banners p:last-child {
    margin-bottom: 0;
}

.st-footer__copyright {
}

.st-footer__copyright p{
    width: 1200px;
    margin: 0 auto;
    padding: 12px 0;
    font-size:1.4rem;
    text-align: center;
    color: #2471c5;
}

/* ----------------------------------------------
  ! structures conteainer
 ---------------------------------------------- */
.st-contents {
	margin: 0 auto;
}

.st-conteainer {
	float: left;
	width: 960px;
	font-size: 1.5rem;
}

@media only screen and (max-width : 640px){
	.st-contents {
		width: 100%;
	}

	.st-conteainer {
		width: 95%;
	}
	.st-side {
	width: 100%;
}

}

/* ----------------------------------------------
  ! common contents elements
 ---------------------------------------------- */

.st-contents .w-12{width:100%}
.st-contents .w-11{width:91.66666667%}
.st-contents .w-10{width:83.33333333%}
.st-contents .w-9{width:75%}
.st-contents .w-8{width:66.66666667%}
.st-contents .w-7{width:58.33333333%}
.st-contents .w-6{width:50%}
.st-contents .w-5{width:41.66666667%}
.st-contents .w-4{width:33.33333333%}
.st-contents .w-3{width:25%}
.st-contents .w-2{width:16.66666667%}
.st-contents .w-1{width:8.33333333%}
.st-contents .w-auto{width:auto}

@media only screen and (max-width : 640px){
	.st-contents .w-12-sp{width:100%}
	.st-contents .w-11-sp{width:91.66666667%}
	.st-contents .w-10-sp{width:83.33333333%}
	.st-contents .w-9-sp{width:75%}
	.st-contents .w-8-sp{width:66.66666667%}
	.st-contents .w-7-sp{width:58.33333333%}
	.st-contents .w-6-sp{width:50%}
	.st-contents .w-5-sp{width:41.66666667%}
	.st-contents .w-4-sp{width:33.33333333%}
	.st-contents .w-3-sp{width:25%}
	.st-contents .w-2-sp{width:16.66666667%}
	.st-contents .w-1-sp{width:8.33333333%}
	.st-contents .w-auto-sp{width:auto}
}