@charset "UTF-8";
/*
Version: 1.3.1
Creation Date: 2023.8.23
Last Updated: 2025.8.25
*/


/* import
------------------------------------------------------------ */
@import "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css";
@import "https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.css";
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";
@import "https://use.typekit.net/amd2ejv.css";
@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css";

@font-face {
font-family: BLNS_beta;
src: url(BLNS_beta.ttf);	
}


/* set
------------------------------------------------------------ */
* {
margin: 0;
padding: 0;
font-weight: 800;
font-style: normal;
box-sizing: border-box;
}
body {
-webkit-text-size-adjust: 100%;
font-family: "Noto Sans JP", sans-serif;
color: #000;
font-size: 100%;
}
ul {
list-style: none;
}
img {
vertical-align: middle;
max-width: 100%;
height: auto;
}
a {
color: inherit;
text-decoration: none;
}
a:hover img {
opacity: .7;
}
:hover {
transition: .3s;
}
.smp {
display: none;
}
.pc {
display: block;
}


/* Overwrite
------------------------------------------------------------ */
dt {
display: block;
padding: 0 !important;
border-radius: 0;
border: none;
}
#b_ticket a {
padding: 0;
}


/* common
------------------------------------------------------------ */
/* font */
h2,
h3 span,
.tag span[lang="en"],
#roster .swiper-slide h3 span { /* BLNS_beta */
font-family: BLNS_beta, "abolition", sans-serif;
font-weight: 400;
}
h1 a,
nav li a,
time, time *,
#roster .swiper-slide h3 em { /* Abolition Regular */
font-family: "abolition", sans-serif;
font-weight: 400;
}
nav li span,
h2 small,
.panel time { /* Noto Sans JP */
font-family: "Noto Sans JP", sans-serif;
font-weight: 800;
}

/* layout */
main {
width: 100%;
display: block;
position: relative;
overflow: hidden;
}
article {
width: 100%;
position: relative;
}
section {
width: 1040px;
max-width: 92%;
margin: 0 auto;
position: relative;
}

/* style */
.none {
display: none;
}
main a {
text-decoration: underline;
}
main a:hover {
text-decoration: none;
}
h1 a {
font-size: 2rem;
letter-spacing: .2em;
}
h1 a:before {
content: "";
background: url("images/logo.png") no-repeat;
background-size: contain !important;
width: 80px;
height: 80px;
margin-right: 20px;
display: inline-block;
vertical-align: middle;
}
h2 {
color: #FFF;
font-size: 5rem;
text-align: center;
}
h2 small {
font-size: 1.5rem;
margin-top: .5rem;
display: block;
}
h3:has(span):has(small) {
text-align: center;
margin-top: 4rem;
}
h3:has(span):has(small) span {
color: #FFF;
font-size: 3.5rem;
position: relative;
}
h3:has(span):has(small) span::before {
content: "";
background: #ed40a9;
clip-path: polygon(0 20px, 100% 0, 100% calc(100% - 20px), 0 100%);
width: 130%;
height: 120%;
position: absolute;
top: -5%;
left: -15%;
z-index: -1;
}
h3:has(span):has(small) small {
color: #FFF;
font-size: 1.5rem;
margin-top: .5rem;
display: block;
}
.sns li a {
color: #FFF;
font-size: 2rem;
padding: 0 1.25rem;
display: block;
}
time {
font-size: 4rem;
display: block;
}
time small {
font-size: 75%;
margin: 0 .5rem;
}
.day_01 {
flex-basis: 50%;
background: #ed40a9;
color: #FFF;
}
.day_02 {
flex-basis: 50%;
background: #FFF;
color: #ed40a9;
}

/* Swiper */
.slide {
width: 100%;
margin: 5rem auto;
}
.swiper {
max-width: calc(100% - 6em);
margin: 0 auto;
padding: 1em;
}
.slide .swiper-slide {
background: #FFF;
height: auto;
padding-bottom: 1rem;
}
.slide .swiper-slide[data-index] {
cursor: pointer;
}
.slide .swiper-slide[data-index] figure {
overflow: hidden;
}
.slide .swiper-slide[data-index] figure img {
transition: .5s;
}
.slide .swiper-slide[data-index]:hover figure img {
transform: scale(1.1);
transition: .5s;
}
.slide .swiper-slide[data-index]:hover h4,
.slide .swiper-slide[data-index]:hover p {
opacity: .7;
}
.slide .swiper-slide:has(i) {
padding-bottom: 4rem;
}
.tag {
background: #FFF;
color: #ed40a9;
font-size: 1.1rem;
padding: .5em 1em;
position: absolute;
top: -1em;
left: -1em;
z-index: 1;
}
.tag.blue {
background: #006bbe;
color: #FFF;
}
.tag.momo {
background: #ed7db0;
color: #FFF;
}
.tag.pink {
background: #ed40a9;
color: #FFF;
}
.tag span[lang="en"] {
font-size: 1.6rem;
}
.slide .swiper-slide figure {
position: relative;
}
.slide .swiper-slide .place {
font-size: 1rem;
padding: .2rem 1rem;
right: .5rem;
bottom: .5rem;
}
.slide .swiper-slide h4 {
color: #ed40a9;
font-size: 1.3rem;
line-height: 1.3;
margin: 2rem 1.5rem;
}
.slide .swiper-slide p {
font-size: 1.1rem;
font-weight: 700;
margin: 2rem 1.5rem;
}
.slide .swiper-slide p a {
font-weight: 700;
}
.slide .swiper-slide i {
background: #ed40a9;
width: 3rem;
height: 3rem;
border: 1px solid red;
border-radius: 50%;
position: absolute;
right: 1rem;
bottom: 1rem;
}
.slide .swiper-slide i::before,
.slide .swiper-slide i::after {
content: "";
background: #FFF;
width: 1.5rem;
height: 1px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.slide .swiper-slide i::after {
width: 1px;
height: 1.5rem;
}

.swiper-button-prev {
left: 0;
}
.swiper-button-next {
right: 0;
}
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: "Font Awesome 6 Free";
color: #FFF;
font-size: 2rem;
content: "\f100";
}
.swiper-button-next:after {
content: "\f101";
}

/* .modal */
.modal {
display: none;
background: rgba(0,0,0,.85);
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
position: fixed;
top: 0;
left: 0;
z-index: 1000;
}
.modal.active {
display: flex;
}
.modal-content {
background: #FFF;
width: 980px;
max-width: calc(100% - 6em);
max-height: 80vh;
overflow: auto;
}
.modal-content .swiper {
max-width: 100%;
padding: 0;
}
.modal-content figure {
display: flex;
}
.modal-content figure > div {
flex-basis: 45%;
}
.modal-content figcaption {
flex-basis: 55%;
padding: 3em;
}
.modal-content figcaption h4 {
font-size: 1.5rem;
color: #ed40a9;
margin-bottom: 1em;
}
.modal-content figcaption p {
font-size: 1.3rem;
font-weight: 500;
}
.modal-close {
color: #FFF;
font-size: 3rem;
font-weight: 100;
position: absolute;
top: 2rem;
right: 2rem;
cursor: pointer;
}
.modal ul {
width: calc(980px + 6em);
max-width: 100%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
z-index: 1;
}
.modal .prev,
.modal .next {
width: 3em;
height: 3em;
position: absolute;
top: -1.5rem;
cursor: pointer;
}
.modal .prev {
left: -3em;
}
.modal .next {
right: -3em;
}
.modal .prev::before,
.modal .next::before {
content: "";
width: 1.2rem;
height: 1.2rem;
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
position: absolute;
top: 50%;
left: 50%;
}
.modal .prev::before {
transform: translate(-50%,-50%) rotate(-135deg);
}
.modal .next::before {
transform: translate(-50%,-50%) rotate(45deg);
}


/* header
------------------------------------------------------------ */
header {
background: #FFF;
width: 100%;
height: 80px;
padding-left: 2%;
box-shadow: 0 3px 3px rgba(0,0,0,0.1);
position: fixed;
top: 0;
left: 0;
z-index: 12;
}
header a:hover {
opacity: .7;
}

#menu {
background: url(images/menu.png) no-repeat;
background-size: contain !important;
width: 70px;
height: 70px;
position: absolute;
top: 0;
right: 70px;
cursor: pointer;
}
#menu.active {
background: url(images/menu_close.png) no-repeat;
}
nav {
display: none;
background: rgba(0,166,206,.95);
width: 100%;
height: calc(100vh - 70px);
padding: 3rem 0;
position: absolute;
top: 100%;
left: 0;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
nav ul {
max-width: 90%;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, auto);
gap: 1em 4em;
justify-content: center;
}
nav li a {
color: #FFF;
font-size: 2rem;
padding: 1rem 0;
display: block;
}
nav li span {
font-size: .8rem;
display: block;
}
nav li span:before {
font-family: "Font Awesome 6 Free";
content: "\f152";
margin-right: .5rem;
}

#sns {
background: url(images/sns.png) no-repeat;
background-size: contain !important;
width: 70px;
height: 70px;
position: absolute;
top: 0;
right: 0;
cursor: pointer;
}
#sns.active {
background: url(images/sns_close.png) no-repeat;
}
header .sns {
display: none;
background: rgba(237,64,169,1);
text-align: center;
width: 70px;
padding: 1rem 0;
position: absolute;
top: 100%;
right: 0;
}


/* main
------------------------------------------------------------ */
/* #main */
#main {
margin-top: 80px;
}
#main picture img {
width: 100vw;
}

/* #information */
#information {
background: #00a6ce url("images/bg_01.jpg") no-repeat top/100% auto;
text-align: center;
padding: 5rem 0 6rem;
}
#information a:hover img {
opacity: 1;
}
#information ul {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 4rem auto;
}
#information ul li {
margin: .4rem;
flex-basis: calc(16% - .8rem);
}
#information p {
color: #FFF;
font-size: 1.3rem;
margin-top: 2rem;
}
#information p span {
color: #000;
padding: 0 .5em;
}

/* .match_detail */
.match_detail {
background: #ed40a9;
padding: 4rem 0 9rem;
}
.match_detail div {
color: #ed40a9;
max-width: 800px;
margin: 0 auto;
padding: 3rem 2rem;
position: relative;
z-index: 1;
}
.match_detail div:nth-of-type(even) {
color: #FFF;
text-align: right;
}
.match_detail div::before {
content: "";
background-color: #EA72C2;
background-image: linear-gradient(90deg,#ED40A9 2px,transparent 2px), linear-gradient(#ED40A9 2px,transparent 2px);
background-position: 15px 15px;
background-size: 30px 30px;
clip-path: polygon(100% 20%, 100% 80%, 70% 100%, 0 70%, 0 30%, 70% 0);
width: 100vw;
height: 120%;
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
z-index: -1;
}
.match_detail div:nth-of-type(odd)::before {
background: #FFF;
clip-path: polygon(100% 30%, 100% 70%, 30% 100%, 0 80%, 0 20%, 30% 0);
}
.match_detail time {
margin: 1.5rem 0;
}
.match_detail ul {
display: flex;
}
.match_detail div:nth-of-type(even) ul {
justify-content: flex-end;
}
.match_detail ul li + li {
margin-left: 1rem;
}

/* #pick */
#pick {
background: url("images/bg_02.jpg") no-repeat top center/100% auto;
color: #00a6ce;
padding: 5rem 0 8rem;
}
#pick h2 {
color: #00a6ce;
}
#pick div {
margin-top: 5rem;
}

/* #time-schedule */
#time-schedule {
background:
url("images/bg_03.jpg") no-repeat top center/100% auto,
url("images/bg_04.jpg") no-repeat bottom center/100% auto,
#ed40a9;
padding: 5rem 0 0;
}
#time-schedule section {
background: #FFF;
width: 960px;
margin: 5rem auto;
border: 4px solid #00a6ce;
}

/* tab */
.tab-group {
background: #00a6ce;
display: flex;
}
.tab {
color: #FFF;
padding: .5em 2em;
flex-basis: 50%;
}
.tab:hover {
cursor: pointer;
}
.tab.is-active {
background: #FFF;
color: #00a6ce;
}
.tab-group:has(.none) .tab:hover {
cursor: default;
}
.panel {
display: none;
padding: 3em 2em;
}
.panel.is-show {
display: block;
}
.panel dt {
background: #ffd8ed;
color: #ed40a9;
display: flex;
margin-top: .5em;
position: relative;
}
.panel dt i {
width: 1.8rem;
position: absolute;
top: 1em;
right: 1em;
}
.panel time {
background: #ed40a9;
color: #FFF;
font-size: 1.5rem;
text-align: center;
flex-basis: 20%;
padding: .5em 1em;
}
.panel h3 {
font-size: 1.5rem;
flex-basis: 80%;
padding: .5em 1em;
}
.panel dd {
display: none;
background: #ffd8ed;
padding: 2em;
}
.panel dd figure {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1em;
}
.panel figcaption {
flex: 1 1 auto;
}
.panel h4 {
font-size: 1.5rem;
font-weight: 500;
margin: .5em 0;
}
.panel figcaption p {
font-weight: 500;
line-height: 1.8;
}
.panel figure > div {
flex: 0 0 auto;
}

#time-schedule > p {
background: #000;
color: #FFF;
text-align: center;
font-weight: 500;
margin-top: 8rem;
padding: 1em;
}

/* #event */
#event {
background: #00a6ce url("images/event_bg.jpg") no-repeat top/100% auto;
padding: 5rem 0;
}

#pick-up {
width: 1400px;
}
#pick-up figure {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin: 5rem auto 8rem;
position: relative;
}
#pick-up figure > div {
flex-basis: calc(51% + 1rem);
}
#pick-up figcaption {
background: #FFF;
margin: 4rem auto 0 -1rem;
padding: 2rem;
flex-basis: 49%;
border: 6px solid #ed40a9;
z-index: 1;
}
#pick-up figure:nth-of-type(odd) figcaption {
margin: 4rem -1rem 0 auto;
order: -1;
}
#pick-up figcaption h3 {
color: #ed40a9;
font-size: 1.5rem;
margin-top: 1rem;
}
#pick-up figcaption p {
font-weight: 700;
line-height: 1.8;
padding: 1.5rem 0 0;
}
#pick-up figcaption p a {
color: #ed40a9;
font-size: 1.125rem;
font-weight: 900;
text-decoration: none;
}
#pick-up figcaption p a:hover {
text-decoration: underline;
}
#pick-up .tag {
clip-path: polygon(0 10px, 100% 0, 100% calc(100% - 10px), 0 100%);
padding: 1em;
margin-top: -1rem;
}
.place {
background: #ed40a9;
color: #FFF;
font-size: 1.125rem;
padding: .3rem 2rem;
position: absolute;
right: 1rem;
bottom: 1rem;
}

/* #gourmet */
#gourmet {
background: url("images/bg_02.jpg") no-repeat top center/100% auto;
text-align: center;
padding: 5rem 0 8rem;
}
#gourmet h2 {
color: #00a4d7;
margin-bottom: 5rem;
}
#gourmet div[data-aos="flip-up"] {
margin-top: 5rem;
}
#gourmet div[data-aos="flip-up"] a:hover img {
opacity: 1;
}

/* #link-event */
#link-event {
background:
url("images/bg_03.jpg") no-repeat top center/100% auto,
url("images/bg_04.jpg") no-repeat bottom center/100% auto,
#ed40a9;
padding: 5rem 0;
}

/* #ticket */
#ticket {
background: url("images/bg_02.jpg") no-repeat top center/100% auto;
padding: 5rem 0;
}
#ticket h2 {
color: #00a4d7;
}
#ticket section {
text-align: center;
margin: 5rem auto;
}
#ticket h3 {
background: #00a6ce;
background: #00afe2;
color: #FFF;
font-size: 1.5rem;
padding: 1.5rem;
}
#ticket div {
margin: 1rem auto;
}

/* #value-ticket */
#value-ticket {
background: #00a6ce url("images/bg_05.jpg") no-repeat top/100% auto;
padding: 5rem 0;
}

/* #goods */
#goods {
background: #00a6ce url("images/bg_01.jpg") no-repeat top/100% auto;
padding: 5rem 0;
}
#goods .slide .swiper-slide h4 {
color: #00a4d7;
margin: 2rem 1.5rem 0;
}
#goods .slide .swiper-slide h5 {
font-size: 2rem;
margin: 0 1.5rem;
}
#goods .slide .swiper-slide h5 small {
font-size: 1rem;
}
#goods .slide .swiper-slide p {
font-size: .8rem;
font-weight: 500;
margin: .5rem 1.5rem;
}

/* #rule */
#rule {
padding: 5rem 0;
}
#rule h2 {
color: #00a4d7;
margin-bottom: 5rem;
}
.link {
margin: 5rem auto;
}
.link a {
font-size: 1.5rem;
text-decoration: none;
text-align: center;
padding: 1rem;
display: block;
border: 6px solid #ed40a9;
border-radius: 1.25rem;
}
.link a:hover {
background: #ed40a9;
color: #FFF;
}

/* #program */
#program {
background:
url("images/bg_03.jpg") no-repeat top center/100% auto,
url("images/bg_04.jpg") no-repeat bottom center/100% auto,
#ed40a9;
padding: 5rem 0;
}
#program h2 {
margin-bottom: 5rem;
}
.more {
text-align: center;
margin: 3rem auto;
}
.more a {
background: #ed40a9;
color: #FFF;
font-size: 1.5rem;
text-decoration: none;
text-align: center;
padding: .5rem 3rem;
display: inline-block;
border: 4px solid #FFF;
border-radius: 100vh;
}
.more a:hover {
background: #FFF;
color: #ed40a9;
}

/* #roster */
#roster {
background: #00a6ce url("images/bg_01.jpg") no-repeat top/100% auto;
color: #FFF;
text-align: center;
padding: 5rem 0;
}
#roster .swiper.main {
margin: 3.5rem auto;
padding-bottom: 2rem;
}
#roster .swiper.main .swiper-slide {
text-align: left;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
#roster .swiper.main .swiper-slide div {
flex-basis: 45%;
padding-bottom: 1rem;
}
#roster .swiper.main .swiper-slide div img {
aspect-ratio: 3 / 4;
object-fit: cover;
object-position: 50% 0;
}
#roster .swiper.main .swiper-slide div:last-child {
padding-bottom: 4rem;
}
#roster .swiper.main .swiper-slide h3 {
font-size: 1rem;
line-height: 1.5;
}
#roster .swiper.main .swiper-slide h3 span {
font-size: 2.625rem;
margin-right: 1rem;
}
#roster .swiper.main .swiper-slide h3 strong {
font-size: 1.5rem;
}
#roster .swiper.main .swiper-slide h3 em {
font-size: 1.5rem;
}
#roster .swiper.main .swiper-slide p {
line-height: 2;
margin-top: 1.5rem;
}
.swiper-pagination-bullets {
bottom: 0 !important;
}
.swiper-pagination-bullet {
background: #FFF;
margin: 0 8px !important;
}
#roster .swiper.thumb .swiper-slide div {
position: relative;
}
#roster .swiper.thumb .swiper-slide div img {
aspect-ratio: 1 / 1;
object-fit: cover;
object-position: 50% 0;
}
#roster .swiper.thumb .swiper-slide div:before {
content: "";
background: #00a6ce;
opacity: .4;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
#roster .swiper.thumb .swiper-slide div:hover:before,
#roster .swiper.thumb .swiper-slide-thumb-active div:before {
opacity: 0;
cursor: pointer;
}
#roster .swiper.thumb .swiper-slide p {
text-align: center;
margin: .5rem 0 .8rem;
}

/* #access */
#access {
background: #00a6ce;
text-align: center;
padding: 5rem 0 8rem;
}
#access section {
background: #FFF;
margin: 5rem auto;
padding: 2.5rem 2.5rem 5rem;
}
#access h3 {
font-size: 2rem;
padding-bottom: 1.5rem;
border-bottom: solid 6px #ed40a9;
}
#access address {
font-size: 1.25rem;
margin: 1.5rem 0 3rem;
}
#access figure {
margin-bottom: 3rem;
display: flex;
justify-content: space-between;
}
#access figure div {
flex-basis: 50%;
margin-bottom: 1rem;
}
#access figcaption {
flex-basis: 45%;
font-weight: 400;
line-height: 1.8;
text-align: left;
}
#access figcaption em {
font-weight: 700;
}
#access > div a:hover img {
opacity: 1;
}

/* #beginners */
#beginners {
text-align: center;
padding: 4rem 0 6rem;
}

/* #share */
#share {
background: url("images/share_bg.jpg") no-repeat top center;
background-size: cover;
padding: 4rem 0 6rem;
}
#share h2 {
font-size: 3rem;
}
#share .sns {
margin: 2rem auto 8rem;
display: flex;
justify-content: center;
}


/* footer
------------------------------------------------------------ */
footer {
background: #00a6ce;
}
footer section {
height: 100px;
margin-bottom: 80px;
display: flex;
justify-content: space-between;
align-items: center;
}
footer h1 a {
font-size: 1.5rem;
}
footer p {
font-size: .75rem;
font-weight: 400;
text-align: center;
}

#b_ticket {
width: 100%;
height: 80px;
display: flex;
flex-wrap: wrap;
position: fixed;
bottom: 0;
left: 0;
z-index: 11;
}
#b_ticket a {
padding: 1rem;
display: flex;
justify-content: center;
align-items: center;
}
#b_ticket time {
font-size: 3rem;
}
#b_ticket a img {
width: auto;
height: 50px;
}
#b_ticket .day {
flex-basis: 100%;
background: #ed40a9;
color: #FFF;
}





@media screen and (max-width: 834px) {

/* set
------------------------------------------------------------ */
html {
font-size: 80%;
}
body {
font-size: 1.2rem;
}

/* common
------------------------------------------------------------ */
.swiper {
max-width: calc(100% - 3em);
}

/* main
------------------------------------------------------------ */
/* #information */
#information ul li {
flex-basis: calc(25% - .8rem);
}

/* #event */
#pick-up figure {
display: block;
}
#pick-up figcaption {
margin: 0 auto !important;
}

/* #access */
#access figure {
display: block;
}

}


@media screen and (max-width: 430px) {

/* set
------------------------------------------------------------ */
.pc {
display: none;
}
.smp {
display: block;
}
br.smp {
font-size: 0;
}

/* common
------------------------------------------------------------ */
/* style */
h1 a {
font-size: 1.5rem;
letter-spacing: .1em;
}
h1 a:before {
width: 50px;
height: 50px;
}
h2 {
font-size: 3.5rem;
}
h2 small {
font-size: 1rem;
}
h3:has(span):has(small) span {
font-size: 2.5rem;
}
h3:has(span):has(small) span::before {
height: 140%;
}
h3:has(span):has(small) small {
font-size: 1rem;
}
.sns li a {
font-size: 1.5rem;
padding: 0 .5rem;
}

/* Swiper */
.slide {
margin: 2rem auto;
}

/* .modal */
.modal-content figure {
display: block;
}
.modal-content figcaption {
padding: 1em;
}

/* header
------------------------------------------------------------ */
header {
height: 50px;
}
#menu {
width: 50px;
height: 50px;
right: 50px;
}
nav {
height: calc(100vh - 50px);
}
nav ul {
gap: 1em 2em;
}
nav li a {
padding: .5rem 0;
}
#sns {
width: 50px;
height: 50px;
}
header .sns {
width: 50px;
}

/* main
------------------------------------------------------------ */
/* #main */
#main {
margin-top: 50px;
}

/* #information */
#information ul li {
flex-basis: calc(33% - .8rem);
}

/* .match_detail */
.match_detail {
padding: 2rem 0 5rem;
}
.match_detail div::before {
height: 115%;
}
.match_detail ul li + li {
margin-left: .5rem;
}

/* #time_schedule */
/* tab */
.tab {
padding: .5em;
}
.tab time {
font-size: 2.8rem;
}
.tab time small {
font-size: 65%;
}
.panel {
padding: .5em;
}
.panel dt {
display: block;
}
.panel dt i {
top: .5em;
right: .5em;
}
.panel time {
font-size: 1.2rem;
padding: .2em 1em;
display: inline-block;
}
.panel h3 {
font-size: 1.3rem;
padding: .5em 1em 1em;
}
.panel dd {
padding: 1px 1em 1em;
}
.panel dd figure {
display: block;
}
.panel figcaption {
padding-bottom: 1em;
}
.panel h4 {
font-size: 1.4rem;
font-weight: 500;
margin: .5em 0;
}
#time_schedule > p {
margin-top: 0;
}

/* #roster */
#roster .swiper {
max-width: 100%;
}
#roster .swiper.main {
margin: 1.5rem auto;
padding-bottom: 0;
}
#roster .swiper.main .swiper-slide {
display: block;
padding: 0 1rem 1rem;
}
#roster .swiper.main .swiper-slide div:last-child {
padding-bottom: 0;
}
#roster .swiper.main .swiper-slide h3 {
text-align: center;
}
#roster .swiper.main .swiper-slide h3 em {
display: block;
}
#roster .swiper.main .swiper-slide p {
line-height: 1.6;
text-align: center;
margin-top: .5rem;
}
.swiper-pagination-bullet {
margin: 0 3px !important;
}
#roster .swiper.thumb .swiper-slide p {
font-size: .7rem;
font-weight: 400;
margin: .2rem 0 .5rem;
}

/* #access */
#access {
padding: 5rem 0;
}
#access section {
margin: 1.5rem auto;
padding: 2rem 1rem;
}
#access > div {
max-width: 92%;
margin: 3rem auto 0;
}

/* #beginners */
#beginners {
padding: 2rem 0;
}

/* #share */
#share {
padding: 2rem 0;
}
#share h2 {
font-size: 2rem;
}
#share .sns {
margin: 2rem auto;
}

/* footer
------------------------------------------------------------ */
footer section {
height: auto;
display: block;
margin-bottom: 50px;
padding-bottom: 1rem;
}

#b_ticket {
height: 50px;
}
#b_ticket a {
padding: .5rem;
}
#b_ticket time {
font-size: 1.8rem;
}
time small {
margin: 0 .2rem;
}
#b_ticket a img {
height: 25px;
}

}