﻿@charset "utf-8";

/* Base */
html {
  overflow-x: hidden;
  font-size: 62.5% ; 
}

body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,address,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,img,iframe {
margin:0;
padding:0;}

body{
  font-family: 'Noto Sans JP','Lato', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size:1.8rem ;
    letter-spacing:0 ;
    line-height:1.8 ;
    color:#000;
    width:100%;
  }



/* 共通 */
img {
    border:none;
}
li {
    list-style:none;}

table {
    border-collapse:collapse;
    border-spacing:0;}

th {
    text-align:left;
    vertical-align:top;}
 

/*---------------------------------------
text_align
---------------------------------------*/
.alnL{
text-align:left;}

.alnC{
text-align: center;}

.alnR{
text-align: right;}


/*---------------------------------------
link
---------------------------------------*/
a:link{
color:#fff;
text-decoration:none;}

a:visited{
color:#fff;
text-decoration:none;}

a:hover{
color:#ccc;
text-decoration:underline;}

div#contents a:hover{
color:#ccc;
text-decoration:underline;}

a:active{
color:#fff;
text-decoration:none;}

/*
a:hover img{
filter:alpha(opacity=80); /* internet explorer 
-khtml-opacity:0.8;      /* khtml, old safari 
-moz-opacity:0.8;       /* mozilla, netscape 
opacity:0.8;           /* fx, safari, opera }

.noalpha a:hover img{
filter:alpha(opacity=100) !important; /* internet explorer 
-khtml-opacity:1.0 !important;      /* khtml, old safari 
-moz-opacity:1.0 !important;       /* mozilla, netscape 
opacity:1.0 !important;           /* fx, safari, opera 
background:none !important;}
*/


/*---------------------------------------
margin & padding
---------------------------------------*/
.mt0{margin-top:0 !important;}
.mt5{margin-top:0.5rem !important;}
.mt10{margin-top:1rem !important;}
.mt15{margin-top:1.5rem !important;}
.mt20{margin-top:2rem !important;}
.mt30{margin-top:3rem !important;}
.mt40{margin-top:4rem !important;}
.mt50{margin-top:5rem !important;}

.mb0{margin-bottom:0 !important;}
.mb5{margin-bottom:0.5rem !important;}
.mb10{margin-bottom:1rem !important;}
.mb15{margin-bottom:1.5rem !important;}
.mb20{margin-bottom:2rem !important;}
.mb30{margin-bottom:3rem !important;}
.mb40{margin-bottom:4rem !important;}
.mb50{margin-bottom:5rem !important;}
.mb60{margin-bottom:6rem !important;}
.mb70{margin-bottom:7rem !important;}
.mb80{margin-bottom:8rem !important;}
.mb90{margin-bottom:9rem !important;}
.mb100{margin-bottom:10rem !important;}

.ml0{margin-left:0 !important;}
.ml5{margin-left:0.5rem !important;}
.ml10{margin-left:1rem !important;}
.ml15{margin-left:1.5rem !important;}
.ml20{margin-left:2rem !important;}
.ml30{margin-left:3rem !important;}
.ml40{margin-left:4rem !important;}
.ml50{margin-left:5rem !important;}

.mr0{margin-right:0 !important;}
.mr5{margin-right:0.5rem !important;}
.mr10{margin-right:1rem !important;}
.mr15{margin-right:1.5rem !important;}
.mr20{margin-right:2rem !important;}
.mr30{margin-right:3rem !important;}
.mr40{margin-right:4rem !important;}
.mr50{margin-right:5rem !important;}

.pt0{padding-top:0 !important;}
.pt5{padding-top:0.5rem !important;}
.pt10{padding-top:1rem !important;}
.pt15{padding-top:1.5rem !important;}
.pt20{padding-top:2rem !important;}
.pt30{padding-top:3rem !important;}
.pt40{padding-top:4rem !important;}
.pt50{padding-top:5rem !important;}

.pb0{padding-bottom:0 !important;}
.pb5{padding-bottom:0.5rem !important;}
.pb10{padding-bottom:1rem !important;}
.pb15{padding-bottom:1.5rem !important;}
.pb20{padding-bottom:2rem !important;}
.pb30{padding-bottom:3rem !important;}
.pb40{padding-bottom:4rem !important;}
.pb50{padding-bottom:5rem !important;}

.pl0{padding-left:0 !important;}
.pl5{padding-left:0.5rem !important;}
.pl10{padding-left:1rem !important;}
.pl15{padding-left:1.5rem !important;}
.pl20{padding-left:2rem !important;}
.pl25{padding-left:2.5rem !important;}
.pl30{padding-left:3rem !important;}

.pr0{padding-right:0 !important;}
.pr5{padding-right:0.5rem !important;}
.pr10{padding-right:1rem !important;}
.pr15{padding-right:1.5rem !important;}
.pr20{padding-right:2rem !important;}
.pr25{padding-right:2.5rem !important;}
.pr30{padding-right:3rem !important;}



/*---------------------------------------
font color
---------------------------------------*/
.cl-rd {color: #f00;}   /* Red */
.cl-yl {color: #ff0;}   /* Yellow */
.cl-br {color: #663202;}   /* Brown */
.cl-bl {color: #00f;}   /* Blue */ 
.cl-dg {color: #055b72;}   /* darkgreen */
.cl-pk {color: #ff3366;}   /* Pink */
.cl-wh {color: #fff;}      /* white */
.cl-gd {color: #ffd700;}   /* gold */



/*---------------------------------------
fontsize
---------------------------------------*/
.font-ss {font-size:70%;}
.font-s {font-size:90%;}
.font-l {font-size:120%;}

.bold {font-weight:700;}
.no_bold {font-weight:400;}



/*---------------------------------------
kyo
---------------------------------------*/
.bk-wh {
  background: #fff;
}
.title {
  color: #fff;
  font-size: 130%;
}



/*---------------------------------------
header
---------------------------------------*/
.c-header {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.h_logo {
  color: #000;
  min-width: 8rem;
  max-width: 20rem;
  text-decoration: none;
}

.h_list {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  margin: 0;
  padding: 0;
}

.h_list-item {
  width: 100%;
  list-style: none;
  text-decoration: none;
}

.h_list-link {
  color: #fff;
  display: block;
  text-decoration: none;
  padding: 0.5rem 0;
  text-align: center;
}
.ham-menu {
  position: relative;
}

@media screen and (max-width: 768px) {
  .ham-menu_list {
    background-color: #0B5592;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    left: 0;
    padding: 2rem;
    position: absolute;
    transform: translateX(-100%);
    transition: 0.3s;
    top: 100%;
    width: 100%;
  }

  #hamburger:checked ~ .ham-menu_list {
    transform: translateX(0%);
    transition: 0.3s;
  }
}

.ham-menu_input {
  display: none;
}

.ham-menu_bg {
  background-color: #0B5592;
  cursor: pointer;
  display: none;
  height: 100%;
  left: 0;
  opacity: 0.4;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
}

#hamburger:checked ~ .ham-menu_bg {
  display: block;
}

.ham-menu_button {
  display: none;
}

@media screen and (max-width: 768px) {
  .ham-menu_button {
    align-items: center;
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px;
    height: 32px;
    justify-content: center;
    width: 32px;
  }
}

.ham-menu_button-mark {
  background-color: #fff;
  display: block;
  height: 1px;
  transition: 0.3s;
  width: 20px;
}

@media screen and (max-width: 768px) {
  #hamburger:checked
    ~ .ham-menu_button
    .ham-menu_button-mark:nth-of-type(1) {
    transform: translate(2px, 1px) rotate(45deg);
    transform-origin: 0%;
  }
  #hamburger:checked
    ~ .ham-menu_button
    .ham-menu_button-mark:nth-of-type(2) {
    opacity: 0;
  }
  #hamburger:checked
    ~ .ham-menu_button
    .ham-menu_button-mark:nth-of-type(3) {
    transform: translate(2px, 3px) rotate(-45deg); 
    transform-origin: 0%;
  }
}

/*---------------------------------------
top-page
---------------------------------------*/
#top-p .page-top {
    position: relative;
}
#top-p .hd {
    width: 100%;
    background: rgba(0,0,0,0.5);
    height: 4rem;
    position: absolute;
    top: 2rem;
    left: 0;
    z-index: 50;
}
.top-main{
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 30;
}
#top-p .lt {
    width: 25%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 40;
}
#top-p .rb {
    width: 25%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 40;
}
#top-p .lt img,
#top-p .rb img {
    width: 100%;
    opacity:0.8;      
}

#news-area {
  background: #0B5592;
  padding: 1rem 0 5rem;
}
.title {
  color: #fff;
  font-size: 130%;
}
.news-box {
  width: 80%;
}
.news-box iframe {
  padding: 1rem;
  background: #fff;
  border: 1px solid #333;
  border-radius: 3rem;
}

#ins {
  background: #000;
  padding: 5rem 0;
  position: absolute;
  width: 100%;
  z-index: 50;
  margin-top: -1.5rem;
}



/*---------------------------------------
NEWS
---------------------------------------*/
#news {
   margin: 1rem;
}
.news-text {
   font-size: 90%;
}
.news-botan {
   display: inline-block;
   font-size: 80%;
   background: #999;
   padding: 0 2rem;
   margin: 0.3rem 1rem;
   border: 1px solid #333;
   border-radius: 5rem;
}   
.news-line {
   border: none;
   border-width: 1px 0 0 0;
   border-top: dotted;
   border-color: #333;
}



/*---------------------------------------
PROFILE
---------------------------------------*/
#pro {
   background: #0B5592;
}
#pro .hd {
    position: relative;
    z-index: 50;
}
   
.photo {
  background-image: url("../img/face.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
.p-2 {
  padding: 15rem 0 12rem;
}
.p-2 .p-logo img {
  width: 109%;
}
.p-3 {
  padding: 10rem 0 6rem;
  text-align: right;
}
.p-3 .p-logo img {
  width: 82%;
}
.p-logo {
  margin-bottom: 2rem;
}
/* 1番下に表示 */
.partners .p-logo img {
  width: 100%;
}
.profile {
  margin-top: -15rem;
  background-image: url("../img/bk1.png");
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  padding: 10rem 0 5rem;
}
.pro-text {
  border-bottom: 1px dotted #0d83e4;
  margin-bottom: 0.5rem;
}
#race {
  background-image: url("../img/bk2.jpg");
  background-position: center top;
  background-repeat: repeat-y;
  background-size: cover;
  position: relative;
  padding-top: 3rem;
} 

.tabbox input {
    display: none;
}
.tab {
    display: inline-block;
    border: 1px solid #fff;
    border-radius: 1rem;
    padding: 0.1em 1em;
    margin: 1rem 1rem 3rem;
    color: #fff;
   } 
.tab:hover {
    font-weight: 700;
    cursor: pointer;
   }
/* 選択状態のタブ */
input:checked + .tab {
      color: #0B5592;
      background-color: #fff;
      position: relative;
      z-index: 10;
   }
/* タブの中身(共通装飾＋非選択状態の装飾) */
.tabcontent {
      display: none;
   }
/* 選択ボタンに対応する中身を表示 */
#tabcheck-1:checked ~ #tabcontent-1 { display: block; }
#tabcheck-2:checked ~ #tabcontent-2 { display: block; }

#race li {
    display: inline-block;
}
#race .r-box {
    color: #ffffff ;
    padding: 1rem;
}
#race .r-title-l {
    background: #ffffff;
    color: #000000;
    padding: 0.5rem 1rem;
}
#race .r-title-l img {
    height: 60px ;
    vertical-align: bottom;
    padding-top: 0.5rem;
}
#race h2 {
    font-size: 130%;
    padding: 0 2rem;
}
#race .taisei {
    width: 95% ;
}
#race .taisei img {
    width: 80%;
    border: 2px solid #ffffff;
    box-shadow: -10px -10px #d90d19;
    margin: 20px 0;
}
#race .taisei p {
    line-height: 2;
    margin: 20px 0;
}
#race .r-title {
    display: inline-block;
    font-size: 16px;
    padding: 10px 60px 5px 20px;
    position: relative;
    z-index: 1;
    margin-top: 20px;
    margin-bottom: 0px ;
    margin-left: 10px ;
    margin-right: 20px;
}
#race .r-title::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #d90d19;
    transform: scaleY(1) perspective(.6em) rotateX(1deg);
    transform-origin: bottom left;
}
#race h3 {
    font-size: 110% ;
    color: #ffffff ;
}
#race table {
    background: #000;
    border-top: 1px solid #333333 ;
    margin: 0 10px;
    width: 95% ;
}
#race table tr:first-child > th {
    background: #666666 ;
    text-align: center;
}
#race table tr:first-child > td {
    background: #666666 ;
    text-align: center;
}
#race table tr > th {
    width: 10% ;
    padding: 10px ;
    border-bottom: 1px solid #333333 ;
    border-left: 1px solid #333333 ;
    border-right: 1px solid #333333 ;
}
#race table tr > td:nth-child(2) {
    width: 20% ;
    padding: 10px ;
    border-bottom: 1px solid #333333 ;
    border-right: 1px solid #333333 ;
}
#race table tr > td:nth-child(3) {
    width: 50% ;
    padding: 10px ;
    border-bottom: 1px solid #333333 ;
    border-right: 1px solid #333333 ;
}
#race table tr > td:nth-child(4) {
    width: 20% ;
    line-height: 1.2 ;
    padding: 10px ;
    border-bottom: 1px solid #333333 ;
    border-right: 1px solid #333333 ;
}
#race .race-index {
    width: 100% ;
}
#race .race-i-tounen,
#race .race-i {
    border-radius: 50px ;
    text-align: center ;
    margin: 2rem 0.5rem;
    padding: 0.5rem;
}
#race .race-i-tounen {
    background: #ffffff ;
    color: #000000 ;
}
#race .race-i {
    background: #a9a9a9 ;
}
#race .race-i a {
    display: block;
    color: #696969 ;
}




/*----- SP ---------------------------------------*/
@media screen and (max-width: 768px) {
   #top-p .hd {
      height: 3rem; 
      top: 0;
     }
   #top-p .lt img,
   #top-p .rb img {
      display: none;      
     }
   #top-p .news-box {
      width: 95%;
      margin: 0 auto;
     }
   #pro .p-1 {
      height: 50rem;
     }
   #race .r-title-l img {
      height: 40px;
      padding-top: 0.5rem;
     }
   #race h2 {
      padding: 0 1rem;
     }
   #race .r-box {
      padding: 0;
     }
   #race table tr:first-child {
      display: none;
     }
   #race table tr > th,
   #race table tr > td:nth-child(2),
   #race table tr > td:nth-child(3),
   #race table tr > td:nth-child(4) {
      display: block;
      width: 100%;
     }
   #race table tr > th {
      background: #666666 ;
     }
   .p-logo {
      margin-bottom: 0;
      padding: 0 0.5rem;
     }

  }


@media screen and (max-width: 460px) {
   .news-text, #pro, #race {
      font-size: 80%;
     }
   .news-botan {
      font-size: 70%;
      padding: 0.2rem 1rem;
     }
   #race .r-title-l img {
      height: 30px;
     }
   #race .taisei p {
      line-height: 1.8;
      margin: 0;
     }
   #race table tr > th,
   #race table tr > td:nth-child(2),
   #race table tr > td:nth-child(3),
   #race table tr > td:nth-child(4) {
      padding: 0.5rem;
     }  

  }

