@charset "utf-8";
/*======================


tw2022_top.css
2022/10


======================*/
#tw2022_wrapper{
	position: relative;
	overflow: hidden;
	background: #EDEDED url(../png/bg.png) no-repeat center top;
	background-attachment: fixed;
	padding-top: 60px;
    margin-bottom: -16px;
}
#tw2022_wrapper:before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
    bottom: 0;
	left: 0;
	right: 0;
	background: url(../png/bg_re.png) top center repeat-y;
	background-size: auto;
}

/*------------------------
.tw2022_cont
--------------------------*/
.tw2022_cont{
	margin-bottom: 100px;
	position: relative;
}
.sec_ttl_wrap{
	position: relative;
	margin-left: 7%;
	margin-bottom: 30px;
}
.sec_ttl{
	font-size: 74px;
	font-weight: 700;
	display: inline-block;
	color: #070707;
}
.sec_ttl span{
	font-size: 18px;
	color: #838383;
	text-align: left;
	display: block;
}

.tab_slider .swiper-wrapper{
    padding-bottom: 60px;
}
.cont_slider .swiper-wrapper{
    padding-bottom: 90px;
}

.tab_slider .slider_nav_wrap{
    width: 380px;
    height: 30px;
    position: absolute;
    bottom: 10px;
    left: 55%;
    max-width: 35%;
}
.cont_slider .slider_nav_wrap{
	width: 380px;
    height: 30px;
    position: absolute;
    bottom: 0;
    left: 67%;
    max-width: 30%;
}

.slider_nav_wrap .swiper-button-prev,
.slider_nav_wrap .swiper-button-next{
    top: 25px;
	width: 20px;
    height: 20px;
}
.slider_nav_wrap .swiper-button-next:before,
.slider_nav_wrap .swiper-button-prev:before {
	width: 20px;
	height: 20px;
	background: #FDFDFD;
}

.tab_slider .swiper-pagination.swiper-pagination-progressbar,
.cont_slider .swiper-pagination.swiper-pagination-progressbar{
    width: 300px;
    max-width: 70%;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #FF4D4D;
}
.tab_slider .swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill,
.cont_slider .swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
	background-color: #fff;
}

/*重要なお知らせ
===================*/
#tw2022_imp_area {
  display: flex;
  align-items: center;
	max-width: 1200px;
  padding: 10px 10px;
	margin: 0 auto 100px;
  font-size: 18px;
  background: #E60012;
  color: #fff;
}

#tw2022_imp_area .imp_ttl{
	position: relative;
  padding:0 18px 0 25px;
  font-weight: bold;
  width: 22%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#tw2022_imp_area .imp_ttl::before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	mask: url(../png/ic_ex01.png) no-repeat center center;
	-webkit-mask: url(../png/ic_ex01.png) no-repeat center center;
	-webkit-mask-size: contain;
	mask-size: contain;
	background: #fff;
	width: 20px;
	height: 20px;
}
#tw2022_imp_area .tw2022_inr a {
  display: inline-block;
  line-height: 1.25;
  padding-left:18px;
  border-left: 1px solid #fff;
  transition: .2s;
  opacity: 1;
}
#tw2022_imp_area .tw2022_inr a dl{
  border-bottom: 1px solid #E60012;
}
#tw2022_imp_area .tw2022_inr a dl:hover {
  border-bottom: 1px solid #fff;
  transition: .2s;
  opacity: .7;
}
#tw2022_imp_area .tw2022_inr a:not(:first-of-type) {
  margin-top: 15px;
}
#tw2022_imp_area .imp_txt{
	display: flex;
}

#tw2022_imp_area .imp_txt dt,
#tw2022_imp_area .imp_txt dd {
	font-weight: bold;
}
#tw2022_imp_area .imp_txt dd {
  margin-left: 18px;
}

/*------------------------
#pickup
--------------------------*/
#pickup .sec_ttl_wrap{
	text-align: center;
	margin-left: 0;
}
#pickup .top_event_bnr{
    width: 1080px;
    position: relative;
    text-align: center;
    margin: 50px auto;
}
#pickup .top_event_bnr a {
    width: 100%;
}
#pickup .top_event_bnr a img {
    width: 100%;
}
#pickup .top_event_bnr .top_event_bnr-text {
    display: inline-block;
    white-space: nowrap;
    position: absolute;
    top: 160px;
    left: 81.25%;
    transform: translateX(-50%);
    font-size: 17.25px;
    letter-spacing: 1.8px;
    font-weight: bold;
    font-family: 'Noto Sans JP', sans-serif;
    color: #ff0065;
    font-feature-settings: "palt";
}


/*tn2022 20221028*/
#tn2022_bnr_20221028_wrap{
	position: relative;
	padding-bottom: 30px;
	margin-left: 150px;
}
#tn2022_bnr_20221028_wrap a{
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}
.tn2022_bnr_left{
	margin-right: -5vw;
}
.tn2022_bnr_txt{
	font-size: 26px;
	font-weight: bold;
	margin-top: 10px;
	padding-bottom: 10px;
}

/* 20230417 SHF投票 */
#pickup .top_event_bnr._txtOnBnr a {
    display: inline-block;
    position: relative;
}
#pickup .top_event_bnr._txtOnBnr a span.bnrTxt01 {
    position: absolute;
    bottom: calc(104px - 2.8em);
    right: 0;
    color: #fff;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4;
    width: 630px;
    height: 2.8em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    padding: 0 0.6em;
}
/*html[lang=en] #pickup .top_event_bnr._txtOnBnr a span.bnrTxt01 {
    bottom: calc(92px - 2.8em);
    font-size: 24px;
}*/

/* 20230428 TN WROLD TOUR */
#pickup .top_event_bnr._txtOnBnr a {
    display: inline-block;
    position: relative;
}
#pickup .top_event_bnr._txtOnBnr._tnwt a span.bnrTxt01 {
	left: 33px;
    width: 700px;
    bottom: 15px;
    height: auto;
    font-size: 28px;
    right: initial;
}
html[lang=en] #pickup .top_event_bnr._txtOnBnr._tnwt a span.bnrTxt01 {
    font-size: 20px;
    bottom: 15px;
}
/* 20230623 聖闘士星矢投票 */
#pickup .top_event_bnr._txtOnBnr._scmctm{
	margin-top: 60px;
}
#pickup .top_event_bnr._txtOnBnr._scmctm a span{
    color: #f7c940;
    text-shadow: 1px 1px 6px rgba(10, 26, 99, 0.2), -1px -1px 6px rgba(10, 26, 99, 0.2), -1px 1px 6px rgba(10, 26, 99, 0.2), 1px -1px 6px rgba(10, 26, 99, 0.2);
    text-align: center;
    line-height: 1.4;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-weight: 700;
	letter-spacing: 0.02em;
    padding: 0 0.6em;
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: auto;
}
#pickup .top_event_bnr._txtOnBnr._scmctm a span.bnrTxt01 {
    top: 63%;
    right: initial;
    font-size: 43px;
}
#pickup .top_event_bnr._txtOnBnr a span.bnrTxt02 {
   top: 78%;
   font-size: 25px;
}

/* 20230922 入魂 */
#pickup .top_event_bnr a span._btmtxt {
    display: inline-block;
    color: #222;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-top: 5px;
}
#pickup .top_event_bnr a:hover span._btmtxt {
    text-decoration: underline;
}



/*------------------------
#favorites
--------------------------*/
#favorites{
    z-index: 0;
	display: flex;
    /*justify-content: end;*/
}
#favorites .sec_ttl_wrap{
    margin-left: 10%;
    margin-bottom: 20px;
}

.fav_img{
    position: absolute;
    top: -20px;
    /*left: 30%;*/
    left: calc(50% - 360px);
    z-index: -1;
    width: 35%;
    /*transform: translateX(-75%);*/
    transform: translateX(-50%);
}

.fav_img img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	-webkit-clip-path: polygon(18% 0%, 90% 0, 77% 100%, 5% 100%);
    clip-path: polygon(18% 0%, 90% 0, 77% 100%, 5% 100%);
}

.fav_cont{
    width: 70%;
    margin-left: auto;
}
.fav_tab{
	position: relative;
}
.fav_tab .tab_inner{
	overflow:hidden;
	background-color: #B1060F;
	-webkit-clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.fav_tab .tab_btn_area {
    display: flex;
    position: relative;
    margin: 15px 0 30px 100px;
}
.fav_tab .tab_btn{
	padding: 8px 10px;
	margin-right: 10px;
	color: #fff;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	position: relative;
	cursor: pointer;
	transition: all .2s;
}
.fav_tab .tab_btn:last-of-type{
	margin-right: 0;
}
.fav_tab .tab_btn:hover,
.fav_tab .tab_btn.is-open{
	background-color: #fff;
	color: #B1060F;
}
.fav_tab .tab_panel{
	-webkit-clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 1% 100%);
    clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 1% 100%);
}
.fav_tab .tab_slider{
    margin-left: 100px;
    margin-bottom: 30px;
    position: relative;
}

.fav_tab .lists {
    margin-right: 5%;
    margin-bottom: 5%;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
}
.fav_tab .lists a {
    display: flex;
    justify-content: space-between;
    background: #900909;
}
.fav_tab .lists .thum {
    width: 30%;
    overflow: hidden;
}
.fav_tab .lists a:hover .thum img{
	transform: scale(1.1);
}
.fav_tab .lists a:hover .text{
	text-decoration: underline;
}
.fav_tab .lists .text {
    padding: 18px 40px 18px 18px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 70%;
}
.fav_tab .lists .text .title {
    font-size: 20px;
    margin-bottom: 15px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-height: 1.5;
}
.fav_tab .lists .text .date {
    font-size: 12px;
}

.fav_cont .btn_link {
    position: absolute;
    bottom: 30px;
    left: 20%;
}
.fav_cont .btn_link a:hover{
	background: linear-gradient(90deg, #505050 0%, #070707 100%);
}



/*------------------------
#topics
--------------------------*/
#topics.tw2022_cont{
	margin-bottom: 300px;
}
#topics .slider_wrap{
    width: 85%;
    margin-left: auto;
    overflow: hidden;    
    background-color: #1D1D1D;
    -webkit-clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
}
#topics .slider_inner{
    -webkit-clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 1% 100%);
    clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 1% 100%);
}
#topics .cont_slider{
    position: relative;
    margin-top: 60px;
    margin-bottom: 60px;
    margin-left: 100px;
}
#topics .cont_slider .swiper-slide{
    height: auto;
}
#topics .cont_slider .lists{
    position: relative;
    margin-right: 20%;
    height: 100%;
    max-width: 300px;
}
#topics .cont_slider .lists a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#topics .cont_slider .lists .thum {
    margin-bottom: 15px;
}
#topics .cont_slider .lists .thum span{
    display: block;
    overflow: hidden;
}
#topics .cont_slider a:hover .thum img{
	transform: scale(1.1);
}
#topics .cont_slider a:hover .text{
	opacity: .8;
}
#topics .cont_slider .lists .text {
    display: flex;
    flex-direction: column;
    height: 100%;
}
#topics .cont_slider .lists .text .title {
    font-size: 14px;
    margin-bottom: 15px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    color: #F2F2F2;
}
#topics .cont_slider .lists .text .date_wrap{
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#topics .cont_slider .lists .text .date {
    font-size: 12px;
    color: #ACA4A4;
    margin-bottom: 10px;
}


/*.cont_slider .swiper-slide{
	height: auto;
}
.cont_slider .lists{
	position: relative;
	margin-right: 60px;
	height: 100%;
}
.cont_slider .lists a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.cont_slider .lists .thum {
    margin-bottom: 15px;
}
.cont_slider .lists .text {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.cont_slider .lists .text .title {
	font-size: 14px;
	margin-bottom: 15px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	color: #F2F2F2;
}
.cont_slider .lists .text .date_wrap{
    margin-top: auto;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.cont_slider .lists .text .date {
    font-size: 12px;
    color: #ACA4A4;
    margin-bottom: 10px;
}*/

#topics .btn_link {
    position: absolute;
    bottom: 50px;
	left: 40%;
}


/*------------------------
#schedule
--------------------------*/
#schedule.tw2022_cont{
	margin-bottom: 200px;
}
.sche_tab{
	position: relative;
    width: 90%;
    z-index: 1;
}
.sche_tab:after{
	content: '';
	display: block;
	position: absolute;
	top: -5px;
    bottom: -10px;
    right: -8px;
    left: 0;
	background-color: #DC000C;
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
	z-index: -1;
}
.sche_tab .tab_inner{
	position: relative;
	overflow:hidden;
	background-color: #FAFAFA;
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
}
.sche_tab .tab_btn_area {
    display: flex;
    margin: 15px 0 30px 100px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.sche_tab .tab_btn{
	padding: 8px 10px;
	margin-right: 10px;
	color: #797979;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	position: relative;
	cursor: pointer;
	transition: all .2s;
}
.sche_tab .tab_btn:last-of-type{
	margin-right: 0;
}
.sche_tab .tab_btn:hover,
.sche_tab .tab_btn.is-open{
	background-color: #070707;
	color: #fff;
}
.sche_tab .tab_panel{
	-webkit-clip-path: polygon(0% 0%, 99% 0%, 95% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 99% 0%, 95% 100%, 0% 100%);
}
.sche_tab .tab_slider{
    margin-left: 100px;
    margin-bottom: 60px;
	padding-top: 60px;
    position: relative;
    margin-right: 60px;
}
.sche_tab .swiper-slide{
    position: relative;
	height: auto;
}
.sche_tab .tab_slider .slider_nav_wrap{
	position: absolute;
    top: 30px;
    right: 3%;
    left: initial;
    bottom: initial;
    max-width: 30%;
}
.sche_tab .tab_slider .swiper-button-next:before,
.sche_tab .tab_slider .swiper-button-prev:before {
	background: #DC000C;
}
.sche_tab .tab_slider .swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
	background-color: #838383;
}
.sche_tab .calender {
    position: absolute;
    top: 0;
    font-size: 40px;
    font-weight: 700;
}
.sche_tab .calender span{
	font-size: 17px;
	margin-left: 10px;
}
.sche_tab .lists {
	margin-top: 60px;
	margin-right: 5%;
	margin-bottom: 5%;
	height: calc(100% - 60px);
	max-width: 300px;
/*	display: flex;*/
}
.sche_tab .lists a {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.sche_tab .lists .thum {
    margin-bottom: 15px;
    position: relative;
    overflow: hidden;
}
.sche_tab .lists .thum img{
	width: 100%;
}
.sche_tab .lists a:hover .thum img{
	transform: scale(1.1);
}
.sche_tab .lists .thum._fav:before{
	content: '';
	display: block;
	position: absolute;
	top: 2px;
    left: 2px;
    background: #fff;
	mask: url(../png/ico_fav.png) no-repeat center center;
    -webkit-mask: url(../png/ico_fav.png) no-repeat center center;
	width: 15px;
    height: 15px;
    z-index: 1;
}
.sche_tab .lists .thum._fav:after{
	content: '';
	display: block;
	position: absolute;
    top: 0;
    left: 0;
	border-bottom: 35px solid transparent;
	border-left: 35px solid #DC000C;
}

.sche_tab .lists .text {
    color: #070707;
}

.sche_tab .lists a:hover .text{
	color: #DC000C;
	opacity: 1;
}
.sche_tab .lists .text .brand{
	font-size: 12px;
	margin-bottom: 5px;
}
.sche_tab .lists._resale .text{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    flex-direction: row-reverse;
}
.sche_tab .lists._resale .brand{
	width: 60%;
}

.sche_tab .lists .text .name {
    font-size: 14px;
    margin-bottom: 15px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}
.sche_tab .label_wrap{
    margin-top: auto;
}

#schedule .today{
    position: absolute;
    right: 0;
    top: -90px;
    -webkit-clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 0% 100%);
    background-color: #DC000C;
    height: 100%;
    width: 380px;
    z-index: 0;
}
#schedule .today span{
	color: #FAFAFA;
	font-weight: 700;
    text-align: center;
	line-height: 0.8em;
	display: inline-block;
    margin-left: 90px;
}
#schedule .today .txt{
    font-size: 14px;
    position: absolute;
    left: 30px;
    top: 65px;
}
#schedule .today .month{
    font-size: 50px;
    position: absolute;
    left: 95px;
    top: 30px;
}
#schedule .today .day{
    font-size: 151px;
    position: absolute;
    left: 30px;
    top: 90px;
}

#schedule .btn_link{
    position: absolute;
    bottom: 30px;
	left: 36%;
}

#schedule .swiper-more .lists{
	display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 16px;
	color: #797979;
    cursor: pointer;
}
#schedule .swiper-more .lists:hover{
	color: #DC000C;
}


/*------------------------
#brand
--------------------------*/
#brand.tw2022_cont{
	margin-bottom: 200px;
}

.brand_tab{
	position: relative;
    width: 90%;
    margin-left: auto;
}
.brand_tab::before{
	content: '';
	position: absolute;
    right: 0;
    top: -90px;
    -webkit-clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
    background-color: #B1060F;
    height: 100%;
    width: 75%;
    z-index: 0;
}
.brand_tab:after{
	content: '';
	display: block;
	position: absolute;
	top: -3px;
    bottom: -3px;
    left: -3px;
    right: 0;
	background-color: #B1060F;
	-webkit-clip-path: polygon(2% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(2% 0%, 100% 0%, 100% 100%, 0% 100%);
	z-index: -1;
}
.brand_tab .tab_inner{
	position: relative;
	overflow:hidden;
	background-color: #fff;
	-webkit-clip-path: polygon(2% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(2% 0%, 100% 0%, 100% 100%, 0% 100%);
	display: flex;
}
.brand_tab.is-2 .tab_inner{
	background-color: #292929;
}

.brand_tab .tab_btn_area{
    display: flex;
    flex-direction: column;
    width: 25%;
}
.brand_tab .tab_btn{
	position: relative;
    padding: 10px 40px 10px 17%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
	cursor: pointer;
	font-weight: 700;
    font-size: 48px;
    transition: all .2s;
}
.brand_tab .tab_btn._figure {
    background-color: #fff;
}
.brand_tab .tab_btn._figure .tab_btn_inner {
    color: #000;
}
.brand_tab .tab_btn._robot {
    background-color: #292929;
}
.brand_tab .tab_btn._robot .tab_btn_inner {
    color: #fff;
}
.brand_tab .tab_btn._figure .tab_btn_inner:before,
.brand_tab .tab_btn._robot .tab_btn_inner:before {
    background-color: #B1060F;
}
.brand_tab .tab_btn .txt_sub{
	font-size: 24px;
    display: block;
}
.brand_tab .tab_btn .txt_sub2{
	font-size: 14px;
	color: #AFAFAF;
    display: block;
}
.brand_tab .tab_btn::after{
	content: '';
	display: block;
	position: absolute;
	bottom: 13px;
	right: 18px;
	background: url(../png/ico_arrow_rt.png) no-repeat center center;
	width: 13px;
    height: 13px;
    background-size: contain;
}
.brand_tab .tab_btn:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 10px;
    right: 15px;
    background: #fff;
    width: 20px;
    height: 20px;
    border-radius: 50px;
}
.brand_tab .tab_btn.is-open{
	background-color: #fff;
}
.brand_tab .tab_btn.is-open:before,
.brand_tab .tab_btn.is-open:after{
	display: none;
}
.brand_tab .tab_btn.is-open._robot,
.brand_tab .tab_btn._robot:hover{
	background-color: #292929;
}
.brand_tab .tab_btn:hover{
	background-color: #fff;
}
.brand_tab .tab_btn .tab_btn_inner{
	position: relative;
	color: #8E8E8E;
}
.brand_tab .tab_btn.is-open._robot .tab_btn_inner,
.brand_tab .tab_btn._robot:hover .tab_btn_inner{
	color: #fff;
}
.brand_tab .tab_btn .tab_btn_inner:before{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: -15px;
	transform: translateY(-50%);
	background-color: #8E8E8E;
	width: 5px;
    height: 80%;
}
.brand_tab .tab_btn:hover .tab_btn_inner,
.brand_tab .tab_btn.is-open .tab_btn_inner{
	color: #1A1818;
}
.brand_tab .tab_btn:hover .tab_btn_inner:before,
.brand_tab .tab_btn.is-open .tab_btn_inner:before{
	background-color: #B1060F;
}

.brand_tab .tab_area {
    padding: 20px 40px 30px;
    width: 75%;
}
.brand_tab .tab_panel ul{
    flex-wrap: wrap;
    display: flex;
    margin-bottom: 30px;
}
.brand_tab .tab_panel li {
   	width: 23%;
	margin-right: 2%;
    margin-bottom: 2%;
    text-align: center;
}
.brand_tab .tab_panel li:nth-of-type(4n){
	margin-right: 0;
}
.brand_tab .tab_panel li:nth-child(4n+1):nth-last-child(-n+4),
.brand_tab .tab_panel li:nth-child(4n+1):nth-last-child(-n+4) ~ li{
	margin-bottom: 0;
}
.brand_tab .tab_panel li a{
	display: inline-block;
	text-align: center;
}
.brand_tab .tab_panel._robot li a{
	color: #fff;
}
.brand_tab .tab_panel li a span:first-child{
	overflow: hidden;
}
.brand_tab .tab_panel li a:hover{
	color: #DC000C;
}
.brand_tab .tab_panel li a:hover img{
	transform: scale(1.1);
}
.brand_tab .tab_panel li .name,
.brand_tab .tab_panel li .name_sub{
    display: block;
    margin-top: 10px;
    text-align: left;
}
.brand_tab .tab_panel li .name{
	font-size: 14px;
	font-weight: 700;
}
.brand_tab .tab_panel li .name_sub{
	font-size: 12px;
}

#brand .tab_panel._figure .btn_link {
    max-width: 100%;
}
#brand .tab_panel._robot .btn_wrap{
	display: flex;
    justify-content: center;
}
#brand .tab_panel._robot .btn_link{
    max-width: 380px;
    width: 48%;
    margin: 10px;
}



/*------------------------
#characters
--------------------------*/
#characters.tw2022_cont{
	margin-bottom: 200px;
}

#characters .swiper_chara .lists .thum_wrap{
	position: relative;
	z-index: 1;
	margin-bottom: 15px;
}
#characters .swiper_chara .lists .thum_wrap:after{
	content: '';
	display: block;
	position: absolute;
	top: 5px;
    bottom: -5px;
    right: -5px;
    width: 100%;
	background-color: #DC000C;
	-webkit-clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
	clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
	z-index: -1;
	transition: all .2s;
}
#characters .swiper_chara .lists a:hover .thum_wrap:after{
	transform: translate(-10px,-10px);
}
#characters .swiper_chara .lists .thum{
   -webkit-clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
    clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
    overflow: hidden;
}
#characters .swiper_chara .lists .thum img{
	position: relative;
    width: 100%;
}
#characters .swiper_chara .lists a:hover .thum img{
		opacity: 1;
}
#characters .swiper_chara .swiper-wrapper{
	padding-bottom: 60px;
}

#characters .swiper_chara .lists .text{
    display: flex;
    flex-direction: column;
    height: 100%;
	text-align: center;
	margin-right: 23%;
	font-weight: bold;
}

#characters .swiper_chara .lists a:hover .text{
    color: #DC000C;
}


/*------------------------
#special
--------------------------*/
#special.tw2022_cont{
	margin-bottom: 300px;
}
#special .sec_ttl_wrap{
    position: absolute;
    right: 0;
    top: 0;
    width: 36%;
    margin: 0;
    z-index: 1;
}

#special .slider_wrap{
	position: relative;
}
#special .slider_inner{
	position: relative;
	width: 55%;
    z-index: 1;
}
#special .slider_inner:after {
    content: '';
    display: block;
    position: absolute;
    top: -5px;
    bottom: -5px;
    left: 0;
    right: -30px;
    background-color: #DC000C;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
    z-index: -1;
}
#special .main_slider{
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
}
#special .main_slider .swiper-wrapper .swiper-slide{
    background: #fff;
}
#special .main_slider .thum img{
	width: 100%;
}

#special .slider_inner_sub{
    width: 45%;
    z-index: 0;
    position: absolute;
    right: 0;
    top: 52%;
}
#special .slider_inner_sub:after{
    content: '';
    display: block;
    position: absolute;
    top: -5px;
    bottom: -5px;
    left: -15%;
    right: 0;
	background-color: #B1060F;
    -webkit-clip-path: polygon(4% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(4% 0%, 100% 0%, 100% 100%, 0% 100%);
    z-index: 0;
}
#special .sub_slider{
	overflow: hidden;
    width: 85%;
    margin: 30px auto 60px;
    position: relative;
}
#special .sub_slider .lists_wrap{
    display: flex;
    flex-wrap: wrap;
    padding: 0 40px;
    width: 90%;
    margin: auto;
}
#special .sub_slider .lists{
    width: 31%;
    margin-right: 2%;
    margin-bottom: 2%;
    cursor: pointer;
    transition: all .2s;
}
#special .sub_slider .lists:hover{
	opacity: .8;
}
#special .sub_slider .lists:nth-of-type(3n){
	margin-right: 0;
}
#special .sub_slider .lists:nth-child(3n+1):nth-last-child(-n+3),
#special .sub_slider .lists:nth-child(3n+1):nth-last-child(-n+3) ~ .lists{
	margin-bottom: 0;
}
#special .sub_slider .thum{
	padding: 1px;
}
#special .sub_slider .sub_slider-active img{
	outline: 2px solid #aaa;
	box-sizing: content-box;
}

#special .slider_nav_wrap .swiper-button-prev,
#special .slider_nav_wrap .swiper-button-next{
    top: 55%;
}

/*------------------------
#ranking
--------------------------*/
#ranking.tw2022_cont{
	margin-bottom: 200px;
}

#ranking .slider_wrap{
	position: relative;
    width: 95%;
    margin-left: auto;
    z-index: 0;
}
#ranking .slider_wrap::before{
	content: '';
	position: absolute;
    right: 0;
    top: -70px;
    -webkit-clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
    background-color: #292929;
    height: 100%;
    width: 65%;
    z-index: 0;
}
#ranking .slider_wrap::after{
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #B1060F;
    -webkit-clip-path: polygon(3% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(3% 0%, 100% 0%, 100% 100%, 0% 100%);
    z-index: -1;
}
#ranking .slider_wrap .slider_inner{
	overflow:hidden;
	background-color: #B1060F;
	-webkit-clip-path: polygon(3.5% 0%, 100% 0%, 100% 100%, 0.5% 100%);
	clip-path: polygon(3.5% 0%, 100% 0%, 100% 100%, 0.5% 100%);
}
#ranking .cont_slider {
    position: relative;
    margin-top: 80px;
    margin-bottom: 60px;
    margin-left: 100px;
	counter-reset: number 0;
}
#ranking .cont_slider .lists{
	margin-right: 20px;
	position: relative;
}
#ranking .cont_slider .lists .num{
    position: absolute;
    top: -40px;
    left: -10px;
    font-size: 10px;
    color: #fff;
}
#ranking .cont_slider .lists .num:before {
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	font-size: 60px;
	font-weight: 700;
	text-shadow: 2px 2px 4px rgba(0,0,0,.5);
	counter-increment: number 1;
	content: counter(number);
	z-index: 1
}
#ranking .cont_slider .lists .thum {
    margin-bottom: 15px;
    overflow: hidden;
}

#ranking .cont_slider .lists .thum img{ width: 100%; }

#ranking .cont_slider .lists a:hover .thum img{
	transform: scale(1.1);
}
#ranking .cont_slider .lists .text .title{
    font-size: 14px;
    margin-bottom: 15px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #F2F2F2;
}


#ranking .btn_link {
    position: absolute;
    bottom: 50px;
    left: 43%;
}
#ranking .btn_link a:hover{
	background: linear-gradient(90deg, #505050 0%, #070707 100%);
}



/*------------------------
#sns
--------------------------*/
#sns.tw2022_cont{
	display: flex;
    align-items: center;
}
#sns .sec_ttl_wrap{
	margin-right: 2%;
}

.sns_tab {
    width: 90%;
    margin-left: auto;
    -webkit-clip-path: polygon(2% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(2% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.sns_tab.is-1 .tab_inner{
    background-color: #fff;
}
.sns_tab.is-2 .tab_inner{
    background-color: #292929;
}
.sns_tab .tab_inner .tab_area{
	padding: 10px;
}
.sns_tab .tab_inner .tab_btn_area{
    margin-left: 18px;
}
.sns_tab .tab_inner .tab_btn_area,
.sns_tab .tab_inner .sns_btn_area{
	display: flex;
	position: relative;
}
.sns_tab .tab_inner .tab_btn{
	width: 50%;
	padding: 15px;
	background-color: #ddd;
	text-align: center;
	font-size: 21px;
	font-weight: bold;
	position: relative;
	cursor: pointer;
	transition: all .2s;
}
.sns_tab .tab_inner .tab_btn._figure{
	background-color: #c38589;
	color: #fff;
}
.sns_tab .tab_inner .tab_btn._robot{
	background-color: #a5a5a5;
	color: #676767;
}
.sns_tab .tab_inner .tab_btn:nth-of-type(odd){
	margin-right: 3px;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 99% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 99% 100%, 0% 100%);
}
.sns_tab .tab_inner .tab_btn:nth-of-type(even){
	margin-left: 3px;
    -webkit-clip-path: polygon(1% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(1% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.sns_tab .tab_inner .tab_btn._figure:hover,
.sns_tab .tab_inner .tab_btn.is-open._figure{
	background-color: #b1060f;
}
.sns_tab .tab_inner .tab_btn._robot:hover,
.sns_tab .tab_inner .tab_btn.is-open._robot{
	background-color: #000;
	color: #fff;
}
.sns_tab .tab_inner .tab_btn.is-open span:before,
.sns_tab .tab_inner .tab_btn.is-open span:after{
	display: none;
}
.sns_tab .tab_inner .tab_btn span:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 70px;
    transform: translateY(-50%);
    background: #fff;
    width: 20px;
    height: 20px;
    border-radius: 50px;
}
.sns_tab .tab_inner .tab_btn span:after{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 73px;
	transform: translateY(-50%);
	background: url(../png/ico_arrow_rt.png) no-repeat center center;
	width: 13px;
    height: 13px;
    background-size: contain;
}

.sns_tab .tab_panel .sns_panel_inner{
	display: flex;
	flex-direction: row-reverse;
    justify-content: center;
    margin: 30px 0;
}
.sns_tab .tab_panel .sns_btn_area{
	display: flex;
	flex-wrap: wrap;
    align-content: flex-start;
    width: 50%;
    padding: 0 5% 0 10%;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn{
    position: relative;
    margin: 0 2% 10%;
    width: 40%;
    max-width: 150px;
    cursor: pointer;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn a span{
    width: 100%;
    padding-top: 100%;
    transition: all .2s;
    background: #fff;
    border-radius: 100%;
    display: block;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn a p{
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    text-align: center;
    font-weight: bold;
    font-size: 13px;
}
.sns_tab.is-2 .tab_panel .sns_btn_area .sns_btn a p{
	color: #fff;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn a:after{
	content: '';
	display: block;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: #fff;
	width: 45px;
    height: 45px;
    background-size: contain;
    transition: all .2s;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn a:hover {
    opacity: .5;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico01 a:after{
	mask: url(../png/ico_x-2.png) no-repeat center center; /*20230920 tw->X*/
    -webkit-mask: url(../png/ico_x-2.png) no-repeat center center; /*20230920 tw->X*/
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico01 a span{
	background: #000;
    border: #fff 1px solid;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico02 a:after{
	mask: url(../png/ico_weib.png) no-repeat center center;
    -webkit-mask: url(../png/ico_weib.png) no-repeat center center;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico02 a span{
	background: #D33337;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico03 a:after{
	mask: url(../png/ico_ins-2.png) no-repeat center center;
    -webkit-mask: url(../png/ico_ins-2.png) no-repeat center center;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico03 a span{
	background: linear-gradient(56deg, #ECA569 0%, #D66057 47%, #802180 100%);
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico04 a:after{
	mask: url(../png/ico_mt.png) no-repeat center center;
    -webkit-mask: url(../png/ico_mt.png) no-repeat center center;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico04 a span{
	background: #1877F2;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico05 a:after{
	mask: url(../png/ico_yt-2.png) no-repeat center center;
    -webkit-mask: url(../png/ico_yt-2.png) no-repeat center center;
}
.sns_tab .tab_panel .sns_btn_area .sns_btn.ico05 a span{
	background: #EA3324;
}

.sns_tab .tab_panel .sns_area {
    width: 50%;
    margin-left: 3%;
    text-align: center;
}
.sns_tab .tab_panel .sns_area .sns_panel{
	max-width: 450px;
	max-height: 600px;
	overflow-y: auto;
    margin: auto;
}

.sns_tab .tab_panel .sns_area .sns_panel iframe{
/*	border: 1px solid #ddd!important;
    border-radius: 3px!important;*/
    margin: 0 auto!important;
}

/*------------------------
#information
--------------------------*/
.info_inner{
    background-color: #F7F7F7;
    padding: 20px;
}
.info_tab{
    width: 90%;
    margin: 30px auto;
}
.info_tab .tab_btn_area{
	position: relative;
	margin-bottom: 30px;
	display: flex;
	font-size: 14px;
	font-weight: 700;
	color: #A3A3A3;
    transition: all .2s;
}
.info_tab .tab_btn_area .tab_btn{
	position: relative;
	margin-right: 2%;
	cursor: pointer;
	transition: all .2s;
}

.info_tab .tab_btn_area .tab_btn:hover,
.info_tab .tab_btn_area .tab_btn.is-open{
	color: #3B3B3B;
}
.info_tab .tab_btn_area .tab_btn.is-open:after{
	content: '';
	display: block;
	position: absolute;
    bottom: -5px;
    left: 0;
    background: #3B3B3B;
	width: 100%;
    height: 2px;
}
.info_tab .info_lists{
	position: relative;
	font-size: 16px;
}
.info_tab .info_lists a{
    margin-bottom: 20px;
    padding-bottom: 20px;
    display: flex;
    align-items: center;
    transition: all .3s;
    position: relative;
    text-decoration: underline;
}
.info_tab .info_lists a:hover{
	color: #DC000C;
}
.info_tab .info_lists a:after{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
	border-top: 2px solid #E6E6E6;
    border-bottom: 2px solid #fff;
}
.info_tab .info_lists a:last-of-type:after{
	display: none;
}
.info_tab .info_lists dt {
    width: 8em;
    font-weight: 400;
}
.info_tab .info_lists dd{
	width: calc(100% - 8em);
	padding-left: 20px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-height: 1.5;
	font-weight: 400;
}

#information .btn_wrap{
    display: flex;
    justify-content: space-around;
    width: 75%;
    margin: 60px auto;
}
#information .btn_wrap .btn_link{
	margin: 0;
}

#information .btn_wrap .btn_link a:hover{
	background: linear-gradient(90deg, #505050 0%, #070707 100%);
}


/*------------------------
#copyright
--------------------------*/
#copyright ul{
	width: 90%;
	margin:  30px auto;
}
#copyright ul li{
	text-align: center;
	margin-bottom: 5px;
}
#copyright ul li:last-of-type{
	margin-bottom: 0;
}


/*------------------------
20231110 SNSエリアインスタ表示
--------------------------*/

.insta_list{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 20px;
}
.insta_list li{
    position: relative;
    width: 100%;
    list-style: none;
}
.insta_list li::before{
	content: "";
	display: block;
	padding-top: 100%;
}
.insta_list a{
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.insta_list img{
    margin: auto auto;
    max-height: 100%;
    max-width: 100%;
    border-radius: 0 0 10px 10px;
}

.insta_header{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    padding: 10px;
    background: #fff;
    border-radius: 10px 10px 0 0;
}

.insta_header span a{
    width: 30px;
    height: 30px;
    transition: all .2s;
    border-radius: 100%;
    display: block;
    background: linear-gradient(56deg, #ECA569 0%, #D66057 47%, #802180 100%);
    position: relative;
}
.insta_header span a:after{
	content: '';
	display: block;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: #fff;
	width: 20px;
    height: 20px;
    transition: all .2s;
	mask: url(../png/ico_ins-2.png) no-repeat center center;
    -webkit-mask: url(../png/ico_ins-2.png) no-repeat center center;
    mask-size: cover;
    -webkit-mask-size: cover;
}
.insta_header span a:hover {
    opacity: .5;
}
.insta_header_ttl a{
    text-decoration: none;
    color: #070707;
}
.sns_tab .tab_panel .sns_area .sns_panel.jp_only {
    border: #ccc solid 1px;
    overflow-y: unset;
    border-radius: 10px;
}

.insta_header_ttl a{
    font-size: 20px;
    font-weight: bold;
}
.insta_header_ttl a:hover{
    color: #DC000C;
}