@charset "utf-8";
/* ------------------------------
   Universal Reset
   Contents
   Animation
------------------------------ */

/*==================================================================
   Universal Reset
==================================================================*/
html,body{margin:0;padding:0;width:100%;height:100%;font-size:100%;}
main{display:block;}
h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,div,object,ul,ol,li,dl,dt,dd,tr,td,fieldset,form,legend,small,figure{margin:0;padding:0;font-size:100%;font-weight:normal;}
ul,ol{list-style:none;}
fieldset{margin:0;padding:0;border:0 none;}
legend{display:none;}
table,th,td{border:0;border-spacing:0;}
caption,th{text-align:left;}
em,strong,cite,abbr,caption,th,address{font-style:normal;font-weight:normal;}
img{max-width:100%;border:0 none;vertical-align:bottom;_vertical-align:text-bottom;}
input:not([type="radio"]):not([type="checkbox"]),select,textarea{margin:0;padding:0;border:none;border-radius:0;vertical-align:middle;
-moz-appearance:none;-webkit-appearance:none;appearance:none;}
select::-ms-expand{display:none;}
input[type="submit"]:hover{cursor:pointer;}
input[type="image"]{max-width:100%;outline: none;}
option{padding-right:5px;}
button{background:none;padding:0;border:0;text-align:left;}
article,aside,dialog,details,figure,figcaption,footer,header,hgroup,menu,nav,section{display:block;}
mark{font-weight:normal;font-style:normal;}
blockquote,q{quotes:none;}
a{vertical-align:baseline;text-decoration:none;}
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}


/*==================================================================
   Contents
==================================================================*/
html{font-size: calc(1000vw / 1000);}
body{font-size:3rem;color:#000;font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","Noto Sans JP","メイリオ", "Meiryo", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", sans-serif;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-touch-callout:none;background: #ddd;}

main{background:#fff;margin: 0 auto;max-width: 100rem;overflow:hidden;}

/* ブラウザ最下部までコンテンツエリア保持 */
#container{display: flex;flex-direction: column;min-height: 100%;}
main{flex-grow: 1;}


/*========== common ==========*/
[class^="blc_"]{padding: 9rem 4.5rem;}

/*========== title ==========*/
.ttl01{margin-bottom: 9rem;font-size:5rem;font-weight:bold;text-align: center;}
.ttl02{margin-bottom: 9rem;color:#fff;font-size:4.6rem;font-weight:bold;text-align: center;}

/*========== text ==========*/
.txt_shadow{text-shadow: 0 .5rem 0 rgb(0 0 0 / 0.1);}
.txt_note01{margin-top: 1em;font-size:2.5rem;text-align: center;}

/*========== .list_result ==========*/
ul.list_result01{display:flex;flex-wrap:wrap;justify-content: space-between;gap: 3rem;}
ul.list_result01 > li{position: relative;background: #fff;padding: 4rem 1rem 5rem;width: calc(50% - 1.5rem);font-size:3.5rem;border:solid 1rem #46a445;border-radius: 1.5rem;text-align: center;box-shadow:0 1rem 0 0 #1aab63;}
ul.list_result01 > li:not(:nth-child(-n+2)){margin-top: 1rem;}
ul.list_result01 > li dl{padding-bottom: 5rem;}
ul.list_result01 > li dl > dt{position: relative;background: #1aab63;margin-bottom:4rem;padding: 1.5rem;color: #fff;font-weight: bold;border-radius: 4rem;}
ul.list_result01 > li dl > dt::before{position: absolute;content:"";left:0;right:0;bottom: -3.3rem;margin: auto;
display:block;width:0;height:0;
border-style:solid;
border-width:3.4rem 2.5rem 0;
border-color: #1aab63 transparent transparent transparent;
}
ul.list_result01 > li dl > dd{color: #2a6325;font-weight: bold;}
ul.list_result01 > li dl > dd.dividend{position: absolute;left: 0;right: 0;bottom: 5rem;margin: auto;color: #ff6c00;font-size:4rem;}
ul.list_result01 > li dl > dd.badge{position: absolute;top: -3rem;left: -3rem;max-width: 15.1rem;}


/*========== #blc_mv ==========*/
#blc_mv .area_mv{position:relative; background: url(mv_bg01.jpg) no-repeat center top / 100% auto;min-height: 127rem;}
#blc_mv .area_mv::before{position: absolute;content: "";width: 100%;height: 83.9rem;top: 12rem;background: url(mv_confetti.png) no-repeat 0 0 / 100%;z-index: 1;}
#blc_mv .area_mv .ttl{box-shadow: 0 0 3.5rem #000;position: relative;z-index: 2;}
#blc_mv .area_mv .catch{position: absolute;left: calc(50% - 45.6rem);top: 19rem;}
#blc_mv .area_mv .catch img{width: 91.2rem;}
#blc_mv .area_mv .horse{position: absolute;left: calc(50% - 49.55rem);bottom: 0;}
#blc_mv .area_mv .horse img{width: 99.1rem;}
#blc_mv .area_result{padding: 0 4.5rem;margin-top: -59rem;position: relative;z-index: 1;}
#blc_mv .area_result img.result_catch01{max-width: 17.7rem;margin-left: 2rem;}
#blc_mv .area_result span.result_catch02{font-size: 8.4rem;color: #fff;font-weight: bold;text-shadow: 0.5rem 0.5rem 0.5rem #ff6c00, -0.5rem -0.5rem 0.5rem #ff6c00, -0.5rem 0.5rem 0.5rem #ff6c00, 0.5rem -0.5rem 0.5rem #ff6c00, 0.5rem 0 0.5rem #ff6c00, -0.5rem 0 0.5rem #ff6c00, 0 0.5rem 0.5rem #ff6c00, 0 -0.5rem 0.5rem #ff6c00,0 1.5rem #873b03;display: block;letter-spacing: -0.05em;margin-bottom: 3rem;text-align: center;}

/*========== .blc_mainrace ==========*/
.blc_mainrace h2{position: relative;margin-bottom: 5rem;}
.blc_mainrace h2 .ttl_mainrace{max-width: 65.5rem;position: absolute;bottom: 0;left: 12rem;}
.blc_mainrace .box01{background: #fff;padding: 5rem;border-radius: 1.5rem;text-align: center;box-shadow: 0 0 2.5rem 1.25rem rgb(234,231,231);}
.blc_mainrace dl.list_race01 > dt{position: relative;background: #2a6325;margin: 0 10rem 3rem;padding: 1.5rem;color: #fff;font-size:3.5rem;font-weight: bold;border-radius: 4rem;}
.blc_mainrace dl.list_race01 > dd{color:#2a6325;font-size: 6.5rem;font-weight:bold;}
.blc_mainrace .text01{margin-top:2.5rem;font-size: 4rem;font-weight: bold;}

/*========== .blc_regist ==========*/
.blc_regist .ttl01{margin-bottom: 4rem;font-feature-settings: "palt" on;}
.blc_regist .catch_regist01{font-size: 4.2rem;text-align: center;margin-bottom: 4rem;}

/*========== .btn_line01 ==========*/
.btn_line01{margin-top: 3rem;text-align: center;}
.btn_line01 a{position: relative;display:inline-block;background: #ff6c00;padding: 2.2rem 7.5rem;min-width: 72.8rem;color:#fff !important;font-size: 6.1rem;font-weight:bold;border-radius: 6.8rem;text-align: center;}
.btn_line01 a::before{position: absolute;content: "";
right: 3rem;top: 0;bottom: 0;margin: auto;width: 2.4rem;height: 2.4rem;
border-top: solid 1rem #fff;
border-right: solid 1rem #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.btn_line01 a img{margin-right:2rem;width: 9rem;}

/*========== .blc_step ==========*/
.blc_step{background: #1aab63;color: #fff;}
.blc_step .ttl01{color: #ffea00;}
.blc_step .image01{margin-bottom:5rem;text-align: center;}
.blc_step .image01 img{width: 24.6rem;}
.blc_step ol.list_step01{margin: 0 -4.5rem;}
.blc_step ol.list_step01 > li{background: url(step_flow1-bg.png) no-repeat 0 0 / 43rem;margin-bottom:10rem;padding: 5.6rem 4.5rem 0 46.8rem;min-height: 48.6rem;}
.blc_step ol.list_step01 > li:nth-child(2){background-image: url(step_flow2-bg.png);background-position:right 0;padding: 5.6rem 39rem 0 4.5rem;}
.blc_step ol.list_step01 > li:nth-child(3){background-image: url(step_flow3-bg.png);}
.blc_step ol.list_step01 > li dl > dt{margin-bottom: 3.5rem;}
.blc_step .text01{font-size: 3.5rem;}

/*========== .blc_review ==========*/
.blc_review{padding-top: 0;}
.blc_review ul.list_review01 > li{background: #fff;padding: 3rem 2.5rem;color
:#2a6325;font-size:3.3rem;font-weight: bold;border:solid 1rem #46a445;border-radius: 1.5rem;box-shadow:0 1rem 0 0 #1aab63;}
.blc_review ul.list_review01 > li:not(:first-child){margin-top: 6rem;}

/*========== footer ==========*/
footer{background: #2a6325;padding: 4rem 0 2.5rem;
color: #fff;}
footer .inner{margin: 0 auto;max-width: 100rem;}
footer nav ul > li > a{position: relative;display: block;padding: .4em 5rem .4em 9rem;color:#fff !important;font-size:3.5rem;}
footer nav ul > li > a::before{position: absolute;content: "▲";left: 4rem;transform: rotate(90deg);}
footer nav ul > li > a:hover{background: #1aab63;}
footer .copyright{margin-top: 12rem;text-align: center;}


/*========== Responsive ==========*/
@media screen and (min-width:1000px) { /* over 1000px */
html{font-size: 62.5%;}
/**/} /* Responsive End */


/*========== common ==========*/
em{color:#ff0000;}
strong{color:#ff0000;font-weight:bold;}

.mt_0{margin-top:0 !important;}
.mt_S{margin-top:0.5em !important;}
.mt_M{margin-top:1em !important;}
.mt_L{margin-top:1.5em !important;}
.mt_LL{margin-top:2em !important;}
.mb_0{margin-bottom:0 !important;}
.mb_S{margin-bottom:0.5em !important;}
.mb_M{margin-bottom:1em !important;}
.mb_L{margin-bottom:1.5em !important;}
.mb_LL{margin-bottom:2em !important;}

.pt_0{padding-top:0 !important;}
.pt_S{padding-top:0.5em !important;}
.pt_M{padding-top:1em !important;}
.pt_L{padding-top:1.5em !important;}
.pt_LL{padding-top:2em !important;}
.pb_0{padding-bottom:0 !important;}
.pb_S{padding-bottom:0.5em !important;}
.pb_M{padding-bottom:1em !important;}
.pb_L{padding-bottom:1.5em !important;}
.pb_LL{padding-bottom:2em !important;}

.txt_L{text-align: left !important;}
.txt_R{text-align: right !important;}
.txt_C{text-align: center !important;}

.f_normal{font-weight: normal !important;}
.f_bold{font-weight: bold !important;}
.f_S{font-size:0.5em !important;}
.f_M{font-size:1em !important;}
.f_L{font-size:1.5em !important;}
.f_LL{font-size:2em !important;}

.hide{display: none;}


/*==================================================================
   Animation
==================================================================*/
/*========== zoomRepeat ==========*/
.animated_zoomRepeat{
  -webkit-animation: zoomRepeat 1.5s ease-in-out infinite;
  animation: zoomRepeat 1.5s ease-in-out infinite;
}
@-webkit-keyframes zoomRepeat {
  0% {-webkit-transform: scale(0.9);}
  30% {-webkit-transform: scale(1, 1);}
  60% {-webkit-transform: scale(0.9);}
  100% {-webkit-transform: scale(0.9);}
}
@keyframes zoomRepeat {
  0% {transform: scale(0.9);}
  30% {transform: scale(1, 1);}
  60% {transform: scale(0.9);}
  100% {transform: scale(0.9);}
}

/*========== marker ==========*/
.animated_marker{
position: relative;
background-image: linear-gradient(90deg, #ffea00, #ffea00);
background-repeat: no-repeat;
background-position: bottom left;
background-size: 0 40%;
transition: all 1s ease-in-out;
}
.animated_marker.animated{background-size: 100% 40%;}
.animated_marker.delay01{transition-delay : 1.5s;}

/*========== flipIn ==========*/
.animated_flipIn{opacity: 0;}
.animated_flipIn.animated{
  -webkit-animation: flipIn .5s ease-in-out;
  animation: flipIn .5s ease-in-out;
}

@-webkit-keyframes flipIn {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1;
  }
}

@keyframes flipIn {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1;
  }
}
