@charset "utf-8";
/* CSS Document */

/**
全体
******************/
body{
background: var(--white-color);
font-family: "M PLUS 2", "Noto Sans JP","Noto Sans Japanese", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
font-optical-sizing: auto;
font-style: normal;
font-weight: 500;
}

.guide-contents{
margin: 0 auto;
color: var(--white-color);
line-height: 1.8;
}
.rzf-lp-cont{
max-width: 1200px;
width: 100vw;
}

.bg-wh{background-color: none;}

/* 背景斜めカット */
.bg-diagonal, .bg-diagonal-top{
overflow: hidden;
position: relative;
/*z-index: -1;*/
}

.bg-diagonal::after, .bg-diagonal-top::before {
border-style: solid;
border-width: 35px 100vw 0 0;
bottom: 0;
content: "";
height: 0;
position: absolute;
border-color: transparent var(--white-color) transparent transparent;
z-index: 1;
}
.bg-diagonal-top::before {
bottom: inherit;
top: 0;
border-color: var(--lightgray-color) transparent transparent transparent;
}
.bg-diagonal.bg-lg::after {
border-color: transparent var(--primary-color) transparent transparent;
}
.bg-diagonal.bg-bl::after {
border-color: transparent var(--white-color) transparent transparent;
z-index: 0;
}

/*.rzf-lp-section{
padding-top: 50px;
padding-bottom: 50px;
}
.rzf-lp-section-top{
padding-top: 100px;
}
.rzf-lp-section-bottom{
padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
.rzf-lp-section{
padding-top: 40px;
padding-bottom: 40px;
}
.rzf-lp-section-top{
padding-top: 50px;
}
.rzf-lp-section-bottom{
padding-bottom: 40px;
}
}*/


/**
タイトル設定
******************/
.guide-contents h2, .beginning__text {
display: flex;
justify-content: center;
align-items: flex-end;;
color: var(--primary-color);
padding: 0 0.5em;
font-size: 3rem;
font-weight: 800;
text-align: center;
line-height: 1.4;
z-index: 1;
position: relative;
text-shadow:
3px 3px 0px var(--white-color), -3px -3px 0px var(--white-color),
-3px 3px 0px var(--white-color),  3px -3px 0px var(--white-color),
3px 0px 0px var(--white-color), -3px -0px 0px var(--white-color),
0px 3px 0px var(--white-color),  0px -3px 0px var(--white-color);
}
.guide-contents h2::before,
.guide-contents h2::after{
content: '';
width: 20px;
height: 50px;
background: var(--primary-color);
clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.guide-contents h2::before {
transform: rotate(-30deg);
margin-right: 30px;
}
.guide-contents h2::after {
transform: rotate(30deg);
margin-left: 30px;
}
.guide-contents .bg-bl h2 {
color: var(--white-color);
text-shadow:
3px 3px 0px var(--primary-color), -3px -3px 0px var(--primary-color),
-3px 3px 0px var(--primary-color),  3px -3px 0px var(--primary-color),
3px 0px 0px var(--primary-color), -3px -0px 0px var(--primary-color),
0px 3px 0px var(--primary-color),  0px -3px 0px var(--primary-color);
}
.guide-contents .bg-bl h2::before,
.guide-contents .bg-bl h2::after {
background: var(--white-color);
}
.guide-contents .bg-lg h2 {
text-shadow:
3px 3px 0px var(--lightgray-color), -3px -3px 0px var(--lightgray-color),
-3px 3px 0px var(--lightgray-color),  3px -3px 0px var(--lightgray-color),
3px 0px 0px var(--lightgray-color), -3px -0px 0px var(--lightgray-color),
0px 3px 0px var(--lightgray-color),  0px -3px 0px var(--lightgray-color);
}
.guide-contents .bg-img h2 {
text-shadow:
none;
}

.guide-contents h3.guide__title-h3{
margin-bottom: 1.2em;
padding: 0.3em 0.5em;
font-size: 1.5rem;
font-weight: 800;
line-height: 1.4;
color: var(--white-color);
background-color: var(--primary-color);
text-shadow:
3px 3px 0px var(--primary-color), -3px -3px 0px var(--primary-color),
-3px 3px 0px var(--primary-color),  3px -3px 0px var(--primary-color),
3px 0px 0px var(--primary-color), -3px -0px 0px var(--primary-color),
0px 3px 0px var(--primary-color),  0px -3px 0px var(--primary-color);
}
.guide-contents .bg-bl h3.guide__title-h3{
color: var(--primary-color);
background-color: var(--white-color);
text-shadow:
3px 3px 0px var(--white-color), -3px -3px 0px var(--white-color),
-3px 3px 0px var(--white-color),  3px -3px 0px var(--white-color),
3px 0px 0px var(--white-color), -3px -0px 0px var(--white-color),
0px 3px 0px var(--white-color),  0px -3px 0px var(--white-color);
}
.guide-contents .bg-lg h3.guide__title-h3{
text-shadow:
3px 3px 0px var(--lightgray-color), -3px -3px 0px var(--lightgray-color),
-3px 3px 0px var(--lightgray-color),  3px -3px 0px var(--lightgray-color),
3px 0px 0px var(--lightgray-color), -3px -0px 0px var(--lightgray-color),
0px 3px 0px var(--lightgray-color),  0px -3px 0px var(--lightgray-color);
}

.guide-contents h3.guide__center-title, .guide-contents .bg-wh.rzf-lp-cont h3.guide__center-title{
margin-bottom: 1.5em;
font-size: 1.4rem;
font-weight: 800;
text-align: center;
color: var(--primary-color);
z-index: 1;
position: relative;
text-shadow:
3px 3px 0px var(--white-color), -3px -3px 0px var(--white-color),
-3px 3px 0px var(--white-color),  3px -3px 0px var(--white-color),
3px 0px 0px var(--white-color), -3px -0px 0px var(--white-color),
0px 3px 0px var(--white-color),  0px -3px 0px var(--white-color);
}
.guide-contents .bg-bl h3.guide__center-title, .guide-contents .bg-bl.rzf-lp-cont h3.guide__center-title{
color: var(--white-color);
text-shadow:
3px 3px 0px var(--primary-color), -3px -3px 0px var(--primary-color),
-3px 3px 0px var(--primary-color),  3px -3px 0px var(--primary-color),
3px 0px 0px var(--primary-color), -3px -0px 0px var(--primary-color),
0px 3px 0px var(--primary-color),  0px -3px 0px var(--primary-color);
}
.guide-contents .bg-lg h3.guide__center-title{
text-shadow:
3px 3px 0px var(--lightgray-color), -3px -3px 0px var(--lightgray-color),
-3px 3px 0px var(--lightgray-color),  3px -3px 0px var(--lightgray-color),
3px 0px 0px var(--lightgray-color), -3px -0px 0px var(--lightgray-color),
0px 3px 0px var(--lightgray-color),  0px -3px 0px var(--lightgray-color);
}

.guide-contents h4{
font-size: 1.1rem;
font-weight: 700;
}
.guide-contents .bg-bl p a{color: var(--white-color);}

@media screen and (min-width: 1200px) {
.guide-contents h3.guide__center-title{font-size: 2rem;}
}

@media screen and (max-width: 767px) {
.guide-contents h2, .beginning__text {font-size: 2rem;}
.guide-contents h2::before,
.guide-contents h2::after {
width: 15px;
height: 35px;
}
.guide-contents h2::before {margin-right: 20px;}
.guide-contents h2::after {margin-left: 20px;}

.guide-contents h3.guide__title-h3{font-size: 1.2rem;}
.guide-contents h3.guide__center-title{font-size: 1.3rem;}
}
@media screen and (max-width: 640px) {
.guide-contents h3.guide__title-h3{padding: 0.7em 0.7em;}
.guide-contents h4{font-size: 1.0rem;}
}
@media screen and (max-width: 450px) {
.guide-contents h2 {font-size: 1.8rem;}
.guide-contents h2::before {margin-right: 10px;}
.guide-contents h2::after {margin-left: 10px;}

.guide-contents h3.guide__title-h3{font-size: 1.1rem;}
.guide-contents h3.guide__center-title{font-size: 1.3rem;}

}

/* 色設定 */
.guide-contents h2.title-bl, .guide-contents .color-bl, .guide-contents .bg-wh{
color: var(--primary-color);
background-color: var(--white-color);
}
.guide-contents h2.title-wh, .guide-contents .color-wh,  .guide-contents .bg-bl{
color: var(--white-color);
background-color: var(--primary-color);
}
.guide-contents h2.title-rd, .guide-contents .color-rd{
color: var(--second-color);
background-color: var(--white-color);
}
.guide-contents h2.title-yel, .guide-contents .color-yel{
color: var(--accent-color);
background-color: var(--primary-color);
}
.guide-contents h2.title-rsunz, .guide-contents .color-rsunz{
color: #EF9090;
border-color: #EF9090;
}
.guide-contents .bg-rsunz{
color: var(--white-color);
background-color:  #EF9090;
}
.guide-contents h2.title-rsunzjr, .guide-contents .color-rsunzjr{
color: #F08500;
border-color:  #F08500;
}
.guide-contents .bg-lg{
color: var(--text-color);
background-color: var(--lightgray-color);
}


/**
パーツ
******************/
/* ボタン共通 */
.rzf-lp-btn, .rzf-lp-btn-disabled {
width: calc( 98% - 8px );
margin: 1.5em auto 0;
padding: 0;
}
.guide-layout__wrap .rzf-lp-btn {
margin: 0 auto;
align-self: center;
}
.rzf-lp-btn a {
border-radius: 50px;
background-color: var(--accent-color);
color: var(--primary-color);
border: 3px solid var(--primary-color);
box-shadow: 5px 5px var(--primary-color);
transition: 0.3s ease-in-out;
}
.rzf-lp-btn a::after {
content: '';
border: 0px; 
border-top: none; 
border-right: none; 
-webkit-transform: rotate(0); 
transform: rotate(0);
top: 0;
bottom: 0;
margin: auto;
right: 15px;
transition: all .5s;

display: inline-block;
width: 15px;
height: 20px;
background: var(--primary-color);
clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.rzf-lp-btn a:hover {
box-shadow: none;
transform: translate(5px, 5px);
background-color: var(--accent-color);
color: var(--primary-color);
}

.rzf-lp-btn.rzf-lp-btn-bl a{
/*border: 3px solid var(--second-color);*/
box-shadow: 5px 5px var(--white-color);
}
/*.rzf-lp-btn.rzf-lp-btn-bl a::after {
background: var(--white-color);
}*/
.rzf-lp-btn.rzf-lp-btn-bl a:hover {
box-shadow: none;
transform: translate(5px, 5px);
}
.rzf-lp-btn-bl a:hover::after {
 border-top-color: var(--primary-color);
 border-right-color: var(--primary-color);
}
@media screen and (max-width: 767px) {
.rzf-lp-btn a {
padding: 12px 18px 12px 5px;
font-size: 1rem;
}
.rzf-lp-btn a::after {
right: 12px;
display: inline-block;
width: 10px;
height: 15px;
}
}
@media screen and (max-width: 640px) {
.rzf-lp-btn {max-width: 400px;}
}


/* パーツ */
.rounded{border-radius: 10px;}
.border{border: 2px solid var(--primary-color);}
.img-pt img{padding-top: 20px;}

@media screen and (min-width: 641px) {
.br-640{display: none;}
}
@media screen and (max-width: 640px) {
.br-640{display: block;}
}

/* オープニングアニメーション */
.opening__skip{
position: absolute;
bottom: 100px;
right: 3em;
z-index: 99999999;
font-size: 1.4em;
font-weight: 400;
font-family: "Noto Sans JP","Noto Sans Japanese", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
cursor: pointer;
color: var(--primary-color);
}
.opening__skip:hover{opacity: 0.7;}

.opening__text-01{
font-size: 6em;
font-weight: 800;
text-align: center;
margin-bottom: 0!important;
line-height: 1.2;
visibility: hidden;
}
.opening__text-02{
font-size: 4.5em;
font-weight: 900;
text-align: center;
margin-bottom: 0.5em!important;
line-height: 1.2;
visibility: hidden;
}
.opening__text-02 span{display: inline-block;}
.opening__club{
font-size: 1.75em;
font-weight: 900;
text-align: center;
margin-bottom: 0!important;
line-height: 1.2;
visibility: hidden;
}
.opening__logo{
text-align: center;
margin-bottom: 0!important;
visibility: hidden;
}

.opening__text-01-marker {
padding: 0 0.1em;
background: linear-gradient(transparent 70%, var(--accent-color) 30%);
display: inline !important;
background-repeat: no-repeat;
background-size: 0% 88%;
transition: background-size 1s ease-in-out;
}
/*@keyframes marker-animation {
0% { background-size: 0% 100%; }
30% { background-size: 100% 100%; }
100% { background-size: 100% 100%; }
}*/
.opening__text-01-marker.active {
background-size: 100% 88%; /* 線の横幅を100%にする */
}
.opening{
width: 100%;
height: 100%;
height: 100vh;
height: 100svh;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 99999999;
display: flex;
align-items: center;
justify-content: center;
}

.opening__title {
/*margin-top: 100px;*/
color: var(--primary-color);
/*font-size: 50px;*/
display: block;
z-index: 1;
/*position: absolute;*/
/*top: 50%;*/
}

.opening__mask{
width: 100%;
height: 100%;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
transform-origin: top right;
background-color: var(--white-color);
z-index: 1;
}

@media screen and (max-width: 640px) {
.opening__text-01{font-size: 4.5em;}
.opening__text-02{font-size: 3.8em;}
.opening__club{font-size: 1.4em;}
}

/* ヘッダー */
.guide-head{
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 9999999;
display: flex;
align-items: center;
justify-content: space-between;
height: 100px;
padding: 5px;
background-color: var(--primary-color)!important;
transition: .3s;
transition: top .5s; /* アニメーション効果を追加 */
}

.guide-head__logo_wrap{
display: flex;
align-items: center;
}
.guide-head__logo img{max-height: 80px;}
.guide-head__club{
margin: 0;
font-size: 14px;
line-height: 1.3;
font-weight: bold;
color: var(--white-color);
}
.guide-head__title h1{
margin: 0;
font-size: 18px;
font-weight: bold;
line-height: 1.3;
color: var(--white-color);
}
.guide-head__title h1 span{
display: block;
font-size: 12px;
font-weight: 500;
}
.guide-head__title h1 span.guide-head__number{
display: inline;
font-size: 14px;
margin-left: 0.4em;
}
.rzf-lp-menu span, .rzf-lp-menu span:before, .rzf-lp-menu span:after {
background-color: var(--primary-color);
}
/*#rzf-lp-menu__trigger {
display: flex;
justify-content: center;
align-items: center;
color: var(--primary-color);
background-color: var(--white-color);
border: 3px solid var(--primary-color);
}*/
.guide-head__menu_wrap{
display: flex;
align-items: center;
gap: 1em;
}
.guide-head__menu{
display: flex;
align-items: center;
gap: 0.5em;
}

.guide-head__bticket a {
display: block;
padding: 2px;
color: var(--white-color);
text-decoration: none;
text-align: center;
font-size: 0.8em;
}
.guide-head__bticket a p {
margin-bottom: 0;
transition: 0.3s;
}
.guide-head__bticket img {
max-width: 140px;
vertical-align: bottom;
}
.guide-head__bticket a:hover p{
opacity: 0.7;
}

@media screen and (max-width: 767px) {
.guide-head{height: 80px;}
.guide-head__logo img{max-height: 60px;}
.guide-head__club{
font-size: 12px;
line-height: 1.2;
}
.guide-head__title h1{font-size: 15px;}
.guide-head__title h1 span{font-size: 10px;}
.guide-head__title h1 span.guide-head__number{font-size: 12px;}
.guide-head__menu_wrap{gap: 0.5em;}
.guide-head__bticket img {max-width: 100px;}
}
@media screen and (max-width: 450px) {
.guide-head__club{font-size: 11px;}
.guide-head__title h1{font-size: 14px;}
.guide-head__bticket img {max-width: 90px;}
.guide-head__bticket a {font-size: 0.7em;}
}
/*@media screen and (max-width: 768px) {
#rzf-lp-menu__trigger {
    position: fixed;
    top: 12px;
    right: 12px;
    width: 45px;
    height: 45px;
}
.rzf-lp-menu span:before {
    margin-top: -10px;
}
.rzf-lp-menu span:after {
    margin-top: 10px;
}
.rzf-lp-menu span, .rzf-lp-menu span:before, .rzf-lp-menu span:after {
    width: 23px;
}
}*/

/* トグルメニュー */
.pure-toggle-label {
display: flex;
align-items: flex-end;
justify-content: center;
height: 100px;
position: relative;
top: 0;
color: var(--primary-color);
border: none;
border-radius: 0;
background-color: #fff;
}
.pure-toggle-label p {
position: relative;
bottom: 13px;
}
.pure-toggle-label .pure-toggle-icon, .pure-toggle-label .pure-toggle-icon:before, .pure-toggle-label .pure-toggle-icon:after {
top: 45%;
background: var(--primary-color)!important;
}
.pure-toggle-label[data-toggle-label='right'] {
right: 0; 
left: 0; 
}
.pure-toggle[data-toggle='left']:checked ~ .pure-toggle-label[data-toggle-label='left'], .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label[data-toggle-label='right'], .pure-toggle[data-toggle='top']:checked ~ .pure-toggle-label[data-toggle-label='top'] {
border-color: var(--primary-color);
color: var(--primary-color);
}
.pure-toggle[data-toggle='left']:checked ~ .pure-toggle-label[data-toggle-label='left'] .pure-toggle-icon, .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label[data-toggle-label='right'] .pure-toggle-icon, .pure-toggle[data-toggle='top']:checked ~ .pure-toggle-label[data-toggle-label='top'] .pure-toggle-icon {
background-color: transparent!important;
}
.pure-toggle-label:hover {
border-color: var(--primary-color);
color: var(--primary-color);
opacity: 0.7;
}
.pure-toggle {display: none;}

.pure-toggle[data-toggle='right']:checked ~ .pure-overlay[data-overlay='right'] {
cursor: pointer;
right: 300px;
}

@media screen and (max-width: 767px) {
.pure-toggle-label {
width: 50px;
height: 80px;
}
.pure-toggle-label .pure-toggle-icon {
transform: translate3d(-50%, -7px, 0);
-webkit-transform: translate3d(-50%, -7px, 0);
}
.pure-toggle-label .pure-toggle-icon, .pure-toggle-label .pure-toggle-icon:before, .pure-toggle-label .pure-toggle-icon:after {
height: 3px;
width: 28px;
top: 44%;
}
.pure-toggle-label p {
bottom: 11px;
font-size: 0.9em;
}
}
@media screen and (max-width: 450px) {
.pure-toggle-label {width: 45px;}
.pure-toggle-label .pure-toggle-icon {
transform: translate3d(-50%, -3px, 0);
-webkit-transform: translate3d(-50%, -3px, 0);
}
.pure-toggle-label .pure-toggle-icon, .pure-toggle-label .pure-toggle-icon:before, .pure-toggle-label .pure-toggle-icon:after {
width: 25px;
top: 44%;
}
.pure-toggle-label .pure-toggle-icon:before {
transform: translate3d(-50%, -12px, 0);
-webkit-transform: translate3d(-50%, -12px, 0);
}
.pure-toggle-label .pure-toggle-icon:after {
transform: translate3d(-50%, 8px, 0);
-webkit-transform: translate3d(-50%, 8px, 0);
}
.pure-toggle-label p {
bottom: 14px;
font-size: 0.8em;
}
.pure-toggle:checked ~ .pure-overlay {
right: 60%!important;
}
}

/* メニュー中身 */
.pure-drawer {
background-color: #111;
max-width: 300px;
padding: 0.5em;
}
.pure-drawer .guide-head__bticket{margin-top: 2em;}
.pure-drawer .guide-head__bticket img{max-width: 200px;}
.pure-drawer ul{padding: 100px 0.5em 1em;}
.pure-drawer li a {
display: block;
width: 100%;
padding: 0.5em 0;
color: var(--white-color);
text-decoration: none;
}
.pure-drawer li a::before {
content:"";
font-family: "Font Awesome 5 Free";
content: '\f138';
font-weight: 900;
padding-right: 0.5em;
}
.pure-drawer li a:hover {opacity: 0.7;}

@media screen and (max-width: 450px) {
.pure-drawer {width: 60%;}
}

/* フッター */
.guide-foot__sns{
display: flex;
justify-content: center;
width: 100%;
font-size: 24px;
}
.guide-foot__sns li{
background-color: transparent;
width: 50px;
height: 50px;
text-align: center;
line-height: 50px;
}
.guide-foot__sns li a{
display: block;
width: 100%;
height: 100%;
color: var(--white-color);
}
.guide-foot__sns li a:hover {opacity: 0.7;}

.guide-contents .layout-global-footer {
padding: 20px;
text-align: center;
font-size: 11px;
}
.guide-contents .layout-global-footer .team-logo {
float: none;
margin-right: 0;
text-align: center;
}
.guide-contents .layout-global-footer .team-logo img {
margin-top: 5px;
width: 80px;
height: auto;
}
.guide-contents .layout-global-footer .foot-nav {
float: none;
margin-top: 5px;
text-align: center;
}
.guide-contents .layout-global-footer .foot-nav li {
margin-right: 0;
}
.guide-contents .layout-global-footer .copy {
float: none;
margin-top: 10px;
}


/* ページトップへ戻る */
#pagetop a, #pagetop a:hover, #pagetop a:hover img{opacity: 1!important; filter: none!important;}
#pagetop img {
position: relative;
top: 90px;
transition: top 0.15s ease-in-out;
}
#pagetop:hover img {
top: 70px;
}

@media screen and (max-width: 640px) {
#pagetop img {
max-width: 90px;
}
#pagetop img {
    top: 50px;
}
#pagetop:hover img {
top: 50px;
}
}

/* ページナビ */
.page-nav{
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
grid-gap: 10px;
margin-bottom: 1.5em!important;
}
.page-nav li{border: none;}
.page-nav li a{
padding: 0.7em 0.5em 0.3em;
font-size: 1rem;
font-weight: 700;
color: var(--white-color);
text-decoration: none;
border-radius: 58px;
background-color: var(--white-color);
color: var(--primary-color);
border: 3px solid var(--primary-color);
box-shadow: 5px 5px var(--primary-color);
transition: 0.3s ease-in-out;
}
.page-nav li a span {
padding: 0.3em;
color: var(--primary-color);
}
.page-nav li a::after{
color: var(--primary-color);
background-color: transparent;
}
.page-nav li a:hover {
box-shadow: none;
transform: translate(5px, 5px);
background-color: var(--accent-color);
color: var(--primary-color);
}
@media screen and (max-width: 640px) {
.page-nav{
grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
grid-gap: 10px;
margin-bottom: 1.5em!important;
}
.page-nav li a{padding: 0.5em 0.4em 0.2em;}
}
@media screen and (max-width: 450px) {
.page-nav li  {line-height: 1.3;}
.page-nav li a {font-size: 0.9rem;}
.page-nav li a span {padding: 0.2em;}
}

/* 動画用プレイボタン */
.play-pause-btn {
position: absolute;
top: 50%;
left: 50%;
transform:translate(-50%, -50%);
background-color: transparent;
color: white;
border: none;
font-size: 3em;
padding: 10px 20px;
cursor: pointer;
z-index: 10;
}
@media screen and (max-width: 767px){
.play-pause-btn {display: none;}
}


/**
コンテンツ
******************/

/* 左右レイアウトテンプレート */
.guide-layout__wrap, .guide-layout__wrap-ltb, .guide-layout__wrap-rtb {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto 1fr;
grid-gap: 0 3%;
grid-template-areas:
"left right";
align-items: start;
}
.guide-layout__wrap-ltb {
grid-template-areas:
"left-top right"
"left-bottom right";
}
.guide-layout__wrap-rtb {
grid-template-areas:
"left right-top"
"left right-bottom";
}
.guide-layout__l {grid-area: left;}
.guide-layout__r {grid-area: right;}
.guide-layout__lt {grid-area: left-top;}
.guide-layout__lb {grid-area: left-bottom;}
.guide-layout__rt {grid-area: right-top;}
.guide-layout__rb {grid-area: right-bottom;}

@media screen and (max-width: 767px) {
.guide-layout__wrap .rzf-ofi-43::before, .guide-layout__wrap-ltb .rzf-ofi-43::before, .guide-layout__wrap-rtb .rzf-ofi-43::before {
padding-top: 66.6%;
}
}
@media screen and (max-width: 640px) {
.guide-layout__wrap, .guide-layout__wrap-ltb, .guide-layout__wrap-rtb {
display: block;
}
}

.guide-layout__wrap-bg{
width: 94%;
padding-top: 2em;
padding-bottom: 2em;
background-color: var(--white-color);
border-radius: 15px;
}
.guide-layout__wrap-outline{
width: 94%;
padding-top: 2em;
padding-bottom: 2em;
border: 1px solid;
}
@media screen and (min-width: 768px){
.guide-layout__wrap-outline figure.mb-m {
    margin-bottom: 0 !important;
}
}


/* ファーストビュー */
section#main-visual{margin-top: 100px;}
#main-visual img {
width: 100vw;
height: calc(100vh - 100px);
object-fit: cover;
}
@media screen and (min-width: 1200px) {
#main-visual img {
height: auto;
max-height: calc(100vh - 100px);
}
}
@media screen and (max-width: 767px) {
section#main-visual{margin-top: 80px;}
#main-visual img {
height: auto;
aspect-ratio: 8 / 10;
}
}

/* ファーストビュー下 */
#beginning .rzf-lp-cont{overflow: hidden;}
.beginning__img-wrap{
display: flex;
justify-content: center;
align-items: flex-end;
gap: 60px;
}

/* タイトル設定 */
.beginning__text::before,
.beginning__text::after{
content: '';
width: 20px;
height: 50px;
background: var(--primary-color);
clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.beginning__text {
font-size: 2.2rem;
padding: 0 0.3em;
font-weight: 700;
}
.beginning__text::before,
.beginning__text::after {
width: 15px;
height: 35px;
}
.beginning__text::before {
transform: rotate(-30deg);
margin-right: 20px;
}
.beginning__text::after {
transform: rotate(30deg);
margin-left: 20px;
}

.beginning__lead {
display: table;
margin: 0 auto;
padding: 0 80px;
text-align: left;
font-size: 1.8em;
font-weight: 700;
}
@media screen and (min-width: 1000px) {
.beginning__lead {font-size: 2.2em;}
}
@media screen and (max-width: 767px) {
.beginning__img-wrap{gap: 30px;}
.beginning__text {font-size: 1.7rem;}
.beginning__lead {
padding: 0 10px;
font-size: 1.8em;
}
}
@media screen and (max-width: 640px) {
.beginning__text {font-size: 1.4rem;}
.beginning__text::before,
.beginning__text::after {
width: 12px;
height: 28px;
}
.beginning__text::before {margin-right: 10px;}
.beginning__text::after {margin-left: 10px;}
.beginning__lead {font-size: 2em;}
}
@media screen and (max-width: 450px) {
.beginning__text {font-size: 1.2em;}
.beginning__text ::before,
.beginning__text ::after {
width: 10px;
height: 25px;
}
.beginning__text ::before {margin-right: 8px;}
.beginning__text ::after {margin-left: 8px;}
.beginning__lead {font-size: 1.6em;}
}



/* テキスト */
.guide__text, p.guide__text{
font-size: 1rem;
line-height: 1.8;
text-align: justify!important;
margin: 0 auto;
}

#fanclub .guide__text, #goods .guide__text{
text-shadow: 1px 1px 0 var(--lightgray-color), -1px 1px 0 var(--lightgray-color), -1px -1px 0 var(--lightgray-color), 1px -1px 0 var(--lightgray-color);
}
@media screen and (max-width: 767px) {
p.guide__text{
margin: 0 auto;
padding: 0 1em;
}
}
@media screen and (max-width: 450px) {
p.guide__text{padding: 0;}
}


/*** はじめてでも楽しめる ***/
.first_time__text{
font-size: 1.2em;
}
#first_time.bg-img{
width: 100%;
position: relative;
color: var(--text-color)
}
#first_time.bg-img::before{
content: "";
position: absolute;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.8);
z-index: -1;
}
#first_time.bg-img::after {
content: "";
position: fixed;
top: 0;
width: 100vw;
height: 100vh;
left: 0;
right: 0;
z-index: -2;
background: url("../img/first_time__bg.png") center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
transform: translateZ(0);
}

.first_time__jin{
position: absolute;
max-width: 200px;
top:0;
bottom: 0;
margin: auto;
left: 0;
z-index: -1;
}

/*** 観戦に行く前に ***/
/* グループ席 */
#group .group__converse img{
max-width: 350px;
}
@media screen and (max-width: 767px) {
#group .group__converse img{
max-width: 200px;
}
}

/*** チケットの買い方 ***/
#how_to_buy{
overflow: hidden;
}
.how_to_buy__balloon{
display: inline-block;
padding: 0.7em 3em;
background: var(--accent-color);
text-align: center;
font-size: 1.8em;
font-weight: bold;
color: var(--primary-color);
border-radius: 50px;
animation: 0.5s balloon infinite alternate linear;
}
.how_to_buy__balloon::after {
content: '';
border: 15px solid transparent;
border-top-color: var(--accent-color);
position: absolute;
bottom: -31px;
left: 50%;
margin-left: -15px;
}
@keyframes balloon {
to { transform: transtateY(0); }
from { transform: translateY(4px); }
}
@media screen and (max-width: 640px) {
.how_to_buy__balloon{
padding: 0.7em 2em;
font-size: 1.4em;
}
}

/* ファンクラブ */
.fanclub__jin{
position: absolute;
top:0;
right: 0;
margin: auto;
z-index: -2;
width: 100px;
}


/*** 選手紹介 ***/
.player__slide-profile-wrap{
margin-bottom: 0.5em;
font-weight: 500;
text-align: left;
color: var(--white-color);
position: absolute;
bottom: 0;
right: -25px;
background-color: rgba(0, 0, 0, 0.5);
padding: 1em;
min-width: 200px;
}
.player__slide-profile-name{
/*margin-bottom: 0.2em;*/
font-size: 18px;
font-weight: bold;
line-height: 1.4;
}
.player__slide-profile-wrap p{
line-height: 1.6;
}
.player__slide-img{
background-repeat: no-repeat;
background-position: center center;
background-size: contain;
}
@media screen and (min-width: 768px) {
.player__slide-profile-name{font-size: 17px;}
}
@media screen and (max-width: 450px) {
.player__slide-profile-name{font-size: 15px;}
}

/* 選手用スライダー */
#player{
position: relative;
min-height: 100vh;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
align-content: center;
flex-wrap: wrap;
}

#player h2{
margin-top: 1em;
}
.player__slides-wrapper{
display: flex;
gap: 50px;
width: calc(100% - 50px);
margin: 0 auto;
overflow: hidden;
}
.slides{position: relative;}
.player__slide-img{
width: 350px;
max-width: none;
object-fit: cover;
}
.player__slide-img img{width: 100%;}
@media screen and (max-width: 450px) {
.player__slide-img{width: 250px;}
}

/* スクロール */
.player__scroll {
display: inline-block;
position: absolute;
top: 45%;
left: 10px;
right: auto;
z-index: 2;
padding: 10px 10px 110px;
color: #fff;
font-size: 14px;
font-family: "Josefin Sans", sans-serif;
line-height: 1;
letter-spacing: 0.2em;
text-transform: uppercase;
text-decoration: none;
writing-mode: vertical-lr;
transition: 0.2s;
overflow: hidden;
}
.player__scroll::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
width: 1px;
height: 100px;
background: #fff;
}
#scroll::before {
content: "";
position: absolute;
bottom: 0;
left: 50%;
width: 1px;
height: 100px;
background: rgba(255, 255, 255, 0.4);
}
#scroll::after {
animation: sdl06 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl06 {
0% {
transform: scale(1, 0);
transform-origin: 0 0;
}
50% {
transform: scale(1, 1);
transform-origin: 0 0;
}
50.1% {
transform: scale(1, 1);
transform-origin: 0 100%;
}
100% {
transform: scale(1, 0);
transform-origin: 0 100%;
}
}


/*** アリーナ ***/
/* タイムスケジュール */
.theday__timeschedule{
padding: 1em 1.5em;
font-size: 14px;
}
.theday__timeschedule h3{
margin-bottom: 20px;
font-size: 16px;
font-weight: 600;
}
.theday__timeschedule-dl{
display: flex;
flex-wrap: wrap;
width: 100%;
margin-bottom: 30px;
}
.theday__timeschedule-dl dt{
width: 105px;
margin-right: 15px;
margin-bottom: 3px;
text-align: center;
color: var(--white-color);
background-color: #0A308F;
border-radius: 20px;
}
.theday__timeschedule-dl dd{width: calc( 100% - 120px );}
@media screen and (min-width: 768px) {
.theday__timeschedule-dl-wrap{
display: flex;
margin-right: 1em;
}
}

/* グッズ */
.goods__jin{
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: 150px;
}

/* SNS */
#lets_go_arena .guide-foot__sns li{
background-color: var(--primary-color);
margin: 0 0.1em;
font-size: 1.4em;
}

/* ルール */
#lets_go_arena .rzf-accordion label {
font-size: 1em!important;
font-weight: 700;
color: var(--primary-color)!important;
background-color: var(--white-color)!important;
}
#lets_go_arena .rzf-accordion .rzf-accordion-cont p{
margin-bottom: 0.5em;
font-weight: 500;
}

.rule__question {
position: absolute;
top: -140px;
right: 0;
z-index: 1;
display: block;
width: 20vw;
}
@media screen and (min-width: 1200px) {
.rule__question {
width: 200px;
top: -150px;
}
}
@media screen and (max-width: 767px) {
.rule__question {top: -120px;}
}
@media screen and (max-width: 640px) {
.rule__question {top: -80px;}
}
@media screen and (max-width: 450px) {
.rule__question {
width: 100px;
top: -40px;
}
}



/*** よくある質問 ***/
#faq h2{
position: relative;
z-index: 5;
}

#faq .rzf-faq dt {font-weight: 600;}
#faq .rzf-faq dd {text-align: justify;}

.faq__jin{
position: absolute;
top:-250px;
left: -5%;
z-index: 1;
/*width: 200px;*/
height: 438px;
object-fit: contain;
left: auto;
right: 0;
}
@media screen and (min-width: 1200px) {
.faq__jin{right: calc(50% - 550px);}
}
@media screen and (max-width: 767px) {
.faq__jin{
height: 280px;
top: -200px;
left: auto;
right: 0;
}
}



/* 画像自動スライド */
.rzf-loop-slide-wrapper {
display: flex; 
overflow: hidden;
}
.rzf-loop-slide {
animation: scroll-left 40s infinite linear .10s both;
display: flex; 
}
.rzf-loop-slide-reverse {
animation: scroll-right 40s infinite linear .10s both;
display: flex;
}
.rzf-loop-slide li { width: calc(100vw / 5); }
.rzf-loop-slide li img {
display: block;
width: 100%;
}
@keyframes scroll-left {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
@keyframes scroll-right {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

@media screen and (max-width: 767px) {
.rzf-loop-slide li { width: calc(100vw / 3); }
}
@media screen and (max-width: 480px) {
.rzf-loop-slide li { width: calc(100vw / 2); }
}

/* マーカーアニメーション */
.rzf-text-marker-animation {
background: linear-gradient(transparent 75%, var(--accent-color) 25%);
display: inline !important;
background-repeat: no-repeat;  
animation-name: marker-animation;
animation-duration: 10s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
}
@keyframes marker-animation {
  0% { background-size: 0% 100%; }
  30% { background-size: 100% 100%; }
  100% { background-size: 100% 100%; }
}

.rzf-text-marker {
background: linear-gradient(transparent 75%, var(--accent-color) 25%);
display: inline !important;
font-weight: 800;
background-repeat: no-repeat;
background-size: 0% 100%;
transition: background-size 4s ease-in-out;
}
/*@keyframes marker-animation {
  0% { background-size: 0% 100%; }
  30% { background-size: 100% 100%; }
  100% { background-size: 100% 100%; }
}*/
.rzf-text-marker.active {
   background-size: 100% 100%; /* 線の横幅を100%にする */
}

/* マーカーのスタイル */
.marker {
  background-image: linear-gradient(90deg, #b7dbff, #b7dbff);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 .5em;
  padding-bottom: 3px;
  transition: background-size 1.5s; 
}
/* マーカーが表示された時のスタイル */
.marker.active {
  background-size: 100% .5em; /* 線の横幅を100%にする */
}



/* スライダー全体 */
.swiper-wrapper{padding-bottom: 2.5em;}

/* チケット用スライダー */
.swiper-ticket {margin-bottom: 4em;}
.swiper-ticket .swiper-slide{max-width: 380px;}

.swiper-ticket .ticket__slide-img{
text-align: center;
margin-bottom: 1.5em;
padding: 1em;
border: 1px solid;
border-radius: 10px;
background-color: var(--white-color);
}
.swiper-ticket .ticket__slide-img img{max-height: 500px;}

.swiper-ticket h3.ticket__slide-title {
display: flex;
align-items: center;
overflow: hidden;
padding: 0.2em 0.3em;
margin: 0 0 1em!important;
font-size: 1em;
font-weight: 700;
line-height: 1.2;
border: none;
/*border: 2px solid var(--accent-color);*/
color: var(--primary-color)!important;
}
.swiper-ticket h3.ticket__slide-title span::before {
position: absolute;
top: -210%;
left: -120px;
width: 200px;
height: 440%;
content: '';
transform: rotate(16deg);
background-color: var(--primary-color);
z-index: -1;
}
.swiper-ticket h3.ticket__slide-title > span {
position: relative;
margin-right: 1.7em;
padding: 0 0.2em;
/*font-family: "abolition",sans-serif;
font-size: 30px;
font-size: 2.8rem;*/
line-height: 1.2;
color: var(--white-color);
/*background-color: var(--primary-color);*/
z-index: 2;
display: flex;
align-items: center;
letter-spacing: 0.05em;
white-space: nowrap;
}
.swiper-ticket h3.ticket__slide-title > span > span {font-size: 0.9rem;}
.swiper-ticket p{
color: #0B318F!important;
font-weight: 500;
text-align: justify;
}

@media screen and (max-width: 640px){
.swiper-ticket .swiper-slide{max-width: 250px;}
.swiper-ticket h3.ticket__slide-title {
margin: 0 0 0.7em!important;
}
.swiper-ticket h3.ticket__slide-title span::before {
position: absolute;
top: -230%;
width: 178px;
transform: rotate(10deg);
}
.swiper-ticket h3.ticket__slide-title > span {
margin-right: 1.2em;
font-size: 0.9em;
}
}

/* 動画用スライダー */
.swiper-movie .swiper-slide{max-width: 350px;}
.swiper-movie .swiper-slide > div{aspect-ratio: 9 / 16;}
.swiper-movie .swiper-slide > div video{
width: 100%;
height: 100%;
border-radius: 10px;
}
@media screen and (max-width: 767px){
.swiper-movie .swiper-slide{max-width: 250px;}
}

/* 当日の楽しみ方用スライダー */
.swiper-arena h3.arena__slide-title {
margin: 0 0 0.7em!important;
font-size: 1.4rem;
font-weight: 800;
line-height: 1.4;
text-align: center;
border: none;
color: var(--primary-color)!important;
}
.swiper-arena p{
color: var(--text-color)!important;
text-align: justify;
}
.swiper-arena .arena__slide-cont{display: none;}
.swiper-arena .swiper-slide-active .arena__slide-cont{display: block;}
.swiper-arena .swiper-slide-active .arena__slide-cont {
  animation-delay: 0.2s;
  animation-duration: 0.2s;
  animation-fill-mode: both;
  animation-name: arena-fadeIn;
}
/* アニメーション */
@keyframes arena-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.swiper-arena .arena__slide-img{
text-align: center;
margin: 0 auto;
margin-bottom: 1em;
}
.swiper-arena .arena__slide-img img{border-radius: 10px;}
.swiper-arena .swiper-slide-active .arena__slide-img{width: 100%;}

/* スライド全体 */
.swiper-arena .swiper-slide {
  transition: transform 0.6s;
}
/* 左右のスライド */
.swiper-arena .swiper-slide-prev,
.swiper-arena .swiper-slide-next,
.swiper-arena .swiper-slide-duplicate-prev,
.swiper-arena .swiper-slide-duplicate-next {
  transform: scale(0.85);
}

@media screen and (max-width: 767px){
.swiper-arena h3.arena__slide-title {font-size: 1.2rem;}
}
@media screen and (max-width: 450px){
.swiper-arena h3.arena__slide-title {font-size: 1.1rem;}
}

/* ページネーション */
.swiper-pagination {
position: static!important;
margin-top: 0!important;
margin-bottom: 1.8em!important;
}
.swiper-pagination-bullet {
width: 40px!important;
height: 6px!important;
margin: 0 0 0 10px !important;
background: #8A8A8A!important;
border-radius: 0!important;
opacity: 1!important;
}
.swiper-pagination-bullet-active {
background-color: var(--primary-color)!important;
}
@media screen and (max-width: 767px) {
.swiper-pagination{margin-top: 1em!important;}
.swiper-pagination-bullet {
width: 20px!important;
height: 3px!important;
margin: 0 0 0 7px !important;
}
}

/* 前後へ進むボタン */
.swiper-button-next, .swiper-button-prev {
top: var(--swiper-navigation-top-offset, 50%);
width: 45px!important;
height: 60px!important;
color: #fff;
background: var(--primary-color);
padding: 0.5em;
border-radius: 50%;
transition: 0.2s;
}
.swiper-button-next svg, .swiper-button-prev svg {
display: none;
}
.swiper-button-next {
border-radius: 50px 0 0 50px;
right: 0!important;
}
.swiper-button-prev {
border-radius: 0 50px 50px 0;
left: 0!important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
bottom: 0;
content: ""!important;
height: 0;
margin: auto;
position: absolute;
top: 0;
width: 0;
}
.swiper-button-prev::after {
border-bottom: 15px solid transparent;
border-right: 18px solid #fff;
border-top: 15px solid transparent;
left: 7px;
}
.swiper-button-next::after {
border-bottom: 15px solid transparent;
border-left: 18px solid #fff;
border-top: 15px solid transparent;
right: 7px;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
opacity: 0.7;
}

.swiper-arena .swiper-button-next, .swiper-arena .swiper-button-prev, .swiper-ticket .swiper-button-next, .swiper-ticket .swiper-button-prev {
position: absolute;
}

/* 動画用スライダー */
.swiper-movie .swiper-button-next, .swiper-movie .swiper-button-prev {
top: calc(50% - 60px);
}
/* チケット用スライダー */
.swiper-ticket .swiper-button-next, .swiper-ticket .swiper-button-prev {
top: calc(380px / 2 - 15px);
}
.swiper-scrollbar {
    max-width: 840px !important;
    height: 7px !important;
    /*background-color: #E2E2E2;*/
    /*bottom: 0 !important;*/
    left: 50% !important;
    transform: translateX(-50%);
}
.swiper-scrollbar-drag {
background: var(--primary-color, rgba(0, 0, 0, .5))!important;
}
/* アリーナ用スライダー */
.swiper-arena .swiper-button-next, .swiper-arena .swiper-button-prev {
top: calc(((1200px - 80px) / 2.5 - 60px) / 2);
}
/* グッズ用スライダー */
.swiper-goods .swiper-button-next, .swiper-goods .swiper-button-prev {
top: calc(((1200px - 80px) / 3 - 40px) / 2 - 15px);
top: calc(50% - 60px);
}

/*@media screen and (max-width: 1000px) {
.swiper-goods .swiper-button-next, .swiper-goods .swiper-button-prev {
top: calc(((100vw - 80px) / 2 - 40px) / 2);
}
}*/
@media screen and (max-width: 767px) {
.swiper-arena .swiper-button-next, .swiper-arena .swiper-button-prev {
top: calc(((100vw - 40px) / 2 - 30px) / 2)
}
}
@media screen and (max-width: 640px) {
.swiper-ticket .swiper-button-next, .swiper-ticket .swiper-button-prev {
top: calc(250px / 2 - 15px);
}
.swiper-arena .swiper-button-next, .swiper-arena .swiper-button-prev {
top: calc(((100vw - 40px) / 1.7 - 30px) / 2)
}
/*.swiper-goods .swiper-button-next, .swiper-goods .swiper-button-prev {
top: calc(((100vw - 80px) / 1.5 - 30px) / 2);
}*/
}
@media screen and (max-width: 450px) {
#first_time .swiper-movie, #how_to_enjoy .swiper-arena, #goods .swiper-goods{
margin-inline: -20px; 
}
.swiper-arena .swiper-button-next, .swiper-arena .swiper-button-prev {
top: calc((100vw / 1.7 - 30px) / 2)
}
}