@charset "UTF-8";
:root {
  /* Base font size */
  font-size: 10px;   
  
  /* Set neon color */
  /*--neon-text-color: #f40;*/
  --neon-text-color: #be5bee;
  --neon-text-color2: #f00;
  --neon-border-color: #be5bee;
}


img {
  image-rendering: -webkit-optimize-contrast;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

.pinktxt {
  color: #ff3955;
}

header {
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  padding: 15px;
}
@media screen and (max-width: 768px) {
  header .brand {
    height: 10vw;
  }
}

.footer {
  background-color: #C6E9F6;
}

.main {
  /*background: url(../images/main_bg@2x.png);
  background-size: cover;
  background-position: center bottom;
  position: relative;
  width: 100%;
  background-color: #f9a0b6;*/
  height: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .main {
    /*background: url(../images/sp_main_bg@2x.png);
    background-size: cover;
    background-position: center top;*/
  }
}
.main::before {
  content: "";
  display: block;
  padding-top: 30%;
}

@media screen and (max-width: 768px) {
  .main::before {
    /*padding-top: 100%;*/
    padding-top: 70%;
  }
}
/*.main .title_bgimg {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
    max-width: 675px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}*/
/* その場でふわ */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.main .title_img {
  display: block;
  position: absolute;
  top: 55%;
  left: 50%;
  width: 45%;
  max-width: 500px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
    text-align: center;
}

.sub_title{
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.6rem;
}

  
.main .main_pic {
  display: block;
  position: absolute;
  bottom: -35%;
  left: 50%;
  width: 50%;
  max-width: 675px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
    text-align: center;
}
.main_msg{
	font-size:1.3rem;
	border:1.5px #00d1b2 solid;
	margin-top: 1rem;
	background-color: #00d1b2;
}
.main .main_serif {
  display: block;
  position: absolute;
  bottom: -20%;
  left: 50%;
  width: 50%;
  max-width: 500px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 9;
}
.main .main_serif .serifbox{
  position: relative;
  width:100%;
    text-align: right;
}
.entry_sakura{
  display: block;
  position: absolute;
  bottom: 25px;
  left: auto;
  right:-32%;
  width: 45%;
  max-width: 190px;
    text-align: right;
}
.entry_sakura a{
  display: inline-block;
  text-decoration: none;
}
.entry_sakura a:hover{
	opacity:0.6;
}

  .title_entry {
    margin:0 auto;
    width: 46%;
    text-align: center;
    padding-top:3%;
  }

  .title_entry a{
      display: inline-block;
    text-decoration: none;
    padding: 0.5rem 1rem;
    height: auto;
    text-align: center;
    transition: .4s;
    margin-top: 1rem;
  }
  .title_entry a img{
    width:100%;
  }
  .title_entry a:hover{
	opacity:0.6;
  }

@media screen and (max-width: 768px) {
  .main img {
    width: 100vw;
/*    top: 45%;*/
  }

  .main .title_img {
    top: 50%;
    left: 50%;
    width: 84%;
    max-width: 90vw;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  
  .sub_title {
        font-size: 1.6rem;
	line-height: 1.8rem;
  }
    
  .main .main_pic {
    bottom: -27%;
    width: 98%;
    max-width: 100vw;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .main .main_serif {
    bottom: -10%;
    left: 50%;
    width: 80%;
    max-width: 100vw;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

}


.container{
  background: url(../images/detail_bg.jpg);
  background-size: cover;
  background-position: center bottom;
  position: relative;
  width: 100%;
  max-width: 100%!important;
}
.title_entry {

}
.section {
    padding: 1rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .container{
    background: url(../images/detail_bg_sp.jpg);
    background-size: cover;
    background-position: center bottom;
    position: relative;
    width: 100%;
    max-width: 100%!important;
  }

  .section {
    padding: 1rem 1.5rem 3rem  1.5rem ;
  }

  .title_entry {
    width: 100%;
    text-align: center;
    padding-top:0;
  }

  .title_entry a{
      display: inline-block;
    text-decoration: none;
    padding: 0.5rem 1rem;
    width: 90%;
    height: auto;
    text-align: center;
    transition: .4s;
    margin-top: 1rem;
  }
  .title_entry a img{
    width: 100%;
  }
  .title_entry a:hover{
	opacity:0.6;
	background:#e91e63;
  }

}
.detail_wrap {
  max-width: 900px;
  margin: 1% auto;
}
.detail_wrap .column {
  display: flex;
  justify-content:center;
  flex-wrap: wrap;
  
}
.detail_wrap .column a{
  display: block;
  text-decoration: none;
}
.detail_wrap .column a:hover {
  opacity: 0.7;
}

/* Animation */
.target {
   animation: fuwafuwa01 2.5s infinite ease-in-out;
}
@keyframes fuwafuwa01 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@media screen and (max-width: 768px) {
  .detail_wrap {
    width:100%;
    margin: 0 auto;
  }
  .detail_wrap .column {
    flex-wrap:wrap;
  }
  .detail_wrap .column a{
    display: block;
    text-decollation: none;
    width: 90%;
  }
}

.hexagon_wrap {
  max-width: 950px;
  margin: 5% auto;
}
.hexagon_wrap .column {
  display: flex;
}

.miles_hexagon {
  width: 95%;
  margin: 0 auto;
}
.miles_hexagon img {
  display: block;
  margin: 0 auto;
}

.miles_items {
  background-color: #FFF;
  padding: 0 6%;
  position: relative;
  padding-top: 25%;
  height: 78%;
}
@media screen and (max-width: 768px) {
  .miles_items {
    height: auto;
  }
}
.miles_items .flag {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-30%);
  -webkit-transform: translateY(-30%);
  -ms-transform: translateY(-30%);
  max-width: 95%;
}
@media screen and (max-width: 768px) {
  .miles_items .flag {
    width: 90vw;
  }
}
.miles_items .mileget {
  width: 75%;
}

.f-maru {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  transform: rotate(0.03deg);
}

@media screen and (max-width: 768px) {
  .footer > .is-desktop {
    max-width: 75%;
    margin: auto;
  }
}

.liststyle {
  list-style: inside;
}
.liststyle :first-child {
  list-style: none;
}

.waku{	
    margin: 0 auto;
	width:100%;
	max-width:700px;
	padding:0 1rem;
	text-align:center;
}
.waku img{	
    margin: 0 auto;
    width:70%;
}
.waku .text{
	font-weight: 600;
	font-size:2rem;
	padding-bottom:1rem;
}
.error{
    border: 1.5px red solid;
    margin: 0 3rem 1rem;
}
.waku table{
        margin-left:auto;margin-right:auto;
	/*background-color:pink;*/
	border-collapse: collapse;
	font-weight:500;
}
.waku table th,
.waku table td {
	font-size:1.2rem;
 	padding: 4px 20px;
	/*border: solid 2px #fff;*/
        text-align: left;
}
.waku table th{
	/*background-color:#ffca10;*/
	font-size:1.6rem;
	font-weight: 600;
        color:white;
        white-space: nowrap;
}

  .waku table td input{
      width:37%;
      padding:0.4rem;
  }

.result_waku{
  white-space:nowrap;
  /*overflow:scroll;*/
  overflow-x: scroll;
  width:50%; 
  height:300px; 
}

.result_waku_scroll{
    width:600%;
    display: flex;
}

.result_waku_scroll .item_t{
    width:20%;
    margin: 0 5px;
    height:250px; 
    
}

.holiday{
	color:red;
}
.sat{
	color:blue;
}
.detail_wrap{
    flex-wrap: wrap;
        justify-content: center;
}
.detail_wrap .item,
.detail_wrap .item2{
    margin: 0 auto;
    width:100%;
    max-width:750px;
    padding:1rem;
    text-align:center;
}
.detail_wrap .item img{
    width:70%;
}
.detail_wrap .item2 img{
    width:60%;
}
.kakunin{      
    margin: 0 auto;
    text-align: center;
    display: flex;
    justify-content: center;
    width:70%;
}
input[name="preview"],
input[name="submit"]{
    margin: 0 auto;
    width:30%;
  display: block;
  padding: 7px 25px;
  border-radius: 7px;
  border: none;
  border-bottom: 4px solid #1d7dcc;
  background-color: #2196f3;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
  appearance: none;
}
input[name="preview"] :active,
input[name="submit"] :active{
  margin-top: 3px;
  background-color: #309bf2;
  border-bottom: 2px solid #006366;
}

input[name="back"]{
    margin: 0 auto;
    width:30%;
  display: block;
  padding: 7px 25px;
  border-radius: 7px;
  border: none;
  border-bottom: 3px solid #909090;
  background-color: #dbdbdb;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  cursor: pointer;
  appearance: none;
}
input[name="back"] :active{
  margin-top: 3px;
  background-color: #fff;
  border-bottom: 2px solid #6ed0d8e8;
}

@media screen and (max-width: 768px) {
  .waku{	
	padding:1rem 0.5rem;
  }
  .waku .text{
	font-size:1.6rem;
  }
  .waku table{
	width:100%;
  }

  .waku table th,
  .waku table td {
      display: block;
      width:100%;
	font-size:1.4rem;
 	padding: 2px 1px;
	border: solid 1px #fff;
        text-align: center;
  }
  .waku table th{
      font-weight: bold;
  }
  .waku table td input{
      width:60%;
      padding:0.4rem;
  }
  .waku img {
    width: 100%;
  }
  .detail_wrap .item img {
    width: 100%;
  }

  .detail_wrap .item2 img {
    width: 100%;
  }
  .kakunin{      
    width:100%;
  }
  input[name="preview"],
  input[name="submit"]{
    margin: 0 auto;
    width:40%;
  display: block;
  padding: 7px 25px;
  border-radius: 7px;
  border: none;
  border-bottom: 4px solid #1d7dcc;
  background-color: #2196f3;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
  appearance: none;
}
input[name="preview"] :active,
input[name="submit"] :active {
  margin-top: 3px;
  background-color: #309bf2;
  border-bottom: 2px solid #006366;
}
  
}
input[name="back"]{
    margin: 0 auto;
    width:30%;
  display: block;
  padding: 7px 25px;
  border-radius: 7px;
  border: none;
  border-bottom: 3px solid #909090;
  background-color: #dbdbdb;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  cursor: pointer;
  appearance: none;
}
input[name="back"] :active{
  margin-top: 3px;
  background-color: #fff;
  border-bottom: 2px solid #6ed0d8e8;
}

.detail_wrap_swiper {
  width: 47%;
  margin: 1% auto;
}
.swiper-slide  {
  margin: 0 auto;
  height: auto;
  /*background-color: #0071bc;*/
  text-align: center;
  padding: 2rem 0 0 0;
}

.rank_box{
    width:70%;
    margin:0 auto;
    text-align: center;
    display: flex;
    justify-content: center;
}

.rank_box table.kaime_rank{
    width:90%;
    text-align: center;
}

.rank_box table.kaime_rank td{
    text-align: center;
    border-bottom:#fff 1px solid;
}
.rank_box table.kaime_rank td span.race{
    font-size: 2.5rem;
}
.rank_box table.kaime_rank td.td_rank{
	width:12%;
}
.rank_box table.kaime_rank td.td_kaime{
	width:70%;
}
.rank_box table.kaime_rank td.td_per{
	width:12%;
	color:#ffcc5a;
}

@media screen and (max-width: 768px) {
    .detail_wrap_swiper {
        width: 100%;
        margin: 0 auto;
    }
    .rank_box{
        width:90%;
        margin:0 auto;
        text-align: center;
        display: flex;
        justify-content: center;
    }   
	div.post_ranking small{
		font-size:1.5rem;
		line-height:1.8rem;
	}
}
div.neon_box1 {
  /*font-size: 13rem;
  font-weight: 200;
  font-style: italic;*/
   font-size: 2rem;
  font-weight: bold;
  color: #fff;
  padding: 3rem 1rem;
   margin-bottom: 3rem;
  border: 0.4rem solid #fff;
  border-radius: 2rem;
  text-transform: uppercase;
  /*animation: flicker 1.5s infinite alternate; */    
}

div.neon_box1::-moz-selection {
  background-color: var(--neon-border-color);
  color: var(--neon-text-color);
}

div.neon_box1::selection {
  background-color: var(--neon-border-color);
  color: var(--neon-text-color);
}

div.neon_box1:focus {
  outline: none;
}
div.neon_box4,
div.neon_box3,
div.neon_box2 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  padding: 2rem 1rem;
  margin-bottom: 3rem;
  border: 0.4rem solid #fff;
  border-radius: 2rem;
        /*text-shadow:
            0 0 1px var(--neon-text-color2),
            0 0 2px var(--neon-text-color2),
            0 0 3px var(--neon-text-color2),
            0 0 4px var(--neon-text-color2),
            0 0 5px var(--neon-text-color2),
            0 0 6px var(--neon-text-color2),
            0 0 7px var(--neon-text-color2),
            0 0 8px var(--neon-text-color2),
            0 0 9px var(--neon-text-color2),
            0 0 10px var(--neon-text-color2),
            0 0 11px var(--neon-text-color2),
            0 0 12px var(--neon-text-color2),
            0 0 13px var(--neon-text-color2),
            0 0 14px var(--neon-text-color2),
            0 0 15px var(--neon-text-color2),
            0 0 16px var(--neon-text-color2);*/

        box-shadow:
            0 0 .5rem #fff,
            inset 0 0 .5rem #fff,
            0 0 2rem var(--neon-border-color),
            inset 0 0 2rem var(--neon-border-color),
            0 0 4rem var(--neon-border-color),
            inset 0 0 4rem var(--neon-border-color);        
}
div.neon_box3{
      padding: 1rem 1rem 0 1rem;
}

div.neon_box4{
      border: 0.6rem solid #fff;
      padding: 1rem 1rem 0 1rem;
        box-shadow:
            0 0 .8rem #fff,
            inset 0 0 .8rem #fff,
            0 0 2.5rem var(--neon-border-color),
            inset 0 0 2.5rem var(--neon-border-color),
            0 0 4.5rem var(--neon-border-color),
            inset 0 0 4.5rem var(--neon-border-color);
}
/* Animate neon flicker */
@keyframes flicker {
    
    0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
      
        text-shadow:
            -0.2rem -0.2rem 1rem #fff,
            0.2rem 0.2rem 1rem #fff,
            0 0 2rem var(--neon-text-color),
            0 0 4rem var(--neon-text-color),
            0 0 6rem var(--neon-text-color),
            0 0 8rem var(--neon-text-color),
            0 0 10rem var(--neon-text-color);
        
        box-shadow:
            0 0 .5rem #fff,
            inset 0 0 .5rem #fff,
            0 0 2rem var(--neon-border-color),
            inset 0 0 2rem var(--neon-border-color),
            0 0 4rem var(--neon-border-color),
            inset 0 0 4rem var(--neon-border-color);        
    }
    
    20%, 24%, 55% {        
        text-shadow: none;
        box-shadow: none;
    }    
}

.neon_box2 select{
    font-size: 2rem;
    padding: 0.5rem;
    margin: 0.5rem;
}
.neon_box2 select[name="race_no"]{
    font-weight: bold;
    font-size: 3rem;
    padding: 0rem;
    margin: 0.1rem;
}

/* =================================
フォントサイズ　ベースセッティング
================================== */
html {
  /* ベースのフォントサイズを10pxとする */
  font-size: 62.5%;
  font-feature-settings: "palt";
}

body {
  font-size: 1.6rem;
  /* calcサポート外をフォールバック */
  font-size: calc(1.4rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  /*min-height: 0vw;*/
  min-height: 100vw;

  /* Safari用バグフィックス */
  line-height: 1.8;
  /* Noto Sansフォント */
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #fff;
  background-color: #000;
}

h1 {
  font-size: 3.2rem;
  /* calcサポート外をフォールバック */
  font-size: calc(3.2rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 1.8;
  font-weight: 900;
}

h2 {
  font-size: 2.4rem;
  /* calcサポート外をフォールバック */
  font-size: calc(2.2rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 1.8;
  font-weight: 500;
}

h3 {
  font-size: 2.2rem;
  /* calcサポート外をフォールバック */
  font-size: calc(2rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 1.5;
  font-weight: 400;
}

h4 {
  font-size: 1.8rem;
  /* calcサポート外をフォールバック */
  font-size: calc(1.6rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 2;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  transform: rotate(0.03deg);
}

/*------ メディアクエリ --------*/
/* デバイス幅が1200px以上 */
@media screen and (min-width: 1200px) {
  body {
    font-size: 1.6rem;
  }

  h1 {
    font-size: 3.2rem;
  }

  h2 {
    font-size: 2.4rem;
  }

  h3 {
    font-size: 2.2rem;
  }

  h4 {
    font-size: 2rem;
  }
}
/* デバイス幅が480px以下 */
@media screen and (max-width: 480px) {
  body {
    font-size: 1.4rem;
    min-height: 180vw;
  }

  h1 {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 2rem;
  }

  h3 {
    font-size: 1.8rem;
  }

  h4 {
    font-size: 1.8rem;
  }
}
.waku h2{ 
	font-weight:600;
	color:red;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

