@charset "UTF-8";

/*--------------------------------------------
  ファンクラブ
---------------------------------------------*/

/* ファンクラブ色設定 */

:root {
  --primary-color:  #0b318f;
  --second-color:   #e60020;
  --accent-color:   #FFEA5E;
  --text-color:     #555;
  --white-color:    #fff;
  --lightgray-color:#f4f4f4;
  --free-rev-color: #a8a8a8;
  
  --platinum-color: rgb(163 182 201);
  --gold-color: 	rgb(216 174 31);
  --regular-color:  rgb(11 49 143);
  --junior-color:   rgb(230 0 32);
  --free-color:     rgb(255 255 255);
  --free-color:     #a8a8a8;
  
  --platinum-color-alpha: rgb(201 201 201 / .2);
  --gold-color-alpha:     rgb(216 174 31 / .2);
  --regular-color-alpha:  rgb(11 49 143 / .1);
  --junior-color-alpha:   rgb(230 0 32 / .1);
  --free-color-alpha:     rgb(255 255 255 / .2);
}

.fc-platinum-color { color: var(--platinum-color)!important; }
.fc-gold-color     { color: var(--gold-color)!important; }
.fc-regular-color  { color: var(--regular-color)!important; }
.fc-junior-color   { color: var(--junior-color)!important; }
.fc-free-color     { color: var(--free-color)!important; }
.fc-text-color     { color: var(--text-color)!important; }
.fc-white-color    { color: var(--white-color)!important; }

.fc-platinum-bg{
color: #fff!important;
fill: #fff!important;
background-color: var(--platinum-color)!important;

}
.fc-platinum-bg-reverse{
color: var(--platinum-color)!important;
fill: var(--platinum-color)!important;
background-color: #fff!important;
}
.fc-gold-bg{
color: #fff!important;
fill: #fff!important;
background-color: var(--gold-color)!important;
}
.fc-regular-bg, .rzf-bg-bl{
color: #fff!important;
fill: #fff!important;
background-color: var(--regular-color)!important;
}
.fc-junior-bg{
color: #fff!important;
fill: #fff!important;
background-color: var(--junior-color)!important;
}
.fc-free-bg{
color: var(--text-color)!important;
fill: var(--free-color)!important;
background-color: var(--white-color)!important;
border-color: var(--free-color)!important;
}
.fc-free-bg-reverse{
color: var(--white-color)!important;
background-color: var(--free-rev-color)!important;
}
/*
.fc-free-bg-reverse{
color: var(--free-color)!important;
background-color: var(--text-color)!important;
}*/
.fc-white-bg, .rzf-bg-wh{
color: var(--text-color)!important;
background-color: var(--white-color)!important;
border-color: var(--text-color)!important;
}
.rzf-bg-lg{
color: #333!important;
background-color: var(--lightgray-color)!important;
border-color: #333!important;
}

/*フリー会員色変2025-26*/
.fc-free-bg-reverse .card p{
color: #FFFFFF!important;
}


.fc-platinum-bg-alpha { background-color: var(--platinum-color-alpha); }
.fc-gold-bg-alpha     { background-color: var(--gold-color-alpha); }
.fc-regular-bg-alpha  { background-color: var(--regular-color-alpha); }
.fc-junior-bg-alpha   { background-color: var(--junior-color-alpha); }
.fc-free-bg-alpha     { background-color: var(--free-color-alpha); }

.fc-platinum-border { border: 1px solid var(--platinum-color)!important; }
.fc-gold-border     { border: 1px solid var(--gold-color)!important; }
.fc-regular-border  { border: 1px solid var(--regular-color)!important; }
.fc-junior-border   { border: 1px solid var(--junior-color)!important; }
.fc-free-border     { border: 1px solid var(--text-color)!important; }


/*** レイアウト設定・パーツ ***/
/* セクションマージン */
/*@media print, screen and (min-width: 1200px){
.rzf-fanclub section:not(.rzf-icon-btn-wrap,.contact-info,.js-pulldown) { margin-bottom: 7em!important;}
}*/

/* 大枠のパディングを無くした場合のレイアウト */
.rzf-wrap > section:not(.rzf-icon-btn-wrap,.contact-info,.js-pulldown, .js-pulldown){
margin-block: 0!important;
padding-block: 5em;
}
.rzf-wrap .rzf-layout-padding{margin-inline: auto!important;}
.rzf-wrap .rzf-layout-offset{margin-inline: 0!important;}
.rzf-wrap .rzf-layout-head-offset{margin-inline: auto!important;}

@media print, screen and (min-width: 1219px) {
/*.rzf-wrap {padding-block: 7em;}*/
.rzf-wrap .rzf-layout-padding {padding-inline: 50px;}
.rzf-wrap .rzf-layout-head-offset{margin-block-start: -50px!important;}
}
@media screen and (max-width: 1218px) {
.rzf-wrap .rzf-layout-padding {padding-inline: 25px;}
.rzf-wrap .rzf-layout-head-offset{margin-block-start: -25px!important;}
}
@media screen and (max-width: 767px) {
.rzf-wrap .rzf-layout-padding {padding-inline: 1.2em;}
.rzf-wrap .rzf-layout-head-offset{margin-block-start: -1em!important;}
}
@media screen and (max-width: 450px){
.rzf-wrap > section:not(.rzf-icon-btn-wrap,.contact-info,.js-pulldown, .js-pulldown){
padding-block: 2.5em;
}
.rzf-wrap .rzf-layout-padding {padding-inline: 0.7em;}
}


/*** ファンクラブ 共通 ***/
/* タイトル・テキスト */
.rzf-fanclub h2.rzf-centertitle {
color: var(--primary-color)!important;
margin: 3em 0 1em!important;
font-family: 'M PLUS 2', sans-serif;
letter-spacing: 0;
}
.rzf-fanclub section h2:first-of-type{
margin-top: 0em!important;
}
.rzf-fanclub .rzf-bg-bl h2.rzf-centertitle {
color: var(--white-color)!important;
}
.rzf-fanclub h3, .mfp-wrap p.fc-goodsbox-title{
margin: 2em 0 1.5em !important;
padding: 0.2em 0.3em;
font-size: 1.3rem !important;
font-weight: 700!important;
font-family: 'M PLUS 2', sans-serif;
text-align: left;
color: var(--primary-color)!important;
border: none;
border-bottom: 3px solid var(--primary-color)!important;
letter-spacing: 0;
}
.mfp-wrap p.fc-goodsbox-title{
margin-top: 0.2em!important;
margin-bottom: 0.6em !important;
}
.rzf-fanclub h4, .mfp-wrap h4 {
margin: 1.0em 0 0.5em !important;
font-weight: 600;
position: relative;
font-family: 'M PLUS 2', sans-serif;
color: inherit!important;
letter-spacing: 0;
text-align: left;
}
.rzf-fanclub h4::before, .mfp-wrap h4::before {
content:"■";
padding-right: 0.2em;
color: var(--accent-color)!important;
}
h4[junior]::before {
  color: #E60020 !important;
}
.rzf-fanclub h5, .mfp-wrap h5 {
font-weight: 600;
font-family: 'M PLUS 2', sans-serif;
}
.rzf-fanclub p:not(.rzf-btn-wrap p, .rzf-textbox p, .js-pulldown p, .js-pulldown p, p.rzf-cautiontext, p.list-mark), .mfp-wrap p{
font-family: 'M PLUS 2', sans-serif;
letter-spacing: 0;
text-align: justify;
font-weight: 500;

}
.rzf-fanclub p a{
padding: 0 0.2em;
border-bottom: 1px solid;
}
.rzf-fanclub p a:hover{border-bottom: none;}

/* 可変の大きなテキスト */
.rzf-fanclub p.fc-big-text {
font-size: 16px;
font-weight: 800!important;
line-height: 2;
}
.rzf-fanclub p.fc-mid-text {
font-size: 15px;
font-weight: 600!important;
}
.rzf-fanclub sup {
font-size: 80%;
font-weight: 400!important;
vertical-align: top;
letter-spacing: 0;
}

.fc-cautiontext{
display: block;
font-size: 85%;
line-height: 1.6;
}

@media (min-width: 767px) {
.rzf-fanclub h2.rzf-centertitle {
margin: 4em 0 2em!important;
padding: 0.5em 0.1em;
}
.rzf-fanclub h3{
margin: 4em 0 1.8em !important;
}
.rzf-fanclub p.fc-big-text {
font-size: calc(1rem + ((1vw - 7.67px) * 1.2638));
min-height: 0vw;
line-height: 2;
}
.rzf-fanclub p.fc-mid-text {
font-size: 16px;
}
}
@media (max-width: 450px) {
.rzf-fanclub h2.rzf-centertitle {
font-size: 1.8em!important;
}
.rzf-fanclub h3{
font-size: 1.2rem!important;
}
.rzf-fanclub p:not(.rzf-btn-wrap p, .rzf-textbox p, .js-pulldown p, .js-pulldown p, p.rzf-cautiontext, p.list-mark, p.fc-grade-text), .mfp-wrap p{
padding-inline:0.4em;
}
}
@media (min-width: 1400px) {
.rzf-fanclub h2.rzf-centertitle {
margin: 5em 0 3em!important;
font-size: 3.6em
}
.rzf-fanclub p.fc-big-text {font-size: 24px;}
.rzf-fanclub p.fc-mid-text {font-size: 20px;}
}

/* 会員グレード バッジ */
.fc-badge-wrap{position: relative;}
.fc-badge{
position: absolute;
right: 0;
bottom: 0.6em;
}
.fc-badge span{
display: inline-block;
font-size: 0.75rem;
margin-right: 0.4em;
margin-bottom: 0.4em;
padding: 0.2em 0.5em;
color: #fff;
background-color: #aaa;
}
.fc-badge span:last-child{margin-right: 0;}
.fc-topics-slide .fc-badge, .mfp-wrap .fc-badge{
position: inherit;
display: block;
bottom: inherit;
margin-bottom: 1.2em;
text-align: left;
}

@media (max-width: 767px) {
.fc-badge{
position: inherit;
display: block;
margin-bottom: 1.2em;
}
h3 + .fc-badge{margin-top: -0.5em;}
}


/* 注意文 */
.rzf-fanclub .rzf-textbox{
margin-top: 2em;
color: var(--text-color)!important;
background-color: #fff;
letter-spacing: 0;
}
.rzf-fanclub .rzf-textbox p a{
color: var(--primary-color)!important;
padding: 0 0.2em;
border-bottom: 1px solid;
}
.rzf-fanclub .rzf-textbox p a:hover{border-bottom: none;}

.rzf-cautiontext, p.rzf-cautiontext {
font-size: 0.85em;
text-indent: -1em;
padding-left: 1em;
margin-bottom: 0.7em!important;
line-height: 1.4;
word-break: break-all;
}
.rzf-cautiontext i, p.rzf-cautiontext i, .list-mark i {text-indent: 0;}
.rzf-cautiontext-wrap .rzf-cautiontext, .rzf-cautiontext-wrap p.rzf-cautiontext {margin-bottom: 0!important;}

@media screen and (max-width: 450px){
.rzf-cautiontext {
  text-indent: -1em;
  padding-left: 1.4em;
}
.rzf-textbox p,
.js-pulldown p,
p.list-mark,
p.fc-grade-text {
  text-indent: initial;
  padding-left: initial;
}
}

/* リスト用段落設定 */
p.fanclub-list-number{
text-indent: -1.5em;
padding-left: 1.3em;
}
p.fanclub-list-mark{
text-indent: -0.9em;
padding-left: 0.7em;
}

/* 黄色マーカー下線 */
.fanclub-text-marker{
background:linear-gradient(transparent 85%, #ffdc00 85%);
font-weight:bold; 
}

/* 共通 ページナビ ファンクラブ変更 */
.rzf-fanclub .rzf-page-nav, .rzf-fanclub .page-nav{
margin-bottom: 1em!important;
}

/* 共通 ボタン ファンクラブ変更 */
.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) {max-width: 560px; box-sizing: border-box;}
.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) a {
margin: 0 auto;
padding: 1.2em 20px 1.2em 5px;
border: 2px solid var(--primary-color);
border-radius: 50px;
/*transition: 0.2s;*/

background-image: linear-gradient(45deg, var(--accent-color) 50%, transparent 50%);
background-position: 100%;
background-size: 400%;
transition: 0.8s ease-in-out ;
}
.rzf-fanclub .rzf-bg-bl .rzf-btn:not(.fc-contact-info-btn) a {
/*border: 2px solid var(--white-color);*/
border: 2px solid var(--accent-color);
}

.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) a::after {
border: none;
-webkit-transform: none;
transform: none;
right: 30px;
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f138";
display: flex;
align-items: center;
font-size: 1.3em;
color: var(--accent-color);
transition: 0.2s ease-in 0.4s ;
}
.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) a:hover {
opacity: 1;
color: var(--primary-color)!important;
background-color: var(--accent-color);
background-position: 0;
}
.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) a:hover::after {
right: 25px;
color: var(--primary-color);
}

.rzf-fanclub .rzf-btn.rzf-regist-btn:not(.fc-contact-info-btn) a {
padding: 1.3em 20px 1.3em 5px;
font-size: 1.2em;
font-weight: 700;
color: var(--primary-color)!important;
background-color: var(--accent-color);
background-image: linear-gradient(45deg, var(--primary-color) 50%, transparent 50%);
}
.rzf-fanclub .rzf-btn.rzf-regist-btn.fc-topics a {
background-image: linear-gradient(45deg, var(--accent-color) 50%, transparent 50%);
border: none!important;
}
.rzf-fanclub .rzf-btn.rzf-regist-btn:not(.fc-contact-info-btn) a::after {
color: var(--primary-color);
}
.rzf-fanclub .rzf-btn.rzf-regist-btn:not(.fc-contact-info-btn) a:hover {
color: var(--accent-color)!important;
border: 2px solid var(--accent-color);
background-color: var(--primary-color);
}
.rzf-fanclub .rzf-btn.rzf-regist-btn.fc-topics:not(.fc-contact-info-btn) a:hover {
  color: var(--primary-color) !important;
  border: 2px solid var(--primary-color);
  background-color: var(--primary-color);
}
.rzf-fanclub .rzf-btn.rzf-regist-btn:not(.fc-contact-info-btn) a:hover::after {
color: var(--accent-color);
}
.rzf-fanclub .rzf-btn.rzf-regist-btn.fc-topics a:hover::after {
color: var(--primary-color);
}
.rzf-fanclub .rzf-btn-wrap p a{
color: var(--primary-color)!important;
font-weight: 500;
transition: 0.2s;
}

.rzf-fanclub .fanclub-btn-point-blue span {
  color: var(--accent-color);
  transition: color 0.5s ease-in-out;
}

.rzf-fanclub .fanclub-btn-point-blue:hover span {
  color: var(--primary-color);
}

.rzf-fanclub .rzf-btn-wrap .rzf-btn,  .rzf-fanclub .rzf-btn-wrap img{
margin-bottom: 1em!important;
}
@media screen and (max-width: 767px){
.rzf-fanclub .rzf-btn.rzf-regist-btn:not(.fc-contact-info-btn) a {
padding: 1.1em 20px 1.1em 5px;
font-size: 1.1em;
}
.rzf-fanclub .rzf-btn-wrap p a{
font-size: 0.9em;
}
}
@media screen and (max-width: 450px){
.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) a {
padding: 1em 30px 1em 8px;
line-height: 1.2;
}
.rzf-fanclub .rzf-btn.rzf-regist-btn:not(.fc-contact-info-btn) a {
padding: 1.1em 30px 1.1em 8px;
}
.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) a::after{right: 20px;}
.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) a:hover::after {right: 17px;}
}
@media screen and (min-width: 1200px){
.rzf-fanclub .rzf-btn:not(.fc-contact-info-btn) { max-width: 800px;}
}

/* 追従バナー */
#footerbanner.rzf-fixed-banner a:hover {
opacity: 1;
}

/* スライド画像
------------------------------------------------------------*/
.fc-loop-slide-cont {
  display: flex; 
  overflow: hidden;
}

.fc-loop-slide-wrapper {
  display: flex; 
  overflow: hidden;
  margin-left: -4%;
}

.fc-loop-slide-wrapper.skew {
  transform: skewX(-10deg);
  transform-origin: bottom left;
}

.fc-loop-slide li figure {
  overflow: hidden;
}

.fc-loop-slide li figure img {
  min-width: 117.6%;
  transform: skewX(10deg);
  transform-origin: bottom left;
}

.fc-loop-slide {
  animation: fc-scroll-left 40s infinite linear .10s both;
  display: flex; 
}

.fc-loop-slide li {
  width: calc(100vw / 5);
}

.fc-loop-slide li img {
  display: block;
  width: 100%;
}

@keyframes fc-scroll-left {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}

@keyframes fc-scroll-right {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

@media screen and (max-width: 767px) {
  .fc-loop-slide li {
    width: calc(100vw / 4);
  }
}

@media screen and (max-width: 480px) {
  .fc-loop-slide li {
    width: calc(100vw / 3);
  }
.fc-loop-slide-wrapper {
  margin-left: -5%;
}
}

/*** ループ文字 ***/
.scroll-wrapper {
  overflow: hidden;
  position: relative;
  white-space: nowrap;
  margin-bottom: 3em;
}

.fc-text-loop {
  display: flex;
  width: max-content;
  animation: scroll-left 40s linear infinite; /* スピード調整 */
}

.fc-loop-content {
  display: flex;
}

.fc-loop-content span {
  font-family: 'Abolition', sans-serif;
  font-size: 74px;
  color: #E5E9F3;
  padding-right: 50px;
  display: inline-block;
}

/* アニメーション */
@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* モバイル対応 */
@media (max-width: 768px) {
  .fc-loop-content span {
    font-size: 42px;
    padding-right: 30px;
  }
}

/*--------------------------------------------
  ファンクラブ概要
---------------------------------------------*/

/*** トピックス ***/
/* スライダー */
.fc-topics-slide .slick-slide{margin: 0 10px 1em;}
.fc-topics-slide .slick-prev {
left: 0;
z-index: 1;
}
.fc-topics-slide .slick-next {right: 0;}
.fc-topics-slide .slick-prev, .fc-topics-slide .slick-next{
width: 40px;
height: 40px;
padding-top: 2px;
background-color: var(--primary-color);
border-radius: 3px;
box-sizing: border-box;
}
.fc-topics-slide .slick-prev:before, .fc-topics-slide .slick-next:before {
font-size: 30px;
color: #fff;
line-height: 40px;
opacity: 1;
transition: 0.3s;
}
.fc-topics-slide .slick-next:focus, .fc-topics-slide .slick-next:hover, .fc-topics-slide .slick-prev:focus, .fc-topics-slide .slick-prev:hover {
background-color: var(--primary-color);
}
.fc-topics-slide .slick-next:hover:before, .fc-topics-slide .slick-prev:hover:before {
color: var(--accent-color);
}
.fc-topics-slide .slick-dots li button:before{
color: #aaa;
opacity: 1;
transition: 0.3s;
}
.fc-topics-slide .slick-dots li.slick-active button:before {
opacity: 1;
color: var(--primary-color);
}
.fc-topics-slide .slick-dots li button:focus:before, .fc-topics-slide .slick-dots li button:hover:before {
opacity: 0.8;
}

.fc-topics-slide .slick-prev,
.fc-topics-slide .slick-next {
  top: calc(((100vw / 2.45) * 0.5625 / 2) + 1.3rem + 1.4rem + 1.0em);
}

@media (max-width: 1400px) {
  .fc-topics-slide .slick-prev,
  .fc-topics-slide .slick-next {
    top: calc(((100vw / 1.66) * 0.5625 / 2) + 1.3rem + 1.4rem + 1.0em);
  }
}
@media (max-width: 760px) {
  .fc-topics-slide .slick-prev,
  .fc-topics-slide .slick-next {
    top: calc(((100vw / 1.25) * 0.5625 / 2) + 1.3rem + 1.4rem + 1.0em);
  }
}
@media (max-width: 600px) {
  .fc-topics-slide .slick-prev,
  .fc-topics-slide .slick-next {
    top: calc(((100vw / 1.2) * 0.5625 / 2) + 1.1em + 1.4rem + 1.0em);
  }
}

/* トピックス用タイトル */
.fc-topics-slide h3 {
display: flex;
align-items: flex-start;
margin: 0 0 1em!important;
padding: 0!important;
line-height: 1.4;
border: none;
color: var(--white-color)!important;
}
.fc-topics-slide h3::before {
content: "";
width: 8px;
min-width: 8px;
height: 1.4em;
border-radius: 10px;
background-color: var(--accent-color);
margin-right: 0.5em;
}
.fc-topics-slide p, .fc-slide-cont p {
color: var(--white-color)!important;
font-weight: 500;
text-align: justify;
}
 .fc-slide-cont p {
color: var(--white-color)!important;
font-weight: 500;
text-align: justify;
}

.fc-slide-cont.topics p {
font-size: 1.3em;
}

.fc-slide-cont figure {
  margin-bottom: 1em;
}

@media screen and (max-width: 600px) {
 .fc-topics-slide h3 {
font-size: 1.3em!important;
}
.fc-topics-slide h3::before {
width: 6px;
min-width: 6px;
margin-right: 0.2em;
}
}

@media screen and (max-width: 600px) {
 .fc-topics-slide h3 {
font-size: 1.1em!important;
}
.fc-topics-slide h3::before {
width: 5px;
min-width: 5px;
}
}

/* ページネーション */
.rzf-bg-bl ul.slick-dots {
  position: static !important;
  display: flex !important;
  justify-content: center;
  margin-top: 0 !important;
  padding: 0;
  list-style: none;
}

.rzf-bg-bl ul.slick-dots li {
  margin-left: 15px !important;
}

.rzf-bg-bl ul.slick-dots li:first-child {
  margin-left: 0 !important;
}

.rzf-bg-bl ul.slick-dots button {
  width: 12px !important;
  height: 12px !important;
  background: var(--white-color) !important;
  border-radius: 50px !important;
  opacity: 1 !important;
  border: none;
  padding: 0;
  font-size: 0;
  transition: all 0.3s ease;
}

.rzf-bg-bl .slick-dots li button:before {
  content: ' ' !important;
}

.rzf-bg-bl ul.slick-dots li.slick-active button {
  background-color: var(--accent-color) !important;
  width: 40px !important;
  border-radius: 50px !important;
  margin-left: -14px !important;
  z-index: 1;
  position: relative;
}

@media screen and (max-width: 767px) {
.rzf-bg-bl ul.slick-dots {
    margin-top: 1em !important;
  }
.fc-slide-cont.topics p {
font-size: 1.0em;
}
}

/* グレード */
.fc-grade-card li {
  border-radius: 6px;
  overflow: hidden; 
}

ul.fc-grade-card {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2em;
  padding: 0;
  margin: 0 auto;
  list-style: none;
  max-width: 100%;
  box-sizing: border-box;
}

ul.fc-grade-card > li {
  box-sizing: border-box;
  width: calc((100% - 2.4em) / 3);
  max-width: 385px;
}
ul.fc-grade-card li a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1.5em 1.5em 1em;
  box-sizing: border-box;
}

.fc-grade-card .fc-platinum-bg a {
  color: #fff !important;
  fill: #fff !important;
  background-color: var(--platinum-color) !important;
}
.fc-grade-card .fc-gold-bg a {
  color: #fff !important;
  fill: #fff !important;
  background-color: var(--gold-color) !important;
}
.fc-grade-card .fc-regular-bg a {
  color: #fff !important;
  fill: #fff !important;
  background-color: var(--regular-color) !important;
}
.fc-grade-card .fc-junior-bg a {
  color: #fff !important;
  fill: #fff !important;
  background-color: var(--junior-color) !important;
}
.fc-grade-card .fc-free-bg a {
  color: #fff !important;
  fill: var(--text-color) !important;
  background-color: #A8A8A8;
  border-color: var(--text-color) !important;
}
.team-rf .layout-second .second-body article li.fc-free-bg-reverse.card > a {
  color: #fff !important;
}

.fc-grade-card-title-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.fc-grade-card-title-wrap p {
    margin-bottom: 0.5em!important; 
}

.fc-grade-card-title-wrap svg,
.fc-grade-card-title-wrap img {
  width: 45%;
  max-width: 100px;
  padding: 0.5em 0.5em 0 0.5em;
}
.fc-grade-title {
  font-size: 1.6em;
  padding: 0 0.5em 0.5em 0.5em;
  font-weight: 700 !important;
}
.fc-grade-title span {
  display: block;
  font-family: "abolition", sans-serif;
  font-size: 2.6em;
  letter-spacing: 0.05em;
  font-weight: bold;
}

p.fc-grade-text {
  display: table;
  margin-left: auto !important;
  margin-right: auto !important;
  font-weight: 600;
  text-align: justify !important;
  margin-bottom: 2.0em!important;
}

/* 年会費 */
.fc-grade-price {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 2em;
  margin-top: auto;
  margin-bottom: 0.5em;
  padding: 0.5em 0.8em;
  text-align: center;
  font-weight: 900;
  background-color: #fff;
}
.fc-grade-nenkaihi {
  margin-right: 1em;
  font-size: 0.8rem;
  font-weight: 600;
}

.fc-grade-link {
  margin: 0.7em;
  font-size: 0.85em;
  text-align: center;
}

/* 三角形 */
.fc-grade-card-list::after {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  border-bottom: 16px solid white;
  border-left: 16px solid transparent;
}

@media screen and (max-width: 767px) {
  ul.fc-grade-card > li {
    width: calc((100% - 1.2em) / 2); 
  }
ul.fc-grade-card {
  gap: 0.6em;
}
  .fc-grade-title {
    font-size: 1.3em;
  }
  .fc-grade-price {
    font-size: 1.4em;
    padding: 0.4em 0.6em;
  }
  .fc-grade-text {
    font-size: 0.9em;
  }
  .fc-grade-link {
    font-size: 0.75em;
  }
  .fc-grade-card-title-wrap img {
    width: 40%;
    max-width: 80px;
  }
.fc-grade-card::after {
  border-bottom: 14px solid white;
  border-left: 14px solid transparent;
}
  .fc-grade-card-title-wrap img {
    width: 50%;
    max-width: 120px;
  }
}

@media screen and (max-width: 600px) {
  .fc-grade-title {
    font-size: 1.2em;
  }
  .fc-grade-price {
    font-size: 1.2em;
  }
  .fc-grade-text {
    font-size: 0.8em;
  }
ul.fc-grade-card li a {
  padding: 1.0em 0.5em;
}
  .fc-grade-card-title-wrap img {
    width: 50%;
    max-width: 80px;
  }
.fc-grade-card::after {
  border-bottom: 12px solid white;
  border-left: 12px solid transparent;
}
}

/* アイキャッチ文字 */
.fc-grade-eye-catch-wrap {
  text-align: center;
}

.fc-grade-eye-catch-text {
  position: relative;
  display: inline-block;
  font-family: 'M PLUS 2', sans-serif;
  font-size: 1.8em;
  font-weight: 700;
  line-height: 1.2;
  margin: 1.0em 0 0.5em 0;
  z-index: 1;
  padding: 0 0.2em; 
  color: var(--primary-color);
}

.fc-grade-eye-catch-text::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.2em;
  height: 0.5em;
  background-color: #FFEA5E;
  z-index: -1;
}

/*** 特典一覧 ***/
.fc-privilege-list{
display: grid;
gap: 5px;
grid-template-columns: 50px 2fr 1fr 1fr 1fr 1fr 1fr;
width: 100%;
background-color: #fff;
letter-spacing: 0;
padding: 0.8em;
}
.fc-privilege-list > div{
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-items: stretch;
justify-content: center;
width: 100%;
padding: 0.5em;
color: #555;
font-size: 14px;
text-align: center;
line-height: 1.4;
border: 1px solid #eee;
}
.fc-privilege-list div.fc-privilege-list-grade {
display: block;
padding: 1.2em 0.2em;
font-size: 12px;
font-weight: 600;
line-height: 1.3;
}
.fc-privilege-list div.fc-privilege-list-grade span {
display: block;
font-size: 15px;
font-weight: 600;
line-height: 1.6;
letter-spacing: 0.01em;
}

.fc-privilege-list div.fc-privilege-list-item{
justify-content: center;
text-align: left;
font-weight: 600;
line-height: 1.6;
}
.fc-privilege-list div.fc-privilege-list-genre{
font-weight: 600;
color: #fff;
background-color: #555;
writing-mode: vertical-rl;
}

/* 内包する特典の数を記述 */
.fc-privilege-list-genre  {grid-row: 2 span;}
.fc-privilege-list-genre.fc-privilege-list-early  {grid-row: 1 span;}
.fc-privilege-list-genre.fc-privilege-list-goods  {grid-row: 7 span;}
.fc-privilege-list-genre.fc-privilege-list-ticket {grid-row: 5 span;}
.fc-privilege-list-genre.fc-privilege-list-event  {grid-row: 3 span;}
.fc-privilege-list-genre.fc-privilege-list-service{grid-row: 2 span;}
.fc-privilege-list-genre.fc-privilege-list-point  {grid-row: 5 span;}

@media screen and (max-width: 640px) {
.fc-privilege-list{
gap: 2px;
grid-template-columns: 30px 1fr 1fr 1fr 1fr 1fr;
padding: 0.5em;
}
.fc-privilege-list div{
padding: 0.5em 0.1em;
font-size: 10px;
line-height: 1.2;
}
.fc-privilege-list div.fc-privilege-list-item{
grid-column: 2 / 7;
justify-content: center;
font-size: 11px;
text-align: center;
background-color: #ddd;
}
.fc-privilege-list div.fc-privilege-list-grade {font-size: 10px;}
.fc-privilege-list div.fc-privilege-list-grade span {font-size: 11px;}
.fc-privilege-list div.fc-privilege-list-genre{font-size: 10px;}
.fc-privilege-list-genre  {grid-row: 3 span;}
.fc-privilege-list-genre.fc-privilege-list-early  {grid-row: 2 span;}
.fc-privilege-list-genre.fc-privilege-list-goods  {grid-row: 14 span;}
.fc-privilege-list-genre.fc-privilege-list-ticket {grid-row: 10 span;}
.fc-privilege-list-genre.fc-privilege-list-event  {grid-row: 6 span;}
.fc-privilege-list-genre.fc-privilege-list-service{grid-row: 4 span;}
.fc-privilege-list-genre.fc-privilege-list-point  {grid-row: 10 span;}

.fc-privilege-list-item.fc-privilege-list-sp-none{display: none;}
}
@media screen and (min-width: 1200px) {
/*.fc-privilege-list{
padding: 1.5em;
}*/
.fc-privilege-list div.fc-privilege-list-grade br{
display: none;
}
}

/*--------------------------------------------
  入会方法スライダー
---------------------------------------------*/
.fc-app-slider-wrapper {
  width: 100%;
  max-width: 800px;
  margin: 50px auto;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.fc-app-slider {
  flex-wrap: nowrap;
  overflow: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.fc-app-slider:not(.slick-initialized) {
  display: flex;
  flex-wrap: nowrap;
}

.fc-app-slider p {
  margin-bottom: 1.0em!important;
}

.fc-app-slider.slick-initialized .slick-slide {
  display: flex !important;
  justify-content: center;
}

.fc-app-slider .slick-slide {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
}

.fc-app-slider .slick-track {
  display: flex !important;
  align-items: stretch;   
  gap: 2.0em !important; 
}

.fc-app-slider-wrapper p {
  text-align: center !important;
}
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.fc-app-slide-box {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  text-align: center;
  scroll-snap-align: start;	
  margin: 0 !important;
  padding: 0 !important;
}

.fc-app-step-label {
  width: 150px;
  height: 30px;
  background-color: #0B318F;
  color: #fff;
  line-height: 30px;
  margin-bottom: 1.5em;
  border-radius: 999px; 
  font-family: 'M PLUS 2', sans-serif;
  font-weight: 500;
}

.fc-app-step-label span {
  margin-left: 0.2em;
  font-size: 1.2em;
  font-weight: 600;
}

.fc-app-slide-box img {
  width: 100%;
  max-width: 340px !important;
  height: auto;
  object-fit: cover;
  border: 1px solid #ccc;
  display: block;
  margin-bottom: 1.0em;
}

/* 共通矢印ボタン設定 */
.fc-app-slider .slick-prev,
.fc-app-slider .slick-next {
  width: 40px;
  height: 40px;
  background-color: #0B318F;
  border: none;
  position: absolute;
  top: calc(((676px - 50% - 4em) * 0.87142 / 2) + 1.5em + 30px);
  transform: translateY(-50%);
  z-index: 5;
  padding: 0;
  cursor: pointer;
}

.fc-app-slider .slick-prev::before,
.fc-app-slider .slick-next::before {
  content: none;
}

.fc-app-slider .slick-prev::after,
.fc-app-slider .slick-next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
}

.fc-app-slider .slick-prev::after {
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-right: 10px solid white;
}

.fc-app-slider .slick-next::after {
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 10px solid white;
}

.fc-app-slider .slick-prev {
  left: 0;
  border-radius: 0 20px 20px 0;
}

.fc-app-slider .slick-next {
  right: 0;
  border-radius: 20px 0 0 20px;
}

.fc-app-gray-box {
	background-color: #707070;
	width: 200px;
	height: 45px;
	border-radius: 999px;
	display: flex;
  flex-direction: column;
	align-items: center!important;
	justify-content: center;
  position: relative;
	margin-bottom: 3.5em;
}
.how-to-use .slick-dotted.slick-slider {
    margin-bottom: 0;
}
.fc-app-gray-box p {
  color: #fff;
  font-weight: 500 !important;
  font-size: 0.9em;
  line-height: 1.2;
  text-align: center;
	}
.rzf-wrap .fc-app-gray-box p:not(.rzf-cautiontext) {
  margin-bottom: 0 !important;
}
.fc-app-gray-box::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #fff;
}

.fc-app-slider .slick-next:focus, .slick-next:hover, .slick-prev:focus, .slick-prev:hover {
    background: var(--primary-color)!important;
}

/* タブレット（2枚表示） */
@media (max-width: 760px) {
.fc-app-slider-wrapper {
  width: 100%;
}
  .fc-app-slider .slick-track {
    display: flex !important;
    align-items: stretch;
  }
 .fc-app-slide-box img {
  width: 73.6vw; 
  aspect-ratio: 558.74 / 487.11; 
  height: auto;
  }
.fc-app-slider .slick-track {
  gap: 0em !important; 
}
.fc-app-gray-box {
	margin-bottom: 3.0em;
}
}

/* スマホ（1枚表示） */
@media (max-width: 600px) {
  .fc-app-slide-box {
    width: 100% !important; 
  }
 .fc-app-slide-box img {
  width: 100%; 
  }
  .fc-app-slider .slick-track {
    display: flex !important;
    align-items: stretch;
  }
  /*.fc-app-slide-box img {
    max-width: 85% !important;
  }*/
.fc-app-gray-box {
	margin-bottom: 2.5em;
}
}

/*--------------------------------------------
  入会申込み方法・よくある質問 
---------------------------------------------*/
.rzf-wrap.rzf-fanclub .js-pulldown .pulldown {
border-color:  var(--primary-color)!important;
}
.rzf-wrap.rzf-fanclub .js-pulldown h3,
.rzf-wrap.rzf-fanclub .js-pulldown dt {
color: var(--white-color)!important;
background-color: var(--primary-color)!important;
border: none !important;
}
.rzf-wrap.rzf-fanclub .rzf-faq .js-pulldown .pulldown {border: none;}
.rzf-wrap.rzf-fanclub .rzf-faq .js-pulldown h3,
.rzf-wrap.rzf-fanclub .rzf-faq .js-pulldown dt{
color: var(--primary-color) !important;
background-color: transparent !important;
}
.rzf-fanclub .rzf-faq div.js-pulldown {
margin-bottom: 0.7em!important;
padding: 0;
}
.rzf-fanclub .rzf-faq .js-pulldown dt {
padding-left: 1.1em!important;
text-indent: 0; 
}
.rzf-fanclub .rzf-faq .js-pulldown dd {
margin-top: 0;
text-indent: 0;
text-align: justify;
}
.rzf-fanclub .rzf-faq .js-pulldown.show dd.pulldown {
display: flex!important;
}
.rzf-fanclub .rzf-faq dt:before {
color: inherit;
margin-bottom: auto;
padding-bottom: 0.2em;
}
.rzf-fanclub dd:before {color: var(--second-color)!important;}
.rzf-fanclub dd a {
padding: 0 0.2em;
border-bottom: 1px solid;
}
.rzf-fanclub .rzf-faq dd a:hover {border-bottom: none;}

@media screen and (max-width: 640px) {
.rzf-fanclub .rzf-faq .js-pulldown dt {
padding: 0.5em 0;
padding-left: 0.3em;
}
}
@media screen and (max-width: 450px) {
.rzf-wrap.rzf-fanclub .js-pulldown .pulldown {
padding: 1.5em 0.7em;
}
.rzf-fanclub .rzf-faq .js-pulldown .pulldown {
padding: 1.5em 0.5em;
}
}

/*--------------------------------------------
  会員グレード・特典詳細
---------------------------------------------*/
/* 会員グレード タイトル */
.fc-goodsbox-head{
display: flex;
align-items: flex-end;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 4em;
padding: 1.2em 1.2em 2.2em;
position: relative;
}
.fc-goodsbox-head::before{
content: "";
width: 100%;
position: absolute;
left: 0;
bottom: 20px;
border: 3px solid #fff;
}
.fc-goodsbox-head .fc-grade-title{
display: flex;
align-items: baseline;
flex-wrap: wrap;
border: none;
margin: 0!important;
margin-right: 2.1em;
padding: 0;
font-size: 1.95em!important;
line-height: 1;
color: inherit!important;
border: none!important;
}
.fc-goodsbox-head .fc-grade-title span{
margin-right: 0.1em;
font-size: 3em;
letter-spacing: 0.05em;
}
.fc-goodsbox-head .fc-grade-price{
width: auto;
margin: 0!important;
margin-top: 0.1em!important;
padding: 0 0 5px;
font-size: 2.6em;
letter-spacing: 0;
}
.fc-goodsbox-head .fc-grade-nenkaihi{
width: max-content;
margin: 0.4em 1.0em 0 0;
}

@media screen and (max-width: 767px){
.fc-goodsbox-head{margin-bottom: 2em;}
.fc-goodsbox-head .fc-grade-title{font-size: 1.2em!important;}
.fc-goodsbox-head .fc-grade-title span{
font-size: 3em;
letter-spacing: 0.03em;
}
.fc-goodsbox-head .fc-grade-price{
font-size: 2em;
padding: 0 0 3px;
}
}

/* 特典内容用タイトル */
.rzf-wrap .fc-goodsbox-inner h4 {
position: relative;
margin: 3em 1em 1.8em 0!important;
padding: 0.8em 1.0em;
font-family: 'M PLUS 2', sans-serif;
font-size: 1.5rem !important;
font-weight: 800;
color: #fff !important;
background-color: var(--primary-color);
display: flex;
align-items: center;
}
.rzf-wrap .fc-goodsbox-inner h4::after{
 position:absolute;
 content:'';
 right:-2px;
 top:-7px;
 width:0;
 height:0;
 border:none;
 border-left:solid 35px transparent;
 border-bottom:solid 90px white;
 }
.rzf-wrap .fc-goodsbox-inner h4::before {
content: "●";
color: #fff!important;
margin-right: 0.2em;
}

.rzf-wrap .fc-goodsbox-inner h4 span.fc-goodsbox-titlelink {
margin-left: auto;
margin-right: 2em;
font-size: 0.8rem;
font-weight: 500;
color: #fff!important;
}
.rzf-wrap #details h4 .fc-goodsbox-titlelink a {

color: #fff!important;
padding: 0.3em 0.5em;
}
.rzf-fanclub p.fc-goodsbox-tap{
display: none;
}

@media screen and (max-width: 767px) {
.rzf-wrap .fc-goodsbox-inner h4 {
margin: 2em 1em 1.5em 0!important;
/*padding: 0.8em 1.0em;*/
font-size: 1.2rem !important;
font-weight: 700;
}
.rzf-wrap .fc-goodsbox-inner h4::after{
 right: 0;
 top:-10px;
 }

}
@media screen and (max-width: 640px) {
.rzf-wrap .fc-goodsbox-inner h4 {
display: block;
margin: 1.8em 0.5em 0.3em 0!important;
font-size: 1.1rem !important;
}
.rzf-wrap .fc-goodsbox-inner h4::after{
top:-2px;
border-left-width: 25px;
border-bottom-width: 60px;
}
.rzf-wrap .fc-goodsbox-inner h4 span.fc-goodsbox-titlelink {
display: none;
}
.rzf-fanclub p.fc-goodsbox-tap{
display: block;
margin-right: 0.5em!important;
margin-bottom: 1.5em!important;
text-align: right!important;
font-size: 0.8rem;
}

}
@media screen and (max-width: 450px) {
.rzf-wrap .fc-goodsbox-inner h4 {
margin: 1.5em 0.5em 0.3em 0!important;
padding: 0.5em 0.8em;
font-size: 1rem !important;
}
.rzf-wrap .fc-goodsbox-inner h4::after{
border-left-width: 15px;
border-bottom-width: 50px;
}
.rzf-wrap .fc-goodsbox-inner h4 span.fc-goodsbox-titlelink {
font-size: 0.7rem;
}
.rzf-wrap .fc-goodsbox-inner h4 .fc-goodsbox-titlelink a {
background-color: #fff;
padding: 0.2em 0.5em;
}
}

/* 会員特典 */
.fc-goodsbox {
display: grid;
gap: 15px 13px;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
width: 100%;
padding: 0 1.5em;
}
.fc-goodsbox li{
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
border: 2px solid;
border-radius: 7px 7px 0 0;
}
.fc-goodsbox li h5{
display: flex;
justify-content: center;
align-items: center;
min-height: 55px;
margin: 0!important;
text-align: center;
font-family: 'M PLUS 2', sans-serif;
font-size: 1rem!important;
font-weight: 700;
text-align: left;
color: #fff!important;

background-color: var(--primary-color);
padding: 0.5em;

line-height: 1.2;
letter-spacing: 0;
}

.fc-goodsbox li a{
display: flex;
flex-direction: column;
height: 100%;
position: relative;
}
.fc-goodsbox li a::after{
display: block;
position: absolute;
font-family: "Font Awesome 5 Free";
content: '\f055';
font-weight: 900;
font-size: 2.5em;
padding-left: 0.5em;
bottom: 0.2em;
right: 0.2em;
line-height: 1;
text-shadow:
2px 2px 0 #FFF, -2px -2px 0 #FFF,
-2px 2px 0 #FFF, 2px -2px 0 #FFF,
0px 2px 0 #FFF,  0 -2px 0 #FFF,
-2px 0 0 #FFF, 2px 0 0 #FFF;
}

.fc-goodsbox li p{
margin: 0!important;
margin-top: 0.2em!important;
font-size: 0.85em;
line-height: 1.6;
color: #555;
}
.fc-goodsbox li p a{color: #555!important;}

.fc-goodsbox-thum {
height: 100%;
min-height: 150px;
display: flex;
align-items: center;
justify-content: center;
}
.fc-goodsbox-image {
max-width: 500px;
margin-inline: auto;
}
.fc-goodsbox-goods {
width: auto;
max-width: 500px;
margin-inline: auto;
padding: 1em 2em;
}
.fc-goodsbox-icon {
width: auto;
max-width: 250px;
margin-inline: auto;
padding: 1em 3.5em;
}

.fc-goodsbox-image img{
object-fit: cover;
aspect-ratio: 4 / 3;
max-width: 100%;
width: 100%;
}
.fc-goodsbox-goods img{
width: 100%;
max-width: 100%;
object-fit: contain;
aspect-ratio: 4 / 3;
}
.inline-modal .fc-goodsbox-goods img{
aspect-ratio: 1 / 1;
}
.fc-goodsbox-icon img{width: 100%;}

.fc-goodsbox.fc-platinum-color li h5{background-color: var(--platinum-color);}
.fc-goodsbox.fc-gold-color li h5{background-color: var(--gold-color);}
.fc-goodsbox.fc-regular-color li h5{background-color: var(--regular-color);}
.fc-goodsbox.fc-junior-color li h5{background-color: var(--junior-color);}
.fc-goodsbox.fc-free-color li h5{background-color: var(--free-rev-color);}

.fc-goodsbox.fc-platinum-color li a::after{color: var(--platinum-color);}
.fc-goodsbox.fc-gold-color li a::after{color: var(--gold-color);}
.fc-goodsbox.fc-regular-color li a::after{color: var(--regular-color);}
.fc-goodsbox.fc-junior-color li a::after{color: var(--junior-color);}
.fc-goodsbox.fc-free-color li a::after{color: var(--free-rev-color);}

@media screen and (max-width: 767px) {
.fc-goodsbox li h5{
min-height: 50px;
font-size: 0.9rem!important;
font-weight: 600;
}

.fc-goodsbox-thum {
min-height: 110px;
}
.fc-goodsbox-image {
max-width: 300px;
}
.fc-goodsbox-goods {
max-width: 300px;
padding: 0.7em 1.5em;
}
.fc-goodsbox-icon {
max-width: 230px;
padding: 1em 3em;
}
}

@media screen and (max-width: 640px) {
.fc-goodsbox {
gap: 8px;
padding: 0 0.8em;
}
.fc-goodsbox li h5{
min-height: 45px;
font-size: 0.9em!important;
}
.fc-goodsbox-icon {
max-width: 200px;
padding: 1em 3em;
}
}

@media screen and (max-width: 450px) {
.fc-goodsbox {
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
padding: 0 0.7em;
}
.fc-goodsbox li a::after{
font-size: 2em;
}
.fc-goodsbox li h5{
min-height: 42px;
font-size: 0.85em!important;
}
.fc-goodsbox-thum {
min-height: 65px;
}
.fc-goodsbox-image {
max-width: 300px;
}
.fc-goodsbox-goods {
padding: 0.5em 1.2em;
}
.fc-goodsbox-icon {
padding: 0.8em 3.5em;
}
}

/* タブ切り替え */
.fc-tab-switch {display: none;}
.fc-tab-btn-text p{
margin: 0!important;
padding: 2em 0.2em 0;
color: var( --text-color );
background-color: #fff;
}

.fc-tab-btn-wrap{
padding: 0.5em 1.5em 1.5em;
padding: 0.5em 0 1.5em;
background-color: #fff;
position: sticky;
top: 0;
z-index: 3333;
transition: 0.2s;
}

.fc-tab-btn-wrap p {color: var( --text-color );}
.fc-tab-btn {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
align-items: flex-end;
list-style: none;
width: 100%;
max-width: 1200px;
margin: 0 auto;
text-align: center;
background-color: #fff;
letter-spacing: 0;
}
.fc-tab-btn li {
flex-basis: 50%;
box-sizing: content-box;
}
.fc-tab-btn li:last-of-type{border-right: none;}
.fc-tab-btn a {
position: relative;
display: flex;
justify-content: center;
align-items: center;
height: 100px;
line-height: 1.4;
padding: 0.3em;
font-size: 0.9rem;
font-weight: 600;
text-decoration: none;
background-color: #fff;
border: 2px solid #aaa;
border-right: none;
box-sizing: border-box;
}
.fc-tab-btn a[href="#platinum"]{border-bottom: 5px solid var(--platinum-color);}
.fc-tab-btn a[href="#gold"]{border-bottom: 5px solid var(--gold-color);}
.fc-tab-btn a[href="#regular"]{border-bottom: 5px solid var(--regular-color);}
.fc-tab-btn a[href="#junior"]{border-bottom: 5px solid var(--junior-color);}
.fc-tab-btn a[href="#free"] {border-bottom: 5px solid var(--free-rev-color);}
.fc-tab-btn li:first-of-type a{border-radius: 12px 0 0 0;}
.fc-tab-btn li:last-of-type a{
border-right: 2px solid #aaa;
border-radius: 0 12px 0 0;
}

.rzf-fanclub .fc-tab-contents > section {
display: none;
overflow: hidden;
background-color: #fff;
margin-bottom: 0!important;
padding: 0!important;
}

.rzf-fanclub .fc-tab-contents > section .fc-goodsbox-inner {
padding: 0 0 5em!important;
border: 5px solid var(--primary-color);
}

/* タブ選択時の表示 */
.fc-tab-btn a[href="#regular"],
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"],
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"],
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"],
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"],
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"] {
font-size: 1.1rem;
font-weight: 800;
color: #fff!important;
border-top: 2px solid #aaa;
border-left: 2px solid #aaa;
border-right: none;
}
/* 吹き出し */
.fc-tab-btn a[href="#regular"]::before,
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"]::before,
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"]::before,
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"]::before,
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"]::before,
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"]::before {
content: "";
display: block;
position: absolute;
top: 100%;
left: 50%;
margin-left: -12px;
border: 12px solid transparent;
border-top: 12px solid;
}
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"] {background-color: var( --platinum-color );}
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"]::before,
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn.fc-tab-btn-reverse a[href="#platinum"]::before {
border-top-color: var( --platinum-color );
}
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"] {background-color: var( --gold-color );}
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"]::before,
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn.fc-tab-btn-reverse a[href="#gold"]::before {
border-top-color: var( --gold-color );
}
.fc-tab-btn a[href="#regular"],
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"] {background-color: var( --regular-color );}
.fc-tab-btn a[href="#regular"]::before,
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"]::before,
.fc-tab-btn.fc-tab-btn-reverse a[href="#regular"]::before,
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn.fc-tab-btn-reverse a[href="#regular"]::before {
border-top-color: var( --regular-color );
}
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"] {background-color: var( --junior-color );}
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"]::before,
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn.fc-tab-btn-reverse a[href="#junior"]::before {
border-top-color: var( --junior-color );
}
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"] {
color: var(--free-rev-color);
background-color: var(--free-rev-color);
}
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"]::before,
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn.fc-tab-btn-reverse a[href="#free"]::before {
color: var(--free-rev-color);
border-top-color: var(--free-rev-color);
}

/* 初期表示を元に戻す */
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"] {
color: var( --regular-color )!important;
background-color: #fff;
font-size: 0.9rem;
font-weight: 600;
border-bottom: 5px solid var(--regular-color);
border-right: none;
}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"]::before {display: none;}

/* コンテンツを表示 */
.fc-tab-contents #regular-cont,
#platinum:target ~ .fc-tab-contents #platinum-cont,
#gold:target ~ .fc-tab-contents #gold-cont,
#regular:target ~ .fc-tab-contents #regular-cont,
#junior:target ~ .fc-tab-contents #junior-cont,
#free:target ~ .fc-tab-contents #free-cont {
display: block;
}
/* 初期表示を元に戻す */
.fc-tab-switch:target ~ .fc-tab-contents #regular-cont {display: none;}

/* ホバー時 */
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a:hover {
opacity: 0.5;
color: #fff!important;
background-color: #fff;
transition: all 0.3s ease;
}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"]:hover{background-color: var(--platinum-color);}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"]:hover{background-color: var(--gold-color);}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"]:hover{background-color: var(--regular-color);}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"]:hover{background-color: var(--junior-color);}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"]:hover {background-color: var(--text-color);}
.fc-tab-btn a[href="#regular"]:hover,
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"]:hover,
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"]:hover,
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"]:hover,
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"]:hover,
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"]:hover {
opacity: 1;
}

@media screen and (min-width:1200px) { 
.fc-tab-btn a {font-size: 1rem;}
.fc-tab-btn a[href="#regular"]::before,
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"]::before,
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"]::before,
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"]::before,
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"]::before,
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"]::before {
margin-left: -15px;
border-width: 15px;
border-top-width: 15px;
}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"] {font-size: 1rem;}
}
@media screen and (max-width: 767px) {
.fc-tab-btn a {
font-size: 0.8rem;
border-width: 1px;
/*aspect-ratio: 1 / 1;*/
}
.fc-tab-btn li:first-of-type a{border-radius: 7px 0 0 0;}
.fc-tab-btn li:last-of-type a{
border-right-width: 1px;
border-radius: 0 7px 0 0;
}
.fc-tab-btn a[href="#regular"],
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"],
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"],
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"],
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"],
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"] {
font-size: 0.9rem;
border-width: 1px;
}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"] {
font-size: 0.8rem;
border-top-width: 1px;
border-left-width: 1px;
}
}
@media screen and (max-width: 640px) {
.fc-tab-btn a {
height: 70px;
}
.fc-tab-btn a[href="#regular"],
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"],
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"],
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"],
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"],
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"] {
font-size: 0.8rem;
}
}
@media screen and (max-width: 500px) {
.fc-tab-btn-wrap{
padding: 0.3em 0 0.7em;
}
.rzf-fanclub .fc-tab-contents section {padding: 0.5em 0.5em 1.5em;}
.fc-tab-btn a {
padding: 0.2em;
font-size: 0.75rem;
letter-spacing: -0.1em;
}
.fc-tab-btn a[href="#regular"],
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"],
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"],
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"],
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"],
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"] {
font-size: 0.75rem;
}
.fc-tab-btn a[href="#regular"]::before,
#platinum:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#platinum"]::before,
#gold:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#gold"]::before,
#regular:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"]::before,
#junior:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#junior"]::before,
#free:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#free"]::before {
margin-left: -10px;
border-width: 10px;
border-top-width: 10px;
}
.fc-tab-switch:target ~ .fc-tab-btn-wrap .fc-tab-btn a[href="#regular"] {
color: var( --regular-color )!important;
font-size: 0.75rem;
}
}

.fc-tab-btn-wrap.show{border-bottom: 1px solid #aaa;}
@media screen and (max-width: 767px){
}

/* 会員特典 色設定 */
.rzf-fanclub .fc-tab-contents section#platinum-cont .fc-goodsbox-inner {border-color: var(--platinum-color)!important;}
.rzf-fanclub .fc-tab-contents section#gold-cont .fc-goodsbox-inner {border-color: var(--gold-color)!important;}
.rzf-fanclub .fc-tab-contents section#regular-cont .fc-goodsbox-inner {border-color: var(--regular-color)!important;}
.rzf-fanclub .fc-tab-contents section#junior-cont .fc-goodsbox-inner {border-color: var(--junior-color)!important;}
.rzf-fanclub .fc-tab-contents section#free-cont .fc-goodsbox-inner {border-color: var(--free-rev-color)!important;}

.rzf-fanclub .fc-tab-contents section#platinum-cont .fc-goodsbox-icon img {
filter: invert(82%) sepia(86%) saturate(6083%) hue-rotate(175deg) brightness(87%) contrast(78%);}
.rzf-fanclub .fc-tab-contents section#gold-cont .fc-goodsbox-icon img {
filter: invert(65%) sepia(54%) saturate(644%) hue-rotate(7deg) brightness(98%) contrast(86%);}
.rzf-fanclub .fc-tab-contents section#regular-cont .fc-goodsbox-icon img {
filter: invert(11%) sepia(76%) saturate(4547%) hue-rotate(226deg) brightness(86%) contrast(95%);}
.rzf-fanclub .fc-tab-contents section#junior-cont .fc-goodsbox-icon img {
filter: invert(15%) sepia(99%) saturate(7054%) hue-rotate(348deg) brightness(88%) contrast(106%);}
.rzf-fanclub .fc-tab-contents section#free-cont .fc-goodsbox-icon img {
filter: invert(71%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(97%) contrast(91%);}
.mfp-wrap .fc-goodsbox-icon img {
filter: invert(30%) sepia(1%) saturate(3161%) hue-rotate(56deg) brightness(103%) contrast(86%);}



/* ポップアップ
------------------------------------------------------------*/
.mfp-bg {
opacity: 0;
-webkit-transition: all 0.15s ease-out;
-moz-transition: all 0.15s ease-out;
transition: all 0.15s ease-out;
z-index: 9999998;
}
.mfp-bg.mfp-ready {opacity: 0.8;}
.mfp-bg.mfp-removing {opacity: 0;}
.mfp-wrap .mfp-content {
opacity: 0;
-webkit-transition: all 0.15s ease-out;
-moz-transition: all 0.15s ease-out;
transition: all 0.15s ease-out;
}
.mfp-wrap.mfp-ready .mfp-content {opacity: 1;}
.mfp-wrap.mfp-removing .mfp-content {opacity: 0;}

.mfp-wrap{
overflow: hidden auto;
z-index: 9999999;
}
.mfp-container{
padding: 60px 2%;
padding: 0 2%;
}
.mfp-content {width: auto !important;}

.inline-modal {
position: relative;
max-width: 900px;
min-width: 250px;
/*min-width: 60vw;*/
margin:5em auto 5em;
padding: 3em 2em 1.5em;
text-align:center;
background-color: #fff;
color: #555;
}
.inline-modal a{
color: var(--primary-color);
text-decoration: underline;
}
.popup-modal > img{
max-width: 300px!important;
height: auto;
}
.popup-modal > p{
margin-top: 0.5em;
line-height: 1.4!important;
}
.inline-modal > h1, .inline-modal > h2, .inline-modal > h3{
margin-top: 0!important;
}
.inline-modal .image img {height:auto;}

.mfp-close-btn-in .mfp-close{color: #fff!important;}
.inline-modal .mfp-close {
right: -15px !important;
top: -50px !important;
}

.popup-modal-dismiss{margin-top: 2em;}

.popup-modal-dismiss a{
color: var(--primary-color);
font-size: 2.5em;
transition: 0.2s;
}
.popup-modal-dismiss a:hover{opacity: 0.7;}

.fc-goodsbox a{
width: 100%;
height: 100%;
display: block;
}

.gallery-arrow{
position: absolute;
top: 50%;
margin-top: -50px;
background-color: var(--primary-color);
display: block;
width: 15px;
padding: 0.3em;
border: 3px solid #fff;
font-size: 2em;
text-align: center;
line-height: 30px;
cursor: pointer;
z-index: 10000000;
opacity: 0.8;
transition: 0.2s;
}
.gallery-arrow-left{
left: 0;
border-left: none;
border-radius: 0 5px 5px 0;
}
.gallery-arrow-right{
right: 0;
border-right: none;
border-radius: 5px 0 0 5px;
}
.gallery-arrow-left:before, .gallery-arrow-right:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
color: #fff;
opacity: 1;
}
.gallery-arrow-left:before{content: "\f053";}
.gallery-arrow-right:before{content: "\f054";}
.gallery-arrow:hover{opacity: 1;}

@media screen and (max-width: 450px) {
.inline-modal {padding: 2em 1.2em 0.5em;}
.gallery-arrow{
margin-top: -40px;
padding: 0.2em;
font-size: 1.6em;
}
}


/*--------------------------------------------
  ファンクラブポイント
---------------------------------------------*/

/*** 2024-25 ***/
.fc-point-wrap{
display: flex;
align-items: flex-start;
justify-content: center;
gap:1em;
max-width: 1800px;
margin: 0 auto;
padding: 1em 1em 1.5em;
background-color: var(--primary-color);
}

@media screen and (max-width: 767px) {
.fc-point-wrap{
display: block;
}
.fc-point_01{
margin-bottom: 0.7em;
}
}

/*** ポイント特典 ***/
#fc-point .rzf-border-cont{
padding: 0 2em 2em;
border-color: #fff;
}
@media screen and (max-width: 767px) {
#fc-point .rzf-border-cont{
padding: 0 0.8em 0.8em;
border-color: #fff;
}
}

/*** ポイント引換特典一覧 ***/
.fc-point-list-wrap{
width: 100%;
margin: 0;
background-color: #fff;
}
.fc-point-list-inner-left, .fc-point-list-inner-right {
width: 100%;
}
.fc-point-list-inner-right {margin-top: -7px;}

/* ポイント引換特典一覧 表 */
.fc-point-list {
width: 100%;
letter-spacing: 0;
}
.fc-point-list th, .fc-point-list td {
padding: 0.7em;
font-weight: 600;
text-align: center;
vertical-align: middle;
line-height: 1.3;
color: var(--primary-color);
border: 7px solid;
}
.fc-point-list th {
width: 65px;
line-height: 1.2;
background-color: var(--accent-color)!important;
}
.fc-point-list th span{
writing-mode: vertical-rl;
text-orientation: upright;
white-space: nowrap;
}
.fc-point-list td:first-of-type {
width: 80px;
font-weight: 800;
border-right-width: 3px;
}
.fc-point-list td:last-of-type {
text-align: left;
border-left: none;
}

.fc-point-list-text{
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 500;
}
.fc-point-list-text img{
max-height: 80px;
max-width: 140px!important;
}
.fc-point-list-text > span {margin-right: 0.3em;}

.fc-point-list-icon{
display: flex;
justify-content: center;
align-items: center;
width: 50px;
min-width: 50px;
background-color: rgb(11,49,143);
border-radius: 5px;
aspect-ratio: 1 / 1;
object-fit: contain;
}
.fc-point-list-icon img{
padding: 7px;
max-width: 100%!important;
}


@media screen and (min-width: 1400px) {
.fc-point-list-wrap{
display: flex;
justify-content: space-between;
gap: 0 1em;
}
.fc-point-list-inner-right {margin-top: 0;}
}
@media screen and (max-width: 767px) {
.fc-point-list th, .fc-point-list td {
padding: 0.5em;
font-size: 0.85em;
border: 5px solid;
}
.fc-point-list th {width: 50px;}
.fc-point-list td:first-of-type {
width: 65px;
border-right-width: 3px;
}
.fc-point-list td:last-of-type {border-left: none;}
.fc-point-list-inner-right {margin-top: -5px;}
}

@media screen and (max-width: 450px) {
.fc-point-list-wrap{padding: 0;}

.fc-point-list th {border-left: none;}
.fc-point-list td:last-of-type {border-right: none;}

.fc-point-list-img{
flex-direction: column;
align-items: flex-start;
}
.fc-point-list-img img{margin-left: auto;}
.fc-point-list-img > span {margin-bottom: 0.7em;}
}