@charset "UTF-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('//fonts.googleapis.com/css2?family=Oswald:wght@200;600&display=swap');
/*
  common
-----------------------------------------------------------------*/
html { 
font-size: 62.5%;
}
body {
  font-family: 'Noto Sans JP', sans-serif!important;
  font-size: 100%;
  line-height: 1.8;
  font-size: 1.6em;
  margin: 0;
  width: 100%;
  height:100%;
  color: #000;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  line-height: 1.3;
  font-weight: 600;
  margin-bottom: 1rem;
}
h1{font-size: 2.6rem;}
h1.title-index{font-size: 2rem;}
h3{font-size: 1.8rem;}
a{
  transition: all .3s;
}
a, a:focus, *:focus{
  outline: none;
}
a,a:visited{
  color: #4184f3;
  text-decoration: none;
}
a:focus,a:hover{
  color: #2b2b4a;
  text-decoration: none;
}
ol, ul {
  padding-left: 2rem;
}
dt,dd{
  font-weight: normal;
  line-height: 1.6em;
}
.font-lll{
  font-size: 2.2rem;
  line-height: 1.8;
}
.font-ll{
  font-size: 1.8rem;
  line-height: 1.8;
}
.font-l{
  font-size: 1.7rem;
  line-height: 1.8;
}
.font-s{
  font-size: 1.6rem;
  line-height: 1.8;
}
.font-ss{
  font-size: 1.2rem;
  line-height: 1.8;
}
.num{
  font-family: 'Oswald', sans-serif;
}
.bk-lgy{
  background: #f2f2f2;
}
.bk-org{
  background: #ffc263;
  display:inline-block;
  padding:15px 30px;
}
.bk-waku{
  background: #ddd;
    border:3px solid #999;
  display:inline-block;
  padding:15px 30px;
}
.hov,.hov img{
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.hov:hover{
  opacity: 0.7;
  filter: alpha(opacity=70);
}
.hov:hover img{
  opacity: 0.7;
  filter: alpha(opacity=70);
}


.container-wrap{
  margin-left: auto;
  margin-right: auto;
  padding:60px 0 60px;
}
.container-wrap-top{
  margin-left: auto;
  margin-right: auto;
  padding:30px 0 60px ;
}
.container-fluid-0{
  padding:0;
}
.cont{
  margin-bottom: 60px;
}
.cont-sub{
  margin-bottom: 100px;
}

.btn{
  font-size: 1.6rem;
  padding: 5px 20px;
  background: #152245;
  border-radius: 0;
}
.btn.btn-cmn{
  background: #e4007f;
  color: #fff;
}

a.btn, a.btn:visited{
  color: #333;
}
a.btn-rd ,a.btn-rd:visited{
  color: #fff!important;
}
.btn-l.arrow{padding: 15px 100px 15px 40px;}
.btn-m.arrow{padding: 10px 100px 10px 40px;}
.form-control{
  font-size: 1.6rem;
}
.mb-45{margin-bottom: 45px;}
.spShow {
  display: inline-block;  
} 
.pcShow {
    display: none;  
}
.cl-rd{
  color:#e60012;
}


/*header
-----------------------------------------------------------------*/
header{
  padding:50px 0 50px;
}
#logo_sairai img{
  width: 45%;
}
#logo_spa{
  margin-top: 30px;
}
#logo_spa img{
  width:90%;
}

#logo_spa2 {
  margin-top: 30px;
}
#logo_spa2 img{
  width:90%;
}

/*main
-----------------------------------------------------------------*/
ol li {
  padding-left: 15px
}
#sports-icon dl{
  margin-bottom: 30px;
}
#sports-icon dt img{
  width: 80%;
}
.contact a{
  display: inline-block;
  font-size: 2rem;
  background: #D71718;
  color: #fff;
  padding: 0.8em 5em;
  margin:0 auto;
}
.back{
  padding: 15px;
  background: #f2f2f2;
}
.border{
  padding: 15px;
  border: 1px solid #ddd;
}
.border-rd{  border:2px solid #D71718!important;}
.title-cont{
  text-align: center;
  margin-bottom: 3rem;
}
.title-sub:before {
  background: #D71718;
  display: block;
  content: "";
  width: 45px;
  height: 3px;
  margin-bottom: 18px;
}
.title-sub{
  margin-bottom: 1em;
}
.title-bb{
  margin-top: 0.5em;
  padding:0.5em 0 0.5em 1em;
  background: #f4cdd0;
}

.dl-lr > dl{margin-bottom: 2rem;}
.dl-lr > dl> dt{font-weight: bold;}
.dl-lr > dl> dt span{display:flex; align-items:center;}
.dl-lr > dl> dt span:after{margin-left:15px; border-top:1px solid #000; content:""; flex-grow:1;}
/*.dl-lr > dl> dt span{display:inline-block;border: 1px solid #333;width:100%;text-align:center;}*/
.dl-lr2 dl{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: no-wrap; 
  gap: 15px!important;
}
.dl-lr2 dl +dl{
  border-top: 1px solid #ddd;
  padding-top: 10px;
}
.dl-lr2 dt{
  width: 6em!important;
}
.dl-lr2 dd{
  flex: 1!important;
}
#profile{
  padding: 30px;
}
#profile img{
  max-width: 200px;
}
.add{
  font-size: smaller;
  color: #666;
  line-height: 1.2;
}

.bnr-race {
  position: relative;
  overflow: hidden;
  display: block;
  text-align: center;
  }

.bnr-race p {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  color: #fff;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.8;
  width: 100%;
  }
  .bnr-race div {
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(0,0,0,0.2);
  opacity: 0.5;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:0.5s all;
}
.bnr-race .num{
  border-bottom:4px solid #fff;
  font-size: 40px;
}
.bnr-race img {
  width: 100%;
  }
.bnr-race img{
  background: rgba(0,0,0,0.5);


}
.bnr-race:hover div{
  opacity: 1;

 }
/*footer
-----------------------------------------------------------------*/
.pagetop{
  padding: 10px 0 15px;
  text-align: center;
  border-bottom: 1px solid#fff;
}
.pagetop a{
  width: 100%;
  display: block;
}
.pagetop img{
  width: 60px;
}
footer{
  padding: 40px 0 30px;
}
footer a,footer a:visited,.link-privacy{
  color: #fff;
}
footer nav a:hover,.link-privacy:hover{
  color:#fff;
  opacity: 0.7;
}
footer nav a span{

}
.nav-foot{
  text-align: center;
}
.nav-foot nav{
  line-height: 2.4;
}
.nav-foot .btn-rd{
  margin: 10px 0 30px;
}
.nav-link{
  padding: 0rem 1.5rem;
}
#footer-logo img{
  width: 290px;
}
#copy{
  text-align: center;
  margin: 30px 0 0;
}
.link-privacy{
  display: block;
  margin-top: 15px;
}

/*
  media queries
-----------------------------------------------------------------*/
@media only screen and (min-width : 768px) {
  .bnr-race p {
    font-size: 40px;
    }
  .bnr-race .num{
    font-size: 60px;
  }
}



@media only screen and (min-width : 992px) {
  body {
    font-size: 1.8em;
  }
  #logo_sairai img{
    width: 260px;
  }
  #logo_spa{
    margin-top: 30px;
  }
  #logo_spa img{
    width: 500px;
  }
  #logo_spa2{
    margin-top: 30px;
  }
  #logo_spa2 img{
    width: 800px;
  }
  .spShow {
    display: none;  
  } 
  .pcShow {
      display: inline-block;  
  }
  h1{font-size: 3.8rem;}
  h1.title-index{font-size: 2.8rem;}
  h2{font-size: 2.8rem;}
  h3{font-size: 2.2rem;}
  .title-bb{
    margin-top: 0;
  }
  .font-l{
    font-size: 2.0rem;
    line-height: 1.8;
  }
  .container-wrap{
    margin-left: auto;
    margin-right: auto;
    padding:80px 0 80px ;
  }
  .container-wrap-top{
    margin-left: auto;
    margin-right: auto;
    padding:40px 0 80px ;
  }
  #sports-icon dt img{
    width: 50%;
  }

  .dl-lr > dl{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: no-wrap; 
    gap: 40px;
}
  .dl-lr > dl > dt{flex-basis: 20%;}
  .dl-lr > dl > dd{flex-basis: 80%;}
  .dl-lr > dl> dt span{display:flex; align-items:center;}
  .dl-lr > dl> dt span:after{margin-left:0; border-top:none;}
  /*.dl-lr > dl> dt span:before{margin-right:15px; border-top:1px solid #000; content:""; width:3em; flex-grow:1;}*/

  .dl-lr > dl> dt {
    position:relative;
  }
  .dl-lr > dl> dt span{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    color: #000;
    white-space: nowrap;
  }
  .dl-lr > dl> dt span:before{
    content: "";
    display: inline-block;
    width: 6px;
    border-top: 2px solid #000;
    vertical-align: middle;
    margin-right: 1em;
    padding-bottom:4px;
  }
}