@charset"UTF-8";



a, a:visited, a:hover {
  color: #000
}

p, td, th, li, dt, dd, input, textarea, .entryBody, .entryMore {
  font-size: 1.125rem
}

img {
  max-width: 100%;
  height: auto
}

* {
  font-famly:sans-seif;
}

BODY, H1, H2, H3, H4, H5, H6, P, TD, TH, DIV, INPUT, TEXTAREA, OL, UL, LI, PRE {
  font-family: 'Noto Sans JP',"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Lato , Roboto,sans-serif;
  line-break: strict;
  font-weight: 500;
}


@keyframes shutterOpen {
  0% {
    width: 0;
    height: 1px;
  }
  50% {
    width: 100%;
    height: 1px;
  }
  90% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}

.top-op,.top-op2{
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 auto;
  width: 100%;
  height: 100vh;
}
.top-op{
  z-index: 9999;
  background: #fff;
  animation-duration: 1.2s;
  animation-delay:1.4s;
  animation-fill-mode: forwards;
  animation-name: top-op;
}
.top-op2{
  z-index: 99999;
  background: #000;
  animation-duration: 0.7s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  animation-name: top-op2;
}
 
@keyframes top-op{
0% {
  width: 100%;
  left:0;
}
50% {
  width: 100%;
}
100% {
  width: 0%;
  left: 100%;
}
}
@keyframes top-op2{
0% {
  width: 100%;
  left:0;
}
50% {
  width: 100%;
}
100% {
  width: 0%;
  left: 100%;
}
}


.content-inner {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto
}


@media screen and (min-width:1400px) {
  .content-inner {
    width: 80%;
    margin: 0 auto
  }
  .content-inner-narrow {
    width: 80%;
    margin: 0 auto;
    max-width: 900px
  }
}

body {
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
.center {
  text-align: center
}

a img:hover {
  transition: .3s linear;
  opacity: .7
}

.pcNone {
  display: none
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  line-height: 0;
  font-size: 0;
  height: 0;
  visibility: hidden
}

.clearfix {
  display: block
}

#catchArea img{
width:100%;
height:auto;
}


#mainInner {
  max-width: 1200px;
  margin: 0 auto
}

#contents h1, #contents h2, #contents h3, #contents h4, #contents h5, #contents h6 {
  clear: both;
  margin-bottom: 10px
}

#contents h2, #contents h3, #contents h4, #contents H5, #contents H6, #contents p, #contents td, #contents th, #contents li, #contents dt, #contents dd, #contents .entryBody, #contents .entryMore {
  line-height: 1.8
}

#contents p, #contents ul, #contents ol, #contents dl, #contents table {
  margin-bottom: 15px
}


.bnr_funclub{
position: absolute;
right:2%;
top:45vh;
transform: rotate(90deg);
transform-origin:right top;
z-index: 999;
}

.training_wrapper .bnr_funclub{
top:325px;
}


.bnr_funclub p{
float:left;
margin-right:40px;
font-size:18px;
font-weight:600;
line-height: 1!important;
margin-bottom:0!important;
}

.bnr_funclub p:last-child{
margin-right:0;
}


.bnr_funclub p i{
transform: rotate(-90deg);
font-size:35px;
}

.bnr_funclub p:nth-child(1){
}



.bnr_funclub p:nth-child(1):after{
content:"";
display: block;
background: #000;
height:3px;
width:100%;
margin-top:5px;
}

.btn_entry{
position: fixed;
right:2%;
bottom:2%;
width:10%;
max-width:200px;
z-index: 999;
transition: .3s linear;
}

.btn_entry.hidden{
opacity:0;
transition: .3s linear;
}



#contents .mainTitle h2 {
font-size:min(45px,8vw);
position: relative;
margin:0 0 30px;
font-family: "futura-pt-bold", sans-serif;
line-height:1.4
}

#contents .mainTitle h2 span{
display:block;
font-size:min(18px,4vw);
font-family: 'Noto Sans JP',"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Lato , Roboto,sans-serif;
font-weight:500;
}

#contents h2,
#contents h3{
font-weight:900;
}

#about {
background: url("./assets/images/about_bg.png") center center no-repeat #161573;
background-size:300px;
color:#fff;
position: relative;
padding:80px 0;
}

#about h2{
font-size:min(45px,7.5vw);
margin:0 0 10px;
}

#about p {
	font-size:min(16px,4vw);
	margin-bottom:0;
	line-height:2.2;
}

#about p.twitter{
margin-top:20px;
border-bottom: solid 1px #fff;
display: inline-block;
}

#about p.twitter a{
color:#fff;
}


#training{
padding:100px 0 0;
}

#training .training_wrapper{
position: relative;
}

#training .training_wrapper .content-inner{
margin-top:80px;
display: flex;
align-items: flex-start;
}

#training .training_text{
width: 55%;
padding-right:2%;
box-sizing:border-box;
}

#training .training_image{
width: 45%;
}


#training .schedule p,
#training .information p,
#training .profile p{
margin-bottom:0;
line-height:2.2;
font-weight:900;
}



#training .schedule{
}

#training .schedule h3{
font-size:min(34px,7.5vw);
line-height: 1.2;
margin-bottom:0;

}

#training .schedule h3 span{
font-size:min(50px,11.5vw);
display: block;
}

#training .schedule p.data{
margin-top:20px;
font-size:min(34px,7vw);
line-height: 1.4;
}

#training .schedule p.time{
font-size:min(22px,5vw);
margin-bottom:5px;
line-height: 1.4;
}

#training .schedule p.place{
font-size:min(25px,5vw);
line-height:1;
}

#training .schedule p.place span{
font-size:70%;
}

#training .information{
margin-top:30px;
}

#training .information p.coach{
font-size:min(28px,8vw);
line-height: 1.8;
font-weight:700;
}

#training .information p.subtitle{
font-size:min(24px,6vw);
line-height: 1.8;
margin-bottom:10px;
font-feature-settings: "palt";
font-weight:700;
}

#training p.menu{
font-size:14px;
margin-bottom:10px;
font-weight:500;
line-height: 1.8;
}

#training .profile{
margin-top:30px;
}

#training .profile p{
font-size:14px;
margin-bottom:10px;
font-weight:500;
line-height: 1.8;
}

#training .profile h2{
font-size: min(14px,3.5vw);
margin-bottom: 8px!important;
font-weight:500;
}

#training .profile h3{
font-size:min(24px,8vw);
line-height: 1.2;
font-weight: 700;
}
.profile_sns{
margin:0;
padding:0;
list-style: none;
display: flex;
}

.profile_sns li{
margin-right:10px;
}

#video {
margin:80px auto;
}

#video h2{
    font-size: min(25px,4.5vw);
    margin-bottom: 20px;
    font-weight: 700;
}

video {
	top:0;
	width: 100%;
	height: 100%;
	background: #000;/*背景を黒で表示*/
}

#photo ul{
margin:0;
padding:0;
list-style: none;
display: flex;
}

#photo ul li{
width:20%;
}

#ticket{
background:#dddcdc;
padding:80px 0;
text-align: center;
}

#ticket ul{
margin:60px auto;
padding:0;
list-style: none;
}

#ticket ul li{
border:solid 6px #000;
width:50%;
margin:0 auto 30px;
background: #fff;
font-size:28px;
font-weight: 900;
}

#ticket ul li span{
font-size:18px;
display: block;
}

#ticket ul li span.red{
color:#f00;
}

#ticket p.caution{
font-size:14px;
}
#ticket p.caution a{
text-decoration: underline;
}


#ticket ul li a{
padding:15px 0;
display: block;
color:#000;
}

#ticket .funclub{
width:50%;
margin:50px auto;
}

#ticket .funclub p{
font-size:16px;
}

#ticket .attention p{
font-size:16px;
}

#ticket .funclub p.entry{
font-size:30px;
font-weight:900;
display: inline-block;
}

#ticket .funclub p.entry:after{
content:"";
display: block;
background: #000;
height:8px;
margin-top:4px;
}

#ticket ol{
list-style: disc;
text-align: left;
max-width:600px;
margin:auto;
}

#ticket ol li{
font-size:14px;
}

#access {
padding:80px 0;
}


#access iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  margin-bottom:30px;
}

#access p{
font-size:15px;
margin-bottom:5px;
}

#access p i{
margin-left:10px;
}

#presents {
text-align: center;
background: #161573;
color:#fff;
padding:80px 0;
}

#presents h3{
font-weight:700;
}


#container{
position: relative;
}


#footer {
}

#footerInner {
  width: 1200px;
  padding: 80px 0 30px;
  margin: 0 auto
}

.footer_info{
display:flex;
align-items: center;
}


#footerAreaLogo{
margin-right:10px;
}

#footerAreaLogo img {
  width: 160px
}

.footer_title{
}

.footer_title h3{
font-weight:900;
font-size:24px;
line-height: 1.2;
}

.footer_title h3 span{
font-size:34px;
display: block;
}

.footer_title p{
font-size:11px;
font-weight:900;
}

.footer_title ul{
margin:10px 0 0;
padding:0;
list-style: none;
display: flex;
align-items: center;
}

.footer_title ul li{
font-weight:700;
margin-right:30px;
font-size:16px;
}



.footer_title ul li.footer_funclub:after{
content:"";
display: block;
background: #000;
height:1px;
width:100%;
margin-top:5px;
}

.footer_title ul li.footer_insta{
font-size:34px;
}

.footer_link{
margin-left:auto;
}

.footer_link ul{
list-style: none;
margin:0;
padding:0;
display: flex;
align-items:end;
}

.footer_link ul li{
font-size:12px;
margin-left:20px;
}

.footer_link ul li a{
border-bottom:solid 1px #000;
}

.footer_link ul li:last-child a{
border:none;
}

.footer_link ul li img{
width:80px;
}


#footer #footerCopyrightArea {
margin-top:20px;
}

#footer p#copyright {
  text-align: right;
  font-size: 11px;
}

iframe.youtube-16-9 {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}