@charset "utf-8";

/*----------------------

Theme name:カラフルスポーツクラブ
Theme URL:https://colorful-sports-club.com

-----------------------------------------*/

/* RESET
----------------------------------------------------------------------------------------------------*/

a,article,body,dd,div,dl,dt,em,form,footer,header,
h1,h2,h3,h4,h5,h6,html,i,iframe,img,label,legend,
li,nav,ol,p,section,main,span,table,tbody,tfoot,thead,
time,tr,th,td,ul,video,figure{
  font-family:inherit;
  font-size:100%;
  font-weight:inherit;
  font-style:inherit;
  vertical-align:baseline;
  white-space:normal;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  line-height:2;
  clear: both;
  }
textarea{
  font-family:inherit;
  font-size:100%;
  font-weight:inherit;
  font-style:inherit;
  vertical-align:baseline;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  line-height:1.6;
  }
article,footer,header,nav,section,main{
  display:block;
  }
ol,ul{
  list-style:none;
  }
table{
  border-collapse:collapse;
  border-spacing:0;
}
*{
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
  }
button{
    outline: none;
    background-color:transparent;
    padding:0;
    margin:0;
    border-style: none;
    display:block;
    width:100%;
  }
body {
  margin:0;
  padding:0;
  font-size: 16px;
  font-size:1rem;
  line-height: 1.8;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color:#333;
  -webkit-text-size-adjust: 100%;
}
a{
  outline:none;
}
a:hover {
  text-decoration: none;
}
a,a:hover,a:hover img {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}
a:focus{
  outline:none !important;
}
hr{
  margin:15px 0;
  border-top:dashed 1px #333;
}
/*-------------------------------
  margin
--------------------------------*/
.mg-top30{  
  margin-top:30px !important;
}
.mg-top50{  
  margin-top:50px !important;
}
.mg-top75{
  margin-top:75px !important;
}
.mg-top100{
  margin-top:100px !important;
}
.mg-top150{
  margin-top:150px !important;
}
.mg-b30{
  margin-bottom:30px !important;
}
.mg-b50{
  margin-bottom:50px !important;
}
.mg-b75{
  margin-bottom:75px !important;
}
.mg-b100{ 
  margin-bottom:100px !important;
}
.mg-l5{
  margin-left:5px;
}
.mg-r5{ 
  margin-right:5px;
}
/*-------------------------------
  padding
--------------------------------*/
.pd-5{
  padding:5px;
}
.pd-15{ 
  padding:15px;  
}
.pd-top50{ 
  padding-top:50px;
}
.pd-top75{ 
  padding-top:75px;
}
.pd-top100{  
  padding-top:100px;
}
.pd-top150{  
  padding-top:150px;
}
.pd-b50{
  padding-bottom: 50px;
}
.pd-b75{
  padding-bottom:75px;
}
.pd-b100{ 
  padding-bottom: 100px;
}
.pd-b150{ 
  padding-bottom: 150px;
}
/*===========
 text
=============*/
.text-center{ 
  text-align: center;
}
.text-right{
  text-align:right;
}
.text-left{
  text-align:left;
}   
.white{
  color:#fff !important;
}
.red{
  color:#DD0000;
}
.blue{
  color:#0D29BE;
}
.yellow{
  color:#FDC919;
}
.green{
  color:#089A3E;
}
.bold{
  font-weight:bold;
}
.small{
  font-size:80%;
}
.relative{
  position: relative;
}
.bd_red{
  border:solid 3px #DD0000;
}
.bd_blue{
  border:solid 3px #0D29BE;
}
.bd_yellow{
  border:solid 3px #FDC919;
}
.bd_green{
  border:solid 3px #089A3E;
}
.bd_r{
  border-radius:15px;
}
/*--------------------
  background-color
----------------------*/
.bg_glay{
  background-color:#eee;  
}
.bg_st-glay{
  background-image:url(img/st-glay_bg.jpg);
  background-repeat: repeat;
  background-size:30px 30px;
}
.bg_white{
  background-color:#fff;
}
.bg_offwhite{
  background-color: rgba( 255, 255, 255, 0.9);
}
.bg_red{
  background-color:#ffe4e1;
}
.bg_cyan{
  background-color:#c8e7fa;
}
.bg_yellow{
  background-color:#FFFFCC;
}
/*-------------
   sp
---------------*/
@media screen and (min-width:768px){
  .sp{
    display:none !important;
  }
}
/*--------------------
  fade
--------------------*/
@media screen and (min-width: 768px) {
  section div ul li:nth-of-type(2){
    transition-delay: .15s;
  }
  section div ul li:nth-of-type(3){
    transition-delay: .25s;
  }
  section div ul li:nth-of-type(4){
    transition-delay: .35s;
  }
  section div ul li:nth-of-type(5){
    transition-delay: .45s;
  }
  section div ul li:nth-of-type(6){
    transition-delay: .55s;
  } 
}
/*-------------------
  btn
--------------------*/
.btn_r{
  display:flex;
  justify-content: center;
  align-items:center;
  text-align:center;
  position: relative;
  padding:15px 20px;
  margin:30px auto;
  color:#fff;
  background-color:#DD0000;
  width:100%;
  max-width:400px;
  font-size:1.1rem;
  font-weight:800;
  border-radius:10px;
}
.btn_b{
  display:flex;
  justify-content: center;
  align-items:center;
  text-align:center;
  position: relative;
  padding:12px 20px;
  margin:30px auto;
  color:#fff;
  background-color:#0D29BE;
  width:100%;
  max-width:400px;
  font-size:1rem;
  font-weight:800;
  border-radius:10px;
}
.btn_y{
  display:flex;
  justify-content: center;
  align-items:center;
  text-align:center;
  position: relative;
  padding:12px 20px;
  margin:30px auto;
  color:#fff;
  background-color:#FDC919;
  width:100%;
  max-width:400px;
  font-size:1rem;
  font-weight:800;
  border-radius:10px;
}
.btn_g{
  display:flex;
  justify-content: center;
  align-items:center;
  text-align:center;
  position: relative;
  padding:12px 20px;
  margin:30px auto;
  color:#fff;
  background-color:#089A3E;
  width:100%;
  max-width:400px;
  font-size:1rem;
  font-weight:800;
  border-radius:10px;
}
.btn_r:hover{
  background-color:#FFD901;
  color:#fff;
  -webkit-transition:all 0.6s;
  transition:all 0.6s;
}
.btn_b:hover{
  background-color:#089A3E;
  color:#fff;
  -webkit-transition:all 0.6s;
  transition:all 0.6s;
}
.btn_y:hover{
  background-color:#DD0000;
  color:#fff;
  -webkit-transition:all 0.6s;
  transition:all 0.6s;
}
.btn_g:hover{
  background-color:#0D29BE;
  color:#fff;
  -webkit-transition:all 0.6s;
  transition:all 0.6s;
}
.btn_r .fa-arrow-alt-circle-right,
.btn_b .fa-arrow-alt-circle-right,
.btn_y .fa-arrow-alt-circle-right,
.btn_g .fa-arrow-alt-circle-right{
  margin-left:10px;
}
/*===============
  Page Loading
================*/
#pageload {
	position: fixed;
	width: 100%;
	height:100vh;
	background: #fff;
	z-index: 9999;
	text-align:center;
  color:#fff;
}
#load_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#load_logo img{
  width:100%;
  max-width:300px;
}
/*画面遷移アニメーション*/
.pageloadbg{
    display: none;
}
body.appear .pageloadbg{
    display: block;
    content: "";
    position:fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    transform: scaleX(0);
    background-color: #B90101;
    animation-name:PageAnime;
    animation-duration:1.2s;
    animation-timing-function:ease-in-out;
    animation-fill-mode:forwards;
}
@keyframes PageAnime{
	0% {
		transform-origin:right;
		transform:scaleX(0);
	}
	50% {
		transform-origin:right;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:left;
	}
	100% {
		transform-origin:left;
		transform:scaleX(0);
	}
}
#wrap{
	opacity: 0;
}
body.appear #wrap{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay: 0.8s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}

/* container
------------------*/
.container {
  margin:0 auto;
  padding:0 15px;
}
@media (min-width: 768px) {
.container {
  width: 750px;
  padding:0 10px;
  }
}
@media (min-width: 991px) {
.container {
  width: 980px;
 }
}
@media (min-width: 1280px) {
.container {
  width: 1200px;
 }
}
/*================
  header
  ===============*/
.header{
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  justify-content:space-between;
  align-items:center;
  background-color:#fff;
  width:100%;
  padding:10px 10px 0 0;
  margin:0;
  z-index:30;
}
.h_logo{
  margin:0;
  width:110px;
}
@media screen and (min-width:768px){
  .h_logo{
    width:150px;
    margin-left:15px;
  }
}
.h_btn{
  position:fixed;
  right:10px;
  top:10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
  align-items: center;
  border:none;
  width:50px;
  height:48px;
  background-color:#DD0000;
  border-radius:50px;
  z-index:998;
  border:solid 2px #fff;
}
@media screen and (min-width:768px){
  .h_btn{
    top:15px;
    right:30px;
    width:70px;
    height:68px;
  }
}
.h_btn span{
  display:block;
  position: relative;
  top:0;
  margin:0 auto;
  width:20px;
  height:3px;
  background-color:#fff;
  transition:.6s;
}
.h_btn span::before,
.h_btn span::after{
  content:'';
  display:block;
  position: absolute;
  left:0;
  width:100%;
  height:3px;
  transition:all .6s;
  background-color:inherit;
}
.h_btn span::before{
  top:-9px;
}
.h_btn span::after{
  top:9px;
}
body.open .h_btn{
  z-index:999;
  background-color:#089A3E;
}
body.open .h_btn span{
  width:30px;
  background-color:transparent;
}
body.open .h_btn span::before,
body.open .h_btn span::after{
  top:0;
  background-color:rgb( 251, 246, 240);
}
body.open .h_btn span::before{
  transform:rotate(45deg);
}
body.open .h_btn span::after{
  transform:rotate(-45deg);
}
/* g_nav area
---------------------*/
.g_nav-ttl{
  font-family: europa, sans-serif;
  font-weight: 400;
  font-size:2rem;
  line-height: 1.2;
  border-left:solid 8px #333;
  padding-left:10px;
  margin-bottom:15px;
}
@media screen and (min-width:991px){
  .g_nav-ttl{
    font-size:3rem;
  }
}
.g_nav{
  z-index:99;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction:column;
  position:fixed;
  top:0;
  width:100vw;
  height:100vh;
  background-image:url(img/nav_sp-bg.jpg);
  background-size:cover;
  background-position: center;
  transform:translateX(100%);
  transition:.6s ease;
  padding:50px 15px 30px;
  overflow-y: scroll;
}
body.open .g_nav{
  transform:translateX(0);
}
@media screen and (min-width:768px){
  .g_nav{
    padding:50px;
    background-image:url(img/nav_bg.jpg);
 }
}
.nav_logo{
  width:250px;
  margin:0 auto 20px;
}
.nav_home{
  width:60px;
  margin:0 auto 30px;
}
.nav_logo img,
.nav_home img{
  width:100%;
  object-fit: cover;
}
.g_nav-ul{
  padding:10px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap:wrap;
  width:100%;
  margin:0 0 15px;
}
.g_nav-ul li{
  display:block;
  width:100%;
  font-size:1rem;
  background-color:#fff;
  font-weight:bold;
}
.menu_ttl{
  border-bottom:solid 1px #333;
  font-size:1.1rem;
}
.g_nav-ul .nav_k{
  color:#333;
  display:block;
  padding:10px;
}
.g_nav-ul li a{
  color:#333;
  display:block;
  padding:10px;
}
.g_nav-ul li a:hover{
  background-color:yellow;
  -webkit-transition:0.6s;
  transition:0.6s;
}
.nav_menu{
  position: relative;
  margin-bottom:15px;
}
.nav_menu a{
  color:#333 !important;
  font-weight:bold;
}
.nav_menu a:hover{
  background-color:yellow;
  -webkit-transition:0.6s;
  transition:0.6s;
}
.sub_nav{
  display:block;
  background-color:#fff;
}
.sub_nav li{
  border-bottom:dashed 1px #333;
  border-left:none;
  font-size:0.9rem;
}
.sub_nav li:last-child,
.sub_nav li:last-child{
  border-bottom:none;
}
.sub_nav li a{
  color:#333 !important;
  padding:10px 10px 10px 20px;
}
.sub_nav li a:hover{
  background-color:yellow;
  -webkit-transition:0.6s;
  transition:0.6s;
}
@media screen and (min-width:768px){
  .g_nav-ul{
    justify-content: flex-start;
    align-items:flex-start;
  }
  .g_nav-ul li{
    width:calc(33% - 30px);
    margin:0 auto 30px;
    background-color:rgba( 255, 255, 255, 0.8);
  }
  .g_nav-ul::after{
    content:'';
    width:calc(50% - 30px);
    display:block;
    margin:0 auto 30px;
  }
  .sub_nav li{
    width:100%;
    font-size:1rem;
    margin:0;
  }
}
.nav_sns{
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items:center;
  justify-content: center;
  width:100%;
  max-width:450px;
  margin:30px auto 0;
  padding:10px;
  background-color:rgba( 255, 255, 255, 0.8);
}
.nav_sns li{
  margin:0;
}
.nav_sns li a{
  color:#333;
  padding:5px 10px;
  display:block;
}
.nav_sns li a img{
  width:30px;
  height:30px;
  vertical-align: middle;
}
/*================
  Slide
 =================*/
.top_visual{
  width:100%;
  height:400px;
  position: relative;
  display: block;
  margin-bottom:100px;
}
.top_visual::before{
  content: '';
  position: absolute;
  top: 180px;
  left: 0;
  width: 40%;
  height: 280px;
  z-index: -1;
  background-color: #DD0000;
  border-radius: 0 15px 15px 0;
 }
#slider{
  display:block;
  position:absolute;
  content:'';
  top:0;
  right:0;
  width:calc(100% - 20px);
  height: 400px;
  border-radius: 40px 0 0 40px;
}
.top_page-ttl{
  position: absolute;
  bottom:20px;
  left:-5px;
  font-size:1.4rem;
  font-weight:bold;
  background-color: #fff;
  color:#333;
  padding:15px 10px 10px 20px;
  line-height: 1;
  width:85%;
  margin:0;
  z-index:10;
  border-radius:0 15px 15px 0;
  box-shadow: 5px 5px #B90101;
}
@media screen and (min-width:991px){
  .top_visual{
     height:700px;
     margin-bottom:200px;
 }
  .top_visual::before{
     top:250px;
     height:500px;
 }
  #slider{
    width:93%;
    height:700px;
    border-left: solid 8px #fff;
    border-bottom: solid 8px #fff;
 }
 .top_page-ttl{
    font-size:2rem;
    text-align:left;
    padding-left:100px;
    width:50%;
 }
}
/*=================
  ttl
==================*/
.ttl_en{
  font-family: europa, sans-serif;
  font-weight: 400;
  font-size:2.7rem;
  line-height: 1;
  color:rgb(221, 0, 0);
  margin:0;
}
.ttl_j{
  font-size:1rem;
  font-weight:700;
}
@media screen and (min-width:991px){
  .ttl_en{
    font-size:4rem;
    line-height: 0.6;
 }
}
.ttl_h3{
  font-size:1.5rem;
  padding-left:10px;
  border-left:solid 8px #DD0000;
  color:#DD0000;
  font-weight:bold;
  margin-bottom:30px;
}
/* news area
-----------------*/
.news_area{
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap:wrap;
  justify-content:start;
  align-items:flex-start;
  padding:0;
  margin:30px 0;
  width:100%;
}
.news_area li{
  width:100%;
  margin:30px 0;
  border:solid 1px #333;
  border-radius:15px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  padding:15px;
  background-color:#fff;
  position:relative;
}
.news_area li:hover{
  box-shadow:10px 10px #FFD901;
  transition:0.6s;
}
.news_thumb{
  overflow: hidden;
}
.news_thumb img{
  width:100%;
  object-fit: cover;
  border-radius:15px 15px 0 0;
}
.news_thumb img:hover{
  transform: scale(0.98);
  transition:0.6s;
}
.news_contents{
  padding:15px 10px 10px;
  border-top:solid 1px #333;
}
.news_ttl{
  font-size:1rem;
  font-weight:bold;
  line-height:1.6;
  border-bottom:solid 1px #333;
  padding-bottom:10px;
  margin-bottom:10px;
  color:#333;
}
.news_date{
  font-size:0.9rem;
  padding-top:5px;
  color:#333;
  display:flex;
  align-items:center;
  justify-content: space-between;
}
.c_news{
  position:absolute;
  top:20px;
  left:0;
  background-color:#DD0000;
  color:#fff;
  padding:3px 8px;
  font-size:0.8rem;
  border-radius:0 10px 10px 0;
}
.news_category{
  position:absolute;
  top:20px;
  left:0;
  background-color:#DD0000;
  color:#fff;
  padding:3px 8px;
  font-size:0.8rem;
  border-radius:0 10px 10px 0;
}
.sc_category{
  position:absolute;
  top:20px;
  left:0;
  background-color:#089A3E;
  color:#fff;
  padding:3px 8px;
  font-size:0.8rem;
  border-radius:0 10px 10px 0;
}
.oni_category{
  position:absolute;
  top:20px;
  left:0;
  background-color:#FDC919;
  color:#fff;
  padding:3px 8px;
  font-size:0.8rem;
  border-radius:0 10px 10px 0;
}
.spo_category{
  position:absolute;
  top:20px;
  left:0;
  background-color:#0D29BE;
  color:#fff;
  padding:3px 8px;
  font-size:0.8rem;
  border-radius:0 10px 10px 0;
}
@media screen and (min-width:450px){
  .news_area::after{
    content:'';
    width:calc(50% - 15px);
}
  .news_area li{
    width:48%;
    margin:30px 1%;
 }
}
@media screen and (min-width:991px){
  .news_thumb{
    height:180px;
 }
}
@media screen and (min-width:1280px){
  .news_area li{
    width:31%;
	margin:30px 1%;
 }
}
.t_news_area{
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  width:100%;
  align-items: flex-start;
  overflow-x: scroll;
  padding-bottom:15px;
}
.t_news_area li{
  width: 80%;
  margin-right: 15px;
  flex-shrink: 0;
  border:solid 2px #333;
  border-radius:15px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  background-color:#fff;
}
.t_news_area li:hover{
  box-shadow:10px 10px #FFD901;
  transition:0.6s;
}
.t_news_thumb{
  overflow: hidden;
  display:block;
  height:150px;
}
.t_news_thumb img{
  width:100%;
  object-fit: cover;
  border-radius:15px 15px 0 0;
}
.t_news_thumb img:hover{
  transform: scale(0.98);
  transition:0.6s;
}
.t_news_contents{
  padding:15px 10px 10px;
  border-top:solid 1px #333;
}
.t_news_ttl{
  font-size:1rem;
  font-weight:bold;
  line-height:1.6;
  border-bottom:solid 1px #333;
  padding-bottom:10px;
  margin-bottom:10px;
  color:#333;
}
.t_news_date{
  font-size:0.9rem;
  padding-top:5px;
  color:#333;
  display:flex;
  align-items:center;
  justify-content: space-between;
}
@media screen and (min-width:480px){
  .t_news_area li{
    width: 300px;
  }
}
@media screen and (min-width:768px){
  .t_news_area li{
    width: 300px;
  }
  .e_re-arrow{
    margin:15px 0 30px;
  }
  .e_re-arrow p{
    font-size:1.3rem;
    margin-right:170px;
  }
  .a_right::after {
    width: 250px;
  }
}
/* top_about-sec
-----------------*/
.top_about-sec{
  position: relative;
  width:100%;
  margin:0;
  padding:100px 0;
}
.top_about-sec::before{
  content:'';
  position:absolute;
  top:180px;
  right:0;
  width:40%;
  height:150px;
  z-index:-1;
  background-color:#DD0000;
  border-radius:15px 0 0 15px;
}
.top_ttl{
  font-size:1.8rem;
  font-weight:bold;
  margin-bottom:50px;
  padding-left:20px;
  color:#DD0000;
  position: relative;
  line-height: 1.5;
}
.top_ttl::before{
  position: absolute;
  content:'';
  left:0;
  top:20px;
  width:15px;
  height:5px;
  background-color:#DD0000;
  border-radius:15px;
}
.flex_top{
  display:block;
  width:100%;
  margin:30px 0;
  padding:0;  
}
.top_m-ttl{
  font-size:1.4rem;
  font-weight:bold;
  margin-bottom:30px;
}
.top_logo-area{
  width:100%;
  overflow: hidden;
  margin:0 0 30px;
  padding:0;
}
.top_logo-area img{
  object-fit: cover;
  width:100%;
  background-color:#fff;
  border-radius:15px;
}
@media screen and (min-width:768px){
  .top_about-sec::before{
    top:150px;
    height:300px;
  }
}
@media screen and (min-width:991px){
  .top_ttl{
    font-size:2.6rem;
    padding-left:40px;
  }
  .top_ttl::before{
    top:30px;
    width:20px;
    height:5px;
  }
  .flex_top{
    display:flex;
  }
  .top_logo-area{
    width:calc(35% - 30px);
    margin:30px auto;
  }
  .top_intro{
    background-color:rgba( 255, 255, 255, 0.8);
    border-radius:15px;
    padding:10px;
    width:calc(65% - 30px);
    margin:30px auto;
  }
}
@media screen and (min-width:1200px){
  .top_about-sec::before{
    top:-50px;
    height:500px;
  }
}
/*  top_le-sec
-------------------*/
.top_le-sec{
  width:100%;
  margin:0;
  padding:100px 0;
  position: relative;
}
.top_le-sec::before{
  content:'';
  position:absolute;
  top:10px;
  left:0;
  width:40%;
  height:180px;
  z-index:1;
  background-color:#0D29BE;
  border-radius:0 15px 15px 0;
}
.top_ttl-b{
  font-size:1.8rem;
  font-weight:bold;
  margin-bottom:50px;
  padding-right:20px;
  color:#0D29BE;
  position: relative;
  text-align: right;
}
.top_ttl-b::before{
  position: absolute;
  content:'';
  right:0;
  top:27px;
  width:15px;
  height:5px;
  background-color:#0D29BE;
  border-radius:15px;
}
.top_le-p{
  background-color:rgba( 255, 255, 255, 0.9);
  padding:10px;
  margin:30px 0;
  text-align:left;
  border-radius:15px;
}
.top_box-flex{
  width:100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items:flex-start;
}
.top_box{
  width:100%;
  margin:0 0 30px;
  padding:15px 10px;
  background-color:rgba( 255, 255, 255, 0.9);
  border-radius:15px;
  z-index:3;
}
.top_box:hover{
  box-shadow: 10px 10px #0000FF;
  transition:0.6s;
}
.top_box figure{
  width:100%;
  overflow: hidden;
  padding:5px 5px 0;
}
.top_box figure img{
  object-fit: cover;
  width:100%;
  border-radius:10px;
}
.top_box-ttl{
  font-size:1.2rem;
  font-weight:bold;
  text-align:center;
  margin-bottom:10px;
}
.top_bpx a {
  color:#333;
}
.top_box p{
  font-size:0.85rem;
  line-height: 1.6;
  color:#333;
}
@media screen and (min-width:768px){
  .top_le-sec::before{
    top:150px;
    height:300px;
  }
  .top_box{
    width:48%;
    margin:0 1% 30px;
    padding:15px 10px;
  }
  .top_box-ttl{
    font-size:1.2rem;
  }
}
@media screen and (min-width:991px){
  .top_ttl-b{
    font-size:2.6rem;
    padding-right:40px;
  }
  .top_ttl-b::before{
    top:45px;
    width:20px;
    height:5px;
  }
  .top_le-p{
    max-width:650px;
    margin-left:auto;
  }
  .top_box{
    width:31%;
    margin:30px 1%;
    padding:15px 10px;
  }
  .top_box:nth-child(2){
    margin-top:70px;
  }
  .top_box:nth-child(3){
    margin-top:100px;
  }
  .top_box:nth-child(4){
    margin-top:130px !important;
  }
}
@media screen and (min-width:1200px){
  .top_le-sec::before{
    top:-50px;
    height:450px;
  }
}
/* top_sponser
--------------------*/
.top_spon-sec{
  width:100%;
  position: relative;
  padding:100px 0;
}
.top_spon-sec::before{
  content:'';
  position:absolute;
  top:180px;
  right:0;
  width:40%;
  height:150px;
  z-index:-1;
  background-color:#FDC919;
  border-radius:15px 0 0 15px;
}
.top_sponser-ttl{
  font-size:1.8rem;
  font-weight:bold;
  margin-bottom:50px;
  padding-left:20px;
  color:#FDC919;
  position: relative;
}
.top_sponser-ttl::before{
  position: absolute;
  content:'';
  left:0;
  top:30px;
  width:15px;
  height:5px;
  background-color:#FDC919;
  border-radius:15px;
}
.sp_flex{
  display: flex;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.sp_box{
  width: 300px;
  height: auto;
  margin-right: 15px;
  flex-shrink: 0;
}
.sp_inner{
  margin-bottom:15px;
  border:solid 1px #333;
  border-radius:15px;
  background-color:#fff;
}
.sp_inner:hover{
  box-shadow: 7px 7px #089A3E;
  transition:0.6s;
}
.sp_box figure{
  margin:0;
  padding:10px 10px 0;
  width:100%;
}
.sp_box img{
  object-fit: cover;
  width:100%;
  margin:0;
}
.sp_box p{
  color:#333;
  text-align:center;
  font-size:1.1rem;
}
@media screen and (min-width:768px){
  .top_spon-sec::before{
    top:150px;
    height:400px;
  }
}
@media screen and (min-width:991px){
  .top_sponser-ttl{
    font-size:2.6rem;
    padding-left:40px;
  }
  .top_sponser-ttl::before{
    top:45px;
    width:20px;
    height:5px;
  }
}
@media screen and (min-width:1200px){
  .top_le-sec::before{
    top:-50px;
    height:550px;
  }
}
.scroll_right{
  display:inline-block;
  position: relative;
  width:100%;
  color:#FDC919;
  font-size:1.2rem;
}
.scroll_right::before{
  content: '';
  position: absolute;
  bottom:-8px;
  left:0;   
  width: 75%;
  height: 3px;
  background:#333;
  transition: all .3s;
}
.scroll_right::after{
  content: '';
  position: absolute;
  bottom:-3px;
  right:25%;   
  width: 15px;
  height:3px;
  background:#333;
  transform: rotate(35deg);
}
/* bg_img
-------------------*/
.bg_img{
  width:100%;
  background-image:url(img/top_bg01-sp.jpg);
  background-position: center;
  height:200px;
}
@media screen and (min-width:991px){
  .bg_img{
    background-image:url(img/top_bg01.jpg);
    height:600px;
    background-attachment: fixed;
}
}
/*============
  fixed area
===============*/
.fixed_area{
  position: fixed;
  bottom:0;
  left:0;
  width:100%;
  height:65px;
  margin:0;
  padding:0;
  box-sizing: border-box;
  background-color:#fff;
  border-top:solid 5px #DD0000;
  z-index: 10;
}
.fixed_inner{
  display:flex;
  align-items: center;
  flex-wrap:wrap;
  width:100%;
}
.l_btn,.r_btn{
  font-size: 0.9rem;
  text-align: center;
  width: 50%;
}
.l_btn{
  border-right: solid 5px #0D29BE;
}
.l_btn .fa-calendar-alt,
.r_btn .fa-line{
  font-size:1.4rem;
  margin-bottom:10pz;
}
.l_btn a{
  padding: 10px;
  color: #FDC919;
  font-weight: bold;
  display:block;
  line-height: 1.3;
}
.l_btn a:hover{
  background-color:#FDC919;
  color:#333;
  transition:0.6s;
}
.r_btn a{
  padding: 10px;
  color: #00CC00;
  font-weight: bold;
  display:block;
  line-height: 1.3;
}
.r_btn a:hover{
  background-color:#00cc00;
  color:#fff;
  transition:0.6s;
}
@media screen and (min-width:991px){
  .fixed_area{
    top:200px !important;
    bottom:0;
    left:88%;
    width:90px;
    height:180px;
    background-color:transparent;
    border-top:none;
  }
  .fixed_inner{
    flex-direction:column;
  }
  .l_btn,.r_btn{
    width: 100%;
    background-color:#fff;
    margin-bottom:30px;
    border-radius: 15px;
  }
  .l_btn{
    border-right: none;
    border:solid 3px #FDC919;
  }
  .r_btn{
    border:solid 3px #00CC00;
  }
  .l_btn a,.r_btn a{
    line-height:1.6;
  }
  .l_btn .fa-calendar-alt,
  .r_btn .fa-line{
    font-size:2rem;
  }
}
@media screen and (min-width:1200px){
  .fixed_area{
    top:200px !important;
    bottom:0;
    left:90%;
  }
}
/* footer banner
-----------------*/
.bnr_flex{
  display:flex;
  width:100%;
  margin:30px 0;
  align-items: flex-start;
  flex-wrap:wrap;
}
.bnr_box{
  width:100%;
  margin:0 0 15px;
}
.bnr_box figure{
  overflow: hidden;
  width:100%;
}
.bnr_box figure img{
  object-fit: cover;
  width:100%;
}
@media screen and (min-width:600px){
  .bnr_box{
    width:calc(50% - 20px);
    margin:0 auto 15px;
  }
}
@media screen and (min-width:991px){
  .bnr_box{
    width:calc(25% - 20px);
    margin:0 auto 15px;
  }
}
/*===============
　　footer
==================*/
footer{
  margin:0;
  padding:75px 0 0;
  background-color:#eeeeee;
  z-index: 1;
}
.f_flex{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width:100%;
  flex-wrap:wrap;
}
.f_logo{
  width:100%;
  margin:30px auto;
  overflow: hidden;
  text-align:center;
}
.f_sns{
  width:100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin:15px 0;
  padding:10px 0 0;
}
.f_sns li{
  margin:0 10px;
}
.f_sns li a{
  color:#333;
}
.f_sns li a img{
  width:30px;
  height:30px;
}
.f_menu{
  width:100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
  flex-wrap:wrap;
  border-bottom:solid 3px #333;
}
.f_menu-list{
  width:100%;
  margin:0 0 30px;
  font-size:1.2rem;
  font-weight:bold;
}
.f_sub-menu{
  margin:15px 0 0;
  padding:0 0 0 5px;
}
.f_sub-menu li{
  display:block;
  margin-bottom:5px;
  border-bottom:dashed 1px #333;
  position: relative;
  padding:0 0 0 15px;
  font-size:1rem;
}
.f_sub-menu li::before{
  position: absolute;
  left:10px;
  top:10px;
  content:'-';
  height:2px;
  width:10px;
  color:#333;
  font-weight:bold;
}
.f_sub-menu li:last-child{
  border-bottom:none;
}
.f_sub-menu li a{
  display:block;
  color:#333;
  padding:10px;
}
.f_sub-box{
  width:100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  margin:30px 0 20px;
  flex-wrap:wrap;
  flex-wrap:column;
}
.f_sub-box li{
  width:100%;
  border-bottom:dashed 1px #333;
}
.f_sub-box li a{
  color:#333;
  display:block;
  text-decoration:none;
  padding:10px 15px;
}
@media screen and (min-width:768px){
  .f_menu-list{
    width:calc(50% - 20px);
    margin:0 auto 30px;
  }
  .f_sub-box{
    align-items: flex-start;
    justify-content:center;
  }
  .f_sub-box li{
    position: relative;
    border:none;
    width:20%;
    text-align:center;
    font-size:0.8rem;
  }
  .f_sub-box li::after{
    position: absolute;
    right:0;
    top:10px;
    height:5px;
    width:2px;
    color:#333;
    content:'|';
  }
  .f_sub-box li:last-child::after{
    content:'';
  }
}
@media screen and (min-width:991px){
  .f_logo img{
    width:200px;
    margin:0 auto;
  }
  .f_menu-list{
    width:calc(33% - 20px);
    margin:0 auto 30px;
  }
}
.footer_p{
  margin:30px 0 15px;
  font-size:0.8rem;
  color:#333;
  text-align: center;
}
.copyright{
  padding:10px 0 70px;
}
.copy{
  font-size:0.75rem;
  color:#333;
  text-align:center;
}
/*=====================
  page visual
=======================*/
.page_visual,
.page_teaching-policy,
.parkour_bg,
.page_taisou,
.page_take,
.page_ex,
.page_onigokko,
.page_otona,
.page_sp,
.page_sports{
  width:100%;
  height:400px;
  position: relative;
  display: block;
  margin-bottom:100px;
}
.page_visual::after{
  display:block;
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/page_about-bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_teaching-policy::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/ex_bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.parkour_bg::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/pk_bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_taisou::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/taisou_bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_take::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/take_bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_ex::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/ex_bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_onigokko::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/onigokko_bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_otona::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/onigokko_o-bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_sp::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/sp_bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_sports::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/sports_bg-sp.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.page_visual::before,
.page_teaching-policy::before,
.page_taisou::before,
.page_take::before,
.page_ex::before,
.page_sp::before{
  content:'';
  position:absolute;
  top:180px;
  left:0;
  width:40%;
  height:280px;
  z-index:-1;
  background-color:#DD0000;
  border-radius:0 15px 15px 0;
}
.parkour_bg::before,
.page_sports::before{
  content:'';
  position:absolute;
  top:180px;
  left:0;
  width:40%;
  height:280px;
  z-index:-1;
  background-color:#0D29BE;
  border-radius:0 15px 15px 0;
}
.page_onigokko::before,
.page_otona::before{
  content:'';
  position:absolute;
  top:180px;
  left:0;
  width:40%;
  height:280px;
  z-index:-1;
  background-color:#FDC919;
  border-radius:0 15px 15px 0;
}
.page_ttl{
  position: absolute;
  bottom:20px;
  left:-5px;
  font-size:1.4rem;
  font-weight:bold;
  background-color: #fff;
  color:#333;
  padding:15px 10px 10px 20px;
  line-height: 1;
  width:85%;
  margin:0;
  z-index:10;
  border-radius:0 15px 15px 0;
  box-shadow: 5px 5px #B90101;
}
.en{
  font-size:1rem;
  color:#B90101;
}
.parkour_bg .page_ttl,
.page_sports .page_ttl{
  position: absolute;
  bottom:20px;
  left:-5px;
  font-size:1.4rem;
  font-weight:bold;
  background-color: #fff;
  color:#333;
  padding:15px 10px 10px 20px;
  line-height: 1;
  width:85%;
  margin:0;
  z-index:10;
  border-radius:0 15px 15px 0;
  box-shadow: 5px 5px #0D29BE;
}
.parkour_bg .en,
.page_sports .en{
  font-size:1rem;
  color:#0D29BE;
}
.page_onigokko .page_ttl,
.page_otona .page_ttl{
  position: absolute;
  bottom:20px;
  left:-5px;
  font-size:1.4rem;
  font-weight:bold;
  background-color: #fff;
  color:#333;
  padding:15px 10px 10px 20px;
  line-height: 1;
  width:85%;
  margin:0;
  z-index:10;
  border-radius:0 15px 15px 0;
  box-shadow: 5px 5px #FDC919;
}
.page_onigokko .en,
.page_otona .en{
  font-size:1rem;
  color:#FDC919;
}
@media screen and (min-width:991px){
  .page_visual,
  .page_teaching-policy,
  .parkour_bg,
  .page_taisou,
  .page_taisou,
  .page_take,
  .page_ex,
  .page_onigokko,
  .page_otona,
  .page_sp,
  .page_sports{
    height:600px;
    margin-bottom:200px;
  }
  .page_visual::after{
    background-image: url(img/page_about-bg.jpg);
    width:90%;
    height:600px;
    border-left:solid 8px #fff;
    border-bottom:solid 8px #fff;
  }
  .parkour_bg::after{
    background-image: url(img/pk_bg.jpg);
    width:90%;
    height:600px;
    border:solid 8px #fff;
  }
  .page_taisou::after{
    background-image: url(img/taisou_bg.jpg);
    width:90%;
    height:600px;
    border-left:solid 8px #fff;
    border-bottom:solid 8px #fff;
  }
  .page_take::after{
    background-image: url(img/take_bg.jpg);
    width:90%;
    height:600px;
    border-left:solid 8px #fff;
    border-bottom:solid 8px #fff;
  }
  .page_ex::after{
    background-image: url(img/ex_bg.jpg);
    width:90%;
    height:600px;
    border-left:solid 8px #fff;
    border-bottom:solid 8px #fff;
  }
  .page_onigokko::after{
    background-image: url(img/onigokko_bg.jpg);
    width:90%;
    height:600px;
    border-left:solid 8px #fff;
    border-bottom:solid 8px #fff;
  }
  .page_otona::after{
    background-image: url(img/onigokko_o-bg.jpg);
    width:90%;
    height:600px;
    border-left:solid 8px #fff;
    border-bottom:solid 8px #fff;
  }
  .page_sp::after{
    background-image: url(img/sp_bg.jpg);
    width:90%;
    height:600px;
    border-left:solid 8px #fff;
    border-bottom:solid 8px #fff;
  }
  .page_sports::after{
    background-image: url(img/sports_bg.jpg);
    width:90%;
    height:600px;
    border-left:solid 8px #fff;
    border-bottom:solid 8px #fff;
  }
  .page_visual::before,
  .page_teaching-policy::before,
  .parkour_bg::before,
  .page_taisou::before,
  .page_take::before,
  .page_ex::before,
  .page_onigokko::before,
  .page_otona::before,
  .page_sp::before,
  .page_sports::before{
    top:250px;
    height:400px;
  }
  .page_ttl,
  .parkour_bg .page_ttl,
  .page_onigokko .page_ttl,
  .page_otona .page_ttl,
  .page_sports .page_ttl{
    font-size:2rem;
    text-align:left;
    padding-left:100px;
    width:50%;
  }
  .en,
  .page_onigokko .en,
  .page_otona .en,
  .page_sports .en{
    font-size:1.1rem;
  }
}
/*=================
  page
===================*/
.wrap{
  width:100%;
  height:100%;
  margin:0;
  padding:0;
}
.flex_box{
  width:100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap:wrap;
}
.pg_ttl{
  font-size:1.3rem;
  text-align:center;
  padding:10px 0;
  border-top:solid 2px #333;
  border-bottom:solid 2px #333;
  margin:30px auto 50px;
  max-width:800px;
  width:100%;
  font-weight:bold;
  line-height:1.5;
}

/*=================
  About Page
===================*/
.about_sec{
  position: relative;
  z-index:5;
  padding:50px 0;
  width:100%;
}
.sec_ttl{
  font-size:1.6rem;
  margin:50px 0;
  border-left:solid 8px #B90101;
  padding-left:10px;
  background-color:#fff;
  max-width:600px;
  line-height: 1.5;
}
.a_left-box{
  width:100%;
  margin:0 0 30px;
}
.a_left-box figure{
  width:100%;
  overflow: hidden;
}
.a_left-box figure img{
  width:100%;
  object-fit: cover;
}
.a_right-box{
  width:100%;
  margin:0 0 30px;
}
.about_h3{
  font-size:1.4rem;
  margin-bottom:30px;
}
@media screen and (min-width:991px){
  .sec_ttl{
    font-size:200%;
    margin:50px 0 100px;
  }
  .a_left-box{
    width:calc(35% - 20px);
    margin:0 auto 30px;
  }
  .a_right-box{
    width:calc(65% - 20px);
    margin:0 auto 30px;
  }
  .about_h3{
    font-size:1.6rem;
  }
}
.sg_inner{
  width:100%;
  margin:0 0 30px;
  background-color:#fff;
  border-radius:15px;
  padding:10px;
}
.sougougata_ul{
  border:solid 2px #DD0000;
  border-radius:15px;
  padding:10px;
  margin:30px 0;
  background-color:#fff;
}
.sougougata_ul li{
  list-style: disc;
  margin:0 0 10px 25px;
  line-height: 1.6;
}
.a_figure{
  width:100%;
  margin:30px 0;
  overflow: hidden;
}
.a_figure img{
  object-fit: cover;
  width:100%;
  border-radius: 15px;;
}
/*---------------------
  指導方針
  ------------------*/
.page_teaching-policy{
    width:100%;
    height:400px;
    position: relative;
    display: block;
    margin-bottom:100px;
}
.page_teaching-policy::after{
  position: absolute;
  top:0;
  right:0;
  content:'';
  width:calc(100% - 20px);
  height:400px;
  background-image:url(img/ex_bg.jpg);
  background-size:cover;
  background-position:right;
  border-radius:40px 0 0 40px;
}
.shidou_sec{
  position: relative;
  width:100%;
  padding:0 0 100px;
  margin:0;
  overflow: hidden;
}
.shidou_box{
  margin:0 0 50px;
  padding:0;
  width:100%;
}
.box_h3{
  font-size:1.4rem;
  color:#B90101;
  font-weight:bold;
  margin:0 0 15px;
  line-height: 1.5;
}
.shidou_bg{
  width:100%;
  margin:0;
  padding:0;
  border-radius:15px;
}
.shidou_bg img{
  object-fit: cover;
  object-position: 50% 50%;
  width:100%;
}
.shidou_ul{
  width:100%;
  margin:0;
  padding:0;
}
.shidou_ul li{
  list-style: disc !important;
  padding-left:5px;
  margin:0 0 10px 15px;
  line-height:1.4;
}
.staff_sec{
  padding:100px 0;
  width:100%;
  position: relative;
  background-color: #eee;
}
.staff_box{
  display:block;
  width:100%;
  margin:0 0 30px;
}
.s_photo{
  width:100%;
  overflow: hidden;
  margin-bottom:15px;
}
.s_photo img{
  object-fit: cover;
  width:100%;
  border-radius: 15px;
}
.s_info{
  width:100%;
  background-color:#fff;
  border-radius: 15px;
  padding:10px;
}
.s_name{
  font-size:1.3rem;
  line-height: 1.2;
  margin:0 0 15px;
  text-align:center;
}
.license{
  margin:15px 0 30px;
}
.license_p{
  font-size:1.2rem;
}
.license ul{
  padding:10px;
  width:100%;
}
.license ul li{
  list-style: disc;
  margin-left:10px;
  margin-bottom:10px;
  line-height: 1.4;
  font-size:0.9rem;
}
.ls_box{
  width:100%;
  margin:30px 0;
}
.ls_box img{
  width:100%;
  object-fit:cover;
}
.ls_ttl{
  font-size:1.2rem;
  font-weight:bold;
  color:#333;
  text-align:center;
}
@media screen and (min-width:769px){
  .staff_box{
    display:flex;
    align-items:center;
    gap:30px 50px;
  }
  .s_box{
    width:50%;
  }
  .s_box:last-child{
    margin-top:75px;
  }
  .ls_flex{
    display:flex;
    flex-wrap:wrap;
    width:100%;
    margin:50px 0;
  }
  .ls_box{
    width:calc(50% - 30px);
    margin:30px auto;
  }
}
@media screen and (min-width:991px){
  .page_teaching-policy{
    height:600px;
    margin-bottom:200px;
  }
  .page_teaching-policy::after{
    width:calc(90% - 100px);
    height:600px;
  }
  .page_teaching-policy::before{
    bottom:-300px;
  }
  .shidou_sec{
    padding:100px 0;
  }
  .shidou_bg{
    position: absolute;
    top:50px;
    right:0;
    content:'';
    width:70%;
    height:100%;
    z-index:-1;
  }
  .shidou_bg img{
    border-radius: 15px 0 0 15px;
  }
  .tri_right-red{
    overflow: hidden;
    width: 1300px;
    height: 900px;
    position: absolute;
    top: 182px;
    right: -734px;
    transform: rotate(-45deg);
    z-index: -1;
    transform-origin: left top;
  }
  .sidou_area{
    width:70%;
    background-color:rgba( 255, 255, 255, 0.8);
    border-radius:0 15px 15px 0;
    padding:15px;
  }
  .staff_box{
    gap:30px 80px;
  }
  .ls_box{
    width:calc(33% - 30px);
  }
}
/*===============
  kyoushitu
===================*/
.k_flex{
  width:100%;
  margin:30px 0;
  display:block;
  padding:0;
}
.kyoushitu_box{
  width:100%;
  margin:30px 0;
  padding:15px 10px;
  background-color: rgba( 255, 255, 255, 0.9);
  border-radius: 15px;
}
.kyoushitu_box figure{
  width: 100%;
  overflow: hidden;
  padding: 10px 10px 0;
}
.kyoushitu_box figure img{
  width:100%;
  object-fit: cover;
  border-radius: 15px;
}
.kyoushitu_box p{
  color:#333;
}
@media screen and (min-width:769px){
  .k_flex{
    display:flex;
    justify-content:flex-start;
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .kyoushitu_box{
    width:48%;
    margin:30px auto;
  }
}
/*===============
  taisou
=================*/
.taisou_top-sec{
  position: relative;
  width:100%;
  padding:0 0 100px;
  margin:0;
  overflow: hidden;
}
.t_top-bg{
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 15px;
}
.t_top-bg img {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  border-radius: 15px;
}
.t_flex{
  display:block;
  width:100%;
  margin:30px 0;
  padding:0;
}
.t_rote{
  width:100%;
  margin:30px 0;
}
.t_rote img{
  width:100%;
  object-fit: cover;
}
.t_tokucyo{
  width:100%;
  display:block;
}
.t_info{
  width:100%;
  margin:30px 0;
  padding:0;
}
.t_info img{
  width:100%;
  object-fit: cover;
  border-radius: 15px;
}
.t_lesson-flex{
  display:block;
  width:100%;
  margin:15px 0;
}
.lesson_class{
  width:100%;
  background-color:#fff;
  padding:10px;
  border-radius:15px;
  margin:30px 0;
}
.t_ttl{
  text-align:center;
  font-size:1.3rem;
  color:#DD0000;
  font-weight:bold;
  border-bottom:solid 2px #DD0000;
}
@media screen and (min-width:769px){
  .taisou_top-sec{
    padding:100px 0;
    margin-bottom:50px;
  }
  .t_intro{
    width:70%;
    background-color:rgba( 255, 255, 255, 0.8);
    border-radius:0 15px 15px 0;
    padding:15px;
  }
  .t_top-bg{
    position: absolute;
    top:50px;
    right:0;
    content:'';
    width:70%;
    height:100%;
    z-index:-1;
    border-radius: 15px 0 0 15px;
  }
  .t_top-bg img{
    border-radius: 15px 0 0 15px;
  }
  .t_flex{
    display:flex;
  }
  .t_rote{
    width:calc(50% - 15px);
    margin:30px auto;
  }
  .t_tokucyo{
    width:calc(50% - 15px);
    margin:30px auto;
  }
  .t_lesson-flex{
    display:flex;
    justify-content:flex-start;
    align-items: flex-start;
    flex-wrap:wrap;
  }
  .lesson_class{
    width:50%;
    margin:30px 0;
    padding:0;
  }
}
@media screen and (min-width:991px){
  .lesson_class{
    width:48%;
    margin:30px 2% 30px 0;
    padding:15px;
  }
}
.take_bnr{
  margin:50px auto;
  width:100%;
  max-width:650px;
  padding:0;
}
.take_bnr figure{
  width:100%;
  overflow: hidden;
  margin-top:30px;
}
.take_bnr figure img{
  object-fit: cover;
  width:100%;
}
.t_scroll_right{
  display:inline-block;
  position: relative;
  width:100%;
  color:#DD0000;
  font-size:1.2rem;
}
.t_scroll_right::before{
  content: '';
  position: absolute;
  bottom:-8px;
  left:0;   
  width: 75%;
  height: 3px;
  background:#DD0000;
  transition: all .3s;
}
.t_scroll_right::after{
  content: '';
  position: absolute;
  bottom:-3px;
  right:25%;   
  width: 15px;
  height:3px;
  background:#DD0000;
  transform: rotate(35deg);
}
/*================
  Sports
==================*/
.sports_sec{
  width:100%;
  margin:0;
  padding:100px 0;
  position: relative;
}
.sports_sec::before{
  content:'';
  position:absolute;
  top:180px;
  right:0;
  width:40%;
  height:150px;
  z-index:-1;
  background-color:#0D29BE;
  border-radius:15px 0 0 15px;
}
.sports_sec figure{
  overflow: hidden;
  width:100%;
}
.sports_ttl-b{
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 50px;
  padding-left: 20px;
  color: #0D29BE;
  position: relative;
  line-height: 1.5;
}
.sports_ttl-b::before{
  position: absolute;
  content:'';
  left: 0;
  top: 20px;
  width: 15px;
  height: 5px;
  background-color:#0D29BE;
  border-radius:15px;
}
.t_ttl-b{
  text-align: center;
  font-size: 1.3rem;
  color: #0D29BE;
  font-weight: bold;
  border-bottom: solid 2px #0D29BE;
}
@media screen and (min-width:768px){
  .sports_sec::before{
    top:150px;
    height:300px;
  }
}
@media screen and (min-width:991px){
  .sports_ttl-b{
    font-size:2.6rem;
    padding-left:40px;
  }
  .sports_ttl-b::before{
    top: 30px;
    width: 20px;
    height: 5px
  }
}
@media screen and (min-width:1200px){
  .sports_sec::before{
    top:50px;
    height:500px;
  }
}
/*================
  level up
==================*/
.level_top-sec{
  width:100%;
  margin:0;
  padding:100px 0;
  position: relative;
}
.level_top-sec::before{
  content:'';
  position:absolute;
  top:180px;
  right:0;
  width:40%;
  height:150px;
  z-index:-1;
  background-color:#DD0000;
  border-radius:15px 0 0 15px;
}
.level_top-sec figure{
  overflow: hidden;
  width:100%;
}
.c_gif{
  object-fit:cover;
  width:100%;
  border-radius:15px;
}
.level_flex{
  display:block;
  width:100%;
  margin:50px 0;
  padding:0;
}
.level_l-box,.level_r-box{
  display:block;
  width:100%;
  margin:0 0 30px;
  padding:0;
}
@media screen and (min-width:768px){
  .level_top-sec::before{
    top:150px;
    height:300px;
  }
  .level_flex{
    display:flex;
    align-items:flex-start;
  }
  .level_l-box,.level_r-box{
    width:48%;
    margin:0 1% 30px;
  }
}
@media screen and (min-width:1200px){
  .level_top-sec::before{
    top:-50px;
    height:500px;
  }
}
/*===============
  take taisou
================*/
.take_ul{
  width:100%;
  margin:0 0 30px;
}
.take_ul li{
  line-height: 1.6;
  margin-bottom:10px;
}
/*===============
  schedule
=================*/
.sc_flex{
  width:100%;
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  margin:30px 0 50px;
}
.sc_taisou{
  border:solid 2px #DD0000;
  width:48%;
  margin:0 1% 30px;
  padding:0;
  border-radius:5px;
  text-align:center;
  background-color:#fff;
}
.sc_taisou a{
  color:#DD0000;
  display: block;
  padding:5px 16px;
  margin:0;
  font-weight:800;
}
.sc_taisou a:hover{
  background-color:#DD0000;
  color:#fff;
  transition:0.6s;
}
.sc_sports{
  border:solid 2px #0D29BE;
  width:48%;
  margin:0 1% 30px;
  padding:0;
  border-radius:5px;
  text-align:center;
  background-color:#fff;
}
.sc_sports a{
  color:#0D29BE;
  display: block;
  padding:5px 16px;
  margin:0;
  font-weight:800;
}
.sc_sports a:hover{
  background-color:#0D29BE;
  color:#fff;
  transition:0.6s;
}
.sc_onigokko{
  border:solid 2px #FDC919;
  width:48%;
  margin:0 1% 30px;
  padding:0;
  border-radius:5px;
  text-align:center;
  background-color:#fff;
}
.sc_onigokko a{
  color:#FDC919;
  display: block;
  padding:5px 16px;
  margin:0;
  font-weight:800;
}
.sc_onigokko a:hover{
  background-color:#FDC919;
  color:#fff;
  transition:0.6s;
}
@media screen and (min-width:600px){
  .sc_taisou,.sc_sports,.sc_onigokko{
    width:31%;
    margin:15px 1%;
  }
}
@media screen and (min-width:768px){
  .sc_taisou,.sc_sports,.sc_onigokko{
    width:23%;
    margin:15px 1%;
  }
}
@media screen and (min-width:991px){
  .sc_taisou,.sc_sports,.sc_onigokko{
    width:18%;
    margin:15px 1%;
  }
}
/* sc list
-----------------*/
.sc_box{
  width:100%;
  margin:0 0 75px;
  background-color:#fff;
  border-radius:15px;
  padding:15px;
}
.sc_box p{
  line-height:1.4;
  font-size:0.9rem;
}
.sc_ttl{
  text-align: center;
  font-size: 1.3rem;
  color: #DD0000;
  font-weight: bold;
  border-bottom: solid 2px #DD0000;
  line-height: 1;
  padding-bottom:10px;
}
.sc_ttl-b{
  text-align: center;
  font-size: 1.3rem;
  color: #0D29BE;
  font-weight: bold;
  border-bottom: solid 2px #0D29BE;
  line-height: 1;
  padding-bottom:10px;
}
.sc_ttl-y{
  text-align: center;
  font-size: 1.3rem;
  color: #FDC919;
  font-weight: bold;
  border-bottom: solid 2px #FDC919;
  line-height: 1;
  padding-bottom:10px;
}
.taisou_table{
  width:100%;
  margin:30px 0 15px;
  padding:0;
  box-sizing: border-box;
  border:solid 1px #eee;
  font-size:0.9rem;
}
.taisou_table th{
  width:30%;
  vertical-align: middle;
  padding:10px;
  background-color:#ffbab3;
  color:#fff;
  text-align:center;
  border-bottom:solid 1px #eee;
}
.taisou_table td{
  width:70%;
  vertical-align: middle;
  padding:10px;
  background-color:#fff;
  line-height: 1.4;
  border-bottom:solid 1px #eee;
}
.taisou_info{
  display:block;
  font-size:0.8rem;
  line-height:1.4;
  margin-top:20px;
}
.taisou_info2{
  display:block;
  font-size:0.8rem;
  line-height:1.4;
  margin-top:10px;
}
.sports_table{
  width:100%;
  margin:30px 0;
  padding:0;
  box-sizing: border-box;
  border:solid 1px #eee;
  font-size:0.9rem;
}
.sports_table th{
  width:30%;
  vertical-align: middle;
  padding:10px;
  background-color:#6EA8DE;
  color:#fff;
  text-align:center;
  border-bottom:solid 1px #eee;
}
.sports_table td{
  width:70%;
  vertical-align: middle;
  padding:10px;
  background-color:#fff;
  line-height: 1.4;
  border-bottom:solid 1px #eee;
}
.onigokko_table{
  width:100%;
  margin:30px 0;
  padding:0;
  box-sizing: border-box;
  border:solid 1px #eee;
  font-size:0.9rem;
}
.onigokko_table th{
  width:30%;
  vertical-align: middle;
  padding:10px;
  background-color:#FFD901;
  color:#fff;
  text-align:center;
  border-bottom:solid 1px #eee;
}
.onigokko_table td{
  width:70%;
  vertical-align: middle;
  padding:10px;
  background-color:#fff;
  line-height: 1.4;
  border-bottom:solid 1px #eee;
}
@media screen and (min-width:768px){
  .sc_box{
    width:48%;
    margin:0 1% 75px;
  }
}
@media screen and (min-width:991px){
  .taisou_table,.sports_table,.onigokko_table{
    font-size:1rem;
  }
}
/*==============
  experience
=================*/
.ex_ul{
  width:100%;
  background-color:#fff;
  border-radius:15px;
  padding:15px 10px;
  margin:30px 0 50px;
  border-radius:15px;
}
.ex_ul li{
  line-height: 1.4;
  margin:0 0 20px;
  padding:0;
}
.ex_2-box{
	width:100%;
	display:100%;
	margin:30px 0;
	padding:0;
}
@media screen and (min-width:991px){
   .ex_2-box{
	  max-width:1000px;
	  margin:30px auto;
}
}
/*===============
  Parkour
=================*/
.pk_top-sec{
  position: relative;
  width:100%;
  padding:0 0 100px;
  margin:0;
  overflow: hidden;
}
.pk_top-bg{
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 15px;
}
.pk_top-bg img {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  border-radius: 15px;
}
.pk_photo-area{
  display:flex;
  overflow-x: scroll;
}
.pk_photo{
  width:80%;
  margin:10px;
  flex-shrink: 0;
}
.pk_photo img,
.pk_tc img{
  width:100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 15px;
}
.pk_couse-flex,
.pk_couse-r-flex{
  display:block;
  width:100%;
  margin:30px 0;
  padding:0;
}
.pk_class{
  width:100%;
  display:block;
  margin:30px 0;
  padding:0;
}
.pk_ttl{
  background-color:#6EA8DE;
  color:#fff;
  font-weight:bold;
  font-size:1.3rem;
  padding:10px;
  margin:15px 0 30px;
  width:100%;
  text-align:center;
  line-height: 1.4;
}
.pk_couse{
  background-color:#fff;
  border-radius: 15px;
  padding:15px;
}
.pk_h4{
  font-size:1.1rem;
  margin:0 0 30px;
  font-weight:bold;
  line-height: 1.4;
}
.pk_couse-bg{
  width:100%;
  margin:0;
  padding:0;
}
.pk_couse-bg img{
  width:100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 15px;
}
.pk_tc{
  width:100%;
  background-color:#fff;
  border-radius:15px;
  padding:10px;
  margin:30px 0;
}
.t_p-flex{
  display:block;
  margin:30px 0 100px;
  width:100%;
}
.t_p-box{
  display:block;
  width:100%;
  margin:30px 0;
  padding:0;
}
.t_p-ttl{
  font-size:1.1rem;
  border-bottom:solid 1px #DD0000;
  text-align: center;
  padding-bottom:5px;
  line-height: 1.5;
  font-weight:bold;
}
.t_p-box p{
  font-size:0.9rem;
  color:#DD0000;
  line-height: 1.4;
  margin-bottom:50px;
}
.t_info-ul{
  width:100%;
  margin:30px 0;
  background-color:#eee;
  padding:15px;
  border-radius:15px;
}
.t_info-ul li{
  margin-bottom:20px;
  line-height: 1.4;
}
@media screen and (min-width:769px){
  .pk_top-sec{
    padding:100px 0;
    margin-bottom:50px;
  }
  .pk_intro{
    width:70%;
    background-color:rgba( 255, 255, 255, 0.8);
    border-radius:0 15px 15px 0;
    padding:15px;
  }
  .pk_top-bg{
    position: absolute;
    top:50px;
    right:0;
    content:'';
    width:70%;
    height:100%;
    z-index:-1;
    border-radius: 15px 0 0 15px;
  }
  .pk_top-bg img{
    border-radius: 15px 0 0 15px;
  }
  .pk_photo{
    width:40%;
  }
  .pk_couse-flex{
    display:flex;
    margin:30px 0 50px;
    align-items: flex-start;
  }
  .pk_couse-r-flex{
    display:flex;
    flex-direction: row-reverse;
    align-items: flex-start;
  }
  .pk_couse-bg{
    width:43%;
    border-radius: 15px 0 0 15px;
    margin:0 1%;
  }
  .pk_couse{
    width:53%;
    padding:15px;
    margin:0 1% 30px;
  }
  .pk_tc{
    width:33%;
    margin:30px 1%;
    padding:0 15px;
  }
  .pk_couse-info{
    width:63%;
    padding:0 15px;
    margin:30px 1%;
    background-color:#fff;
    border-radius: 15px;
  }
  .pk_ttl{
    max-width:800px;
    margin:30px auto 50px;
  }
}
@media screen and (min-width:991px){
  .t_p-flex{
    display:flex;
  }
  .t_p-box{
    width:48%;
    margin:30px 1% 15px;
  }
}
/*=================
  onigokko
=================*/
.oni_top-sec{
  width:100%;
  margin:0;
  padding:100px 0;
  position: relative;
}
.oni_top-sec::before{
  content:'';
  position:absolute;
  top:180px;
  right:0;
  width:40%;
  height:150px;
  z-index:-1;
  background-color:#FDC919;
  border-radius:15px 0 0 15px;
}
.oni_ttl-y{
  font-size:1.7rem;
  font-weight:bold;
  margin-bottom:50px;
  padding-left:20px;
  color:#FDC919;
  position: relative;
  text-align:left;
  line-height: 1.5;
}
.oni_ttl-y::before{
  position: absolute;
  content:'';
  left:0;
  top:23px;
  width:15px;
  height:5px;
  background-color:#FDC919;
  border-radius:15px;
}
.oni_role-sec{
  background-image:url(img/onigokko01.jpg);
  width:100%;
  background-size:cover;
  position: relative;
  padding:100px 0;
  background-attachment: fixed;
}
.oni_inner{
  width:95%;
  background-color:rgba( 255, 255, 255, 0.8);
  margin: 0 auto;
  padding:10px 0;
}
.oni_active{
  margin:75px 0 0;
  display:block;
  width:100%;
  padding:0;
}
.oni_club{
  text-align:center;
  font-size:1rem;
  font-weight:bold;
  margin:0 0 -15px;
}
.oni_top-box{
  width:100%;
  margin:50px 0 30px;
  border-radius: 15px;
  display:block;
  padding:0;
}
.no_radius{
  border-radius:0 !important;
}
.oni_flex{
  display:block;
  width:100%;
  margin:30px 0;
  padding:0;
}
.oni_l-box,.oni_r-box{
  width:100%;
  margin:30px 0;
  display:block;
  padding:0;
}
.oni_l-box figure,.oni_r-box figure{
  overflow: hidden;
  width:100%;
}
.oni_l-box img,.oni_r-box img{
  width:100%;
  object-fit: cover;
  border-radius:15px;
}
.oni_illust-area{
  width:100%;
  margin:0;
  padding:0;
}
.oni_illust-area figure{
  width:100%;
}
.oni_illust-area img{
  width:100%;
  object-fit: cover;
  border-radius: 15px;
}
.oni_ul{
  width:100%;
  margin:30px 0;
  padding:15px 10px;
}
.oni_ul li{
  line-height: 1.5;
  margin:0 0 20px;
}
.oni_blockquote{
  font-style:italic;
  margin:0 0 30px;
  text-align:right;
}
.movie_wrap{
  width: 100%;
  aspect-ratio: 16 / 9;
  margin:30px 0;
  padding:0;
}
.movie_wrap iframe{
  width:100%;
  height:100%;
}
@media screen and (min-width:768px){
  .oni_top-sec::before{
    top:150px;
    height:300px;
  }
  .oni_top-box{
    padding:15px;
  }
  .oni_flex{
    display:flex;
    align-items:flex-start;
  }
  .oni_l-box,.oni_r-box{
    width:48%;
    margin:30px 1%;
    padding:10px;
  }
}
@media screen and (min-width:991px){
  .oni_ttl-b{
    font-size:2.6rem;
    padding-left:40px;
  }
  .oni_ttl-b::before{
    top:45px;
    width:20px;
    height:5px;
  }
}
@media screen and (min-width:1200px){
  .oni_top-sec::before{
    top:100px;
    height:500px;
  }
}
/*==================
  otona sports onigokko
======================*/
.otona_dl{
  width:100%;
  margin:30px 0;
  padding:15px 15px 0;
  display:block;
  background-color:#fff;
  border-radius:15px;
}
.otona_dl dt{
  font-weight:bold;
  line-height: 1.5;
  margin-bottom:15px;
  margin-top:15px;
  color:#FFD901;
}
.otona_dl dd{
  padding-bottom:15px;
  border-bottom:dashed 1px #333;
  line-height: 1.5;
}
.otona_dl dd:last-child{
  border-bottom:none;
}
.oni_map{
  margin:30px 0;
}
/*====================
  sponser
=====================*/
.sp_p-flex{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  width:100%;
  margin:50px 0;
  padding:0;
}
.sp_p-box{
  width:48%;
  margin:15px 1%;
  padding:0;
}
.sp_p-box figure{
  width:100%;
  margin:0;
  padding:0;
  overflow: hidden;
}
.sp_p-box figure img{
  width:100%;
  object-fit: cover;
}
.sp_p-box a{
  display:block;
}
.sp_p-box a:hover{
  transform: scale(0.9);
  transition:0.6s;
}
.sp_p-box p{
  color:#333;
  line-height:1.4;
  font-size:0.8rem;
  text-align:center;
}
@media screen and (min-width:600px){
  .sp_p-box p{
    font-size:1rem;
  }
  .sp_p-box{
    margin:30px 1%;
  }
}
@media screen and (min-width:991px){
  .sp_p-box{
    width:31%;
  }
}
@media screen and (min-width:1200px){
  .sp_p-box{
    width:23%;
  }
}
/*
  bread crumb
--------------------*/
.page_bread{
  margin:0;
  padding:10px 0;
  display:block;
  width:100%;
  height:auto;
  background-color:#DD0000;
}
.breadcrumbs{
  margin:0 0;
  padding:8px 15px;
  display:block;
	font-size:0.8rem;
  display:flex;
  justify-content:flex-start;
  flex-wrap:wrap;
  width:100%;
  margin:0 auto;
  color:#fff;
}
@media screen and  (min-width:991px){
	.breadcrumbs{
    padding:8px 0;
    font-size:0.95rem;
	}
}
.bread_crumb{
  padding:0; 
  margin:0 ;
  color:#fff;
  line-height: 1.3;
}
.bread_crumb a,
.breadcrumbs a span{
  color:#fff !important;
  padding:0 5px;
}
.breadcrumbs .current-item{
	padding:0; 
  margin:0 5px;
  color:#fff;
}
/*================
  contact
==================*/
.contact_flex{
  width:100%;
  margin:30px 0;
  padding:0;
  display:block;
}
.contact_info,
.contact_form{
  width:100%;
  display:block;
  margin:0 0 30px;
  padding:0;
}
@media screen and (min-width:991px){
  .contact_flex{
    display:flex;
    align-items: flex-start;
  }
  .contact_info{
    width:28%;
    margin:0 auto 30px;
  }
  .contact_form{
    width:68%;
    margin:50px auto 30px;
    background-color:#fff;
    padding:15px 10px;
    border-radius: 15px;
  }
}
/*=================
 　Q&A
===================*/
.qa_dl{
  width:100%;
  margin:30px 0 50px;
  padding:10px 15px;
  display:block;
  background-color:rgba( 255, 255, 255, 0.8);
  border-radius:15px;
}
.qa_dl dt{
  width:100%;
  font-size:1.1rem;
  padding:0;
  font-weight:bold;
  margin:30px 0 15px;
  color:#DD0000;
}
.qa_dl dd{
  width:100%;
  font-size:1rem;
  padding:0 0 30px;
  border-bottom:solid 1px #333;
  margin-bottom:30px;
}
.qa_dl dd:last-child{
  border-bottom:none;
}
.qa_q,
.qa_a{
  margin-right:10px;
  font-size:1.1rem !important;
  font-weight:bold;
}
/*=================
 archive
===================*/
.nav-links{
  display: flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:0;
  padding:0;
}
.nav-links .page-numbers{
  margin:8px;
  background-color:#DD0000;
  border-radius:100px;
  color:#fff;
  text-align: center;
  display: block;
  padding:6px 18px;
}
@media screen and (min-width:768px){
.nav-links .page-numbers{
	margin:10px;
  } 
}
.nav-links .dots{
  padding:0 0;
}
.nav-links a:hover{
  background-color:#fff;
  color:#0D29BE;
  border:solid 1px #0D29BE;
  -webkit-transition:0.6s;
  transition:0.6s;
}
.nav-links .dots,
.nav-links .current{
  background-color:#fff;
  color:#333;
}
.nav-links .current{
  border:solid 1px #333;
}
/* ================
   Single
=============*/
.wrap_single{
  width:100%;
  margin:0 auto;
  padding:0;
  display:block;
}
.s_flex{
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap:wrap;
  width:100%;  
}
.main_area{
  display:block;
  width:100%;
  margin:50px 0;
  padding:0;
  overflow: hidden;
}
.sidebar_area{
  display:block;
  width:100%;
  margin:50px 0;
  padding:0;
}
@media screen and (min-width:991px){
  .main_area{
    width:73%;
    margin:50px 2% 30px 0;
  }
  .sidebar_area{
    width:23%;
    margin:50px 0 30px 2%;
    padding-left:15px;
  }
}
.entry_head{
  width:100%;
  margin:0;
  padding:0;
  background-color:#fff;
}
.entry_haed-inner{
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items:center;
  justify-content:space-between;
  margin:15px 0 30px;
}
.entry_date{
  font-size:0.8rem;
}
.entry-sc_category{
  background-color:#089A3E;
  color:#fff;
  position: static !important;
  font-size:0.8rem;
  border-radius:50px;
  text-align:center;
  padding:5px 8px;
}
.entry-c_news{
  background-color:#DD0000;
  color:#fff;
  position: static !important;
  font-size:0.8rem;
  border-radius:50px;
  text-align:center;
  padding:5px 8px;
}
.entry-oni_category{
  background-color:#FDC919;
  color:#fff;
  position: static !important;
  font-size:1rem;
  border-radius:50px;
  text-align:center;
  padding:5px 8px;
}
.entry-spo_category{
  background-color:#0000FF;
  color:#fff;
  position: static !important;
  font-size:0.8rem;
  border-radius:50px;
  text-align:center;
  padding:5px 8px;
}
.entry_ttl{
  font-size:1.1rem;
  font-weight:bold;
  padding-bottom:10px;
  border-bottom:solid 1px rgb(221, 0, 0);
  margin-bottom:30px;
  line-height: 1.6;
}
.entry_head-thumb{
  overflow: hidden;
  width:100%;
}
.entry_head-thumb img{
  width:100%;
  object-fit: cover;
  object-position: 50% 50%;
  height:auto;
}
@media screen and (min-width:991px){
  .entry_ttl{
    font-size:1.5rem;
  }
}
.entry_thumb{
  overflow: hidden;
  width:100%;
}
.entry_thumb img{
  object-fit: cover;
  width:100%;
}
/* entry area
-------------------------*/
.entry_area{
  padding:30px 0;
  margin:30px 0;
  background-color:#fff;
  border-radius:15px;
  border-bottom:solid 2px #eee;
  border-top:solid 2px #eee;
}
.entry_area h2{
  font-size:1.4rem;
  background-color:rgb(221, 0, 0);
  padding:10px;
  color:#fff;
  margin:30px 0 20px;
  line-height: 1.6;
  font-weight:bold
}
.entry_area h3{
  font-size:1.3rem;
  border-left:solid 8px rgb(221, 0, 0);
  padding:10px;
  margin:30px 0;
  line-height: 1.6;
  font-weight:bold
}
.entry_area h4{
  font-size:1.2rem;
  border-bottom:solid 2px rgb(221, 0, 0);
  padding:10px;
  margin:30px 0;
  line-height: 1.6;
  font-weight:bold
}
.entry_area h5{
  font-size:1.1rem;
  border-bottom:solid 1px rgb(221, 0, 0);
  padding:10px;
  margin:20px 0;
  line-height: 1.6;
}
.entry_area h6{
  font-size:1rem;
  font-weight:bold
}
@media screen and (min-width:991px){
  .entry_area h2{
    font-size:1.6rem;
  }
  .entry_area h3{
    font-size:1.4rem;
  }
  .entry_area h4{
    font-size:1.3rem;
  }
  .entry_area h5{
    font-size:1.1rem;
  }
}
.entry_area p{
  margin-bottom:30px;
  letter-spacing: 0.08em;
}
.entry_area img{
  margin:0 auto 20px;
  object-fit: cover;
  width:100%;
  object-position: 50% 50%;
}
.entry_area ul,
.entry_area ol{
  padding:15px 10px 15px 30px;
  margin:20px 0;
  width:100%;
  background-color:rgb( 251, 246, 240);
  border-radius:15px;
}
.entry_area ul li{
  list-style-type:square;
  margin-bottom:30px;
  margin-left:10px;
  line-height: 1.5;
}
.entry_area ol li{
  list-style-type:decimal;
  margin-bottom:30px;
  margin-left:10px;
  line-height: 1.5;
}
.entry_area a{
  font-weight:700;
}
.entry_area strong{
  font-weight:bold;
}
/*  entry-nav
---------------------*/
.page-navgation {
  display: flex;
  margin: 30px 0;
  padding: 10px;
  font-size: 1rem;
  font-weight: 800;
}
.nav-pre{
  flex: 1;
  border-left: solid 10px rgb(221, 0, 0);
  padding-left: 10px;
}
.nav-next{
  flex: 1;
  margin-left: 10px;
  text-align: right;
  border-right: solid 10px rgb(221, 0, 0);
  padding-right: 10px;
}
.nav-pre a,
.nav-next a{
  color:rgb(221, 0, 0);
}
/*==================
   sidebar
===================*/
.side_ttl{
  font-size:1.3rem;
  font-weight:bold;
  padding-left:10px;
  border-left:solid 8px rgb(221, 0, 0);
}
.side_ul{
  display:block;
  margin:30px 0 50px;
}
.side_ul li{
  margin-bottom:10px;
  border-bottom:dashed 1px #333;
}
.side_ul li a{
  display:block;
  padding:5px 10px;
  color:#333;
}
.side_ul li a:hover{
  background-color:rgb(221, 0, 0);
  color:#fff;
  transition:.6s;
}
.side_flex{
  display:block;
}
.side_flex li{
  display:block;
  padding:0;
  margin:30px 0 50px;
  border:solid 1px rgb(221, 0, 0);
  border-radius:15px;
}
@media screen and (min-width:600px) and ( max-width:991px) {
  .side_flex{
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    flex-wrap:wrap;
    align-items:center;
    justify-content:start;
  }
	.side_flex::after{
	 content:'';
    width:calc(50% - 15px);
	 margin:30px auto;
	}
  .side_flex li{
    width:calc(50% - 15px);
    margin:30px auto;
  }
}
.side_thumb{
  overflow: hidden;
  width:100%;
}
.side_thumb img{
	width:100%;
  margin: 0px auto;
  border-radius:15px 15px 0 0;
}
.side_contents{
  padding:15px 10px 10px;
  border-top:solid 2px rgb(221, 0, 0);
}
.side_post-ttl{
  font-size:0.95rem;
  font-weight:bold;
  line-height:1.3;
  border-bottom:solid 1px rgb(221, 0, 0);
  padding-bottom:5px;
  margin-bottom:5px;
}
.side_date{
  font-size:0.9rem;
  padding-top:5px;
	display:flex;
	justify-content:space-between;
	flex-wrap:nowrap;
}
.side_category{
  background-color:rgb(221, 0, 0);
  color:#fff;
  padding:3px 8px;
  font-size:0.75rem;
  border-radius:5px;
}
@media screen and (min-width:768px)  and (max-width:1200px){
	.side_category{
		font-size:0.6rem;
	}
}
/*===================
 *  Contact
 ====================*/
/*   contact　form
------------------------*/
.contact-aria{
  width:100%;
  margin:50px 0;
  padding:0 0;
}
@media screen and (min-width:768px){
.contact-aria{
	max-width:900px;
	width:100%;
	margin:50px auto;
	}
}
.contact-table{
  padding:0 0;
  margin:50px 0;
  width:100%;
}  
.contact-table tbody{  
 margin:0 0;
 padding:0 0;  
}
.contact-table tr{  
   padding:0 0;
}
.contact-table th{
  vertical-align: middle;
  line-height: 2em;
  width:35%;
  text-align:left !important;
  padding:10px !important;
  background-color:#ffe4e1;
  
}
.contact-table th .ark{
  color:#fff;
  padding:2px 5px;
  margin-right:10px;  
  font-size:0.8rem; 
  background-color: #AD0003;
}
.contact-table th .nini{
  color:#fff;
  padding:2px 5px;
  margin-right:10px;  
  font-size:0.8rem;
  background-color:#0D29BE;
}
.contact-table td{
  padding:10px;
  line-height: 1em;
  font-size:1rem;
  vertical-align: middle;
  text-align:left;  
  width:65%;
}
.contact-table select{  
  height:50px;
  padding-left:15px;
  padding-right:15px;   
}
.contact-table td input[type="file"]{
  padding:15px;
}
div.wpcf7 input[name="your-name"],
div.wpcf7 input[name="furigana"],
div.wpcf7 input[name="syozoku"],
div.wpcf7 input[name="adress"],
div.wpcf7 input[name="birth"],
div.wpcf7 input[name="phone"],
div.wpcf7 input[name="mail"],
div.wpcf7 input[name="mail2"],
div.wpcf7 input[name="nenrei"],
div.wpcf7 input[name="c-name"],
div.wpcf7 input[name="school"],
div.wpcf7 input[name="gakunen"],
.contact-table td textarea{
  background:#fff;
  border:solid 1px #333;
  width:98%;
  line-height:1.8rem;
  padding:10px;
  font-size:1rem;
}
.contact-table td input[type="text"]:focus,
.contact-table td texture:focus {
  box-shadow: 0 0 7px #000;
  border: 1px solid #DD0000;
}
.contact-table .contact-submit{  
  border:none;
}
.contact-table .contact-submit input{  
  height:50px;
  background-color:#F5F5F5;
  color:#fff;
  text-align:center;
  border-bottom:none;
}
.btnwidth{
  position:relative; 
  width:100%;
  margin-top:50px !important;
  display:block; 
  clear:both;  
}
#formbtn{
  padding:12px 25px;
  width:300px;
  background-color:#DD0000;
  color:#fff;
  font-size:1rem;
  font-weight:bold;   
  border-radius:2px;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%); 
  text-align:center;
  top:50%;
  left:50%;
  position:absolute;
}
#formbtn:hover{  
  background-color: #000;
  transition:0.6s;
} 
input[type="checkbox"]{  
  width:15px;
  height:15px;
  -moz-transform:scale(1.1);
  -webkit-transform:scale(1.1);
  transform: scale(1.1);
}
.verticallist .wpcf7-list-item{
  display:block;
  margin:10px 0 20px;
  line-height:1.1;
}
.verticallist .wpcf7-list-item span{
  margin:10px 0 20px;
}
.spam1{
  margin-right:10px;
}
@media screen and (max-width: 767px) {  
.contact-table{
  padding:0 0;
  margin:30px 0;
}   
.contact-table tbody{  
  margin:0 0;
  padding:0 0; 
} 
.contact-table tr{
  border:none;	
}
.contact-table th{
  width:100%;
  padding:10px 10px 5px !important;
  display:block;
  margin:0 0 ;
  border:none;
	font-weight:800;
	}
.contact-table td{    
  width:100%;
  padding:10px;
  display:block;
  margin:0 0;
  border:none;
}  
.contact-table td　input[type="text"],
.contact-table td textarea{
  width:99%;
  overflow:hidden;
  font-size:1rem;
  margin:0 auto;
  padding:10px;
 }
}
.contact-table a{
  color:#DD0000;
  text-decoration:underline;
}
.grecaptcha-badge { 
  visibility: hidden;
}
span.wpcf7-list-item { 
	display: block; 
   margin:0 0 15px;
}
span.wpcf7-list-item-label{
	text-indent: -22px;
	line-height:1em;
}
.contact_btn ,wpcf7-acceptance{
	display:flex;
	justify-content:flex-start;
	align-items:center;
    width:100%;
	padding:0 0 0 15px;
}
.contact_btn .wpcf7-acceptance .wpcf7-list-item{
	margin:0 10px 0 0 !important;
}
/*===================
 *  サイトポリシー
 * ==================*/
.pp-dl{
	width:100%;
	margin:30px 0;
	display:block;
}
.pp-dl dt{
	font-size:1.2rem;
	font-weight:bold;
	margin:0 0 15px;
	padding:0;
}
.pp-dl dd{
	font-size:1rem;
	margin:0;
	padding:0;
}
/*===========
  news
=============*/
.blog_area{
  width:100%;
  margin:30px 0 50px;
  padding:0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  flex-wrap:wrap;
  align-items: flex-start;
  justify-content: flex-start;
}
.blog_area li{
  width:100%;
  margin:30px 0;
  border:solid 2px #333;
  border-radius:15px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  padding:0;
  background-color:#fff;
  position:relative;
}
@media screen and (min-width:450px) and (max-width:991px){
  .blog_area li{
    width:48%;
    margin:30px 1%;
  }
}
@media screen and (min-width:991px){
  .blog_area li{
    width:31%;
    margin:30px 1%; 
  }
}
.blog_area li:hover{
  box-shadow:10px 10px #FFD901;
  transition:0.6s;
}
.blog_thumb{
  overflow: hidden;
  margin:0;
  padding:0;
  border-radius:15px 15px 0 0;
  display:block;
  position: relative;
}
.blog_thumb img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: 50% 50%;
}
@media screen and (min-width:450px) and (max-width:991px){
  .blog_thumb{
    height: 150px;
  }
}
.blog_contents{
  padding:10px;
  margin:0;
  border-top: solid 1px #333;
}
.blog_ttl{
  font-size:1rem;
  line-height: 1.4;
  border-bottom:solid 1px #333;
  padding-bottom:5px;
  margin:10px 0 5px 0;
  color:#333;
}
.blog_date{
  font-size:0.8rem;
  color:#333;
}