@charset "shift-jis";
.marker{ background: linear-gradient(rgba(0,0,0,0) 30%, rgba(245,231,57,.2) 30%);}

.lead .txt_s{ font-size: 16px;}
@media screen and (max-width: 599px) {
  .lead .txt_s{ font-size: 14px;}
}

.bg-school{ background-color: rgba(68, 161, 197, 0.1);}

/* ==========================================================================
.intro
========================================================================== */
/* .mv */
.mv {
  background: rgb(161,197,212);
  background: url(/event/grandprix/img/fudo/mv.png), linear-gradient(90deg, rgba(161,197,212,1) 0%, rgba(161,197,212,1) 50%, rgba(199,225,223,1) 50%, rgba(199,225,223,1) 100%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 40%;
  position: relative;
}
h1{
  color: transparent;
  position: absolute;
}
@media screen and (min-width: 1441px) {
  .mv{ background-size: contain;}
}
@media screen and (max-width: 1099px) {
  .mv {
    background-position: top right;
  }
}
@media screen and (min-width: 1000px) {
  .mv{ padding-top: 400px;}
}
@media screen and (max-width: 599px) {
  .mv{
    padding-top: 53.3%;
    background-image: url(/event/grandprix/img/fudo/mv_sp.png);
  }
}
.intro .lead{
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 70px;
  margin-bottom: 100px;
  text-align: left;
}
@media screen and (max-width: 799px) {
  .intro .lead{
    margin-bottom: 130px;
  }
}
@media screen and (max-width: 599px) {
  .intro .lead{
    margin-top: 40px;
    font-size: 16px;
  }
}

/* ==========================================================================
.award
========================================================================== */
/* .ttl_award */
.ttl_award{
  margin-bottom: 50px;
}
@media screen and (max-width: 599px) {
  .ttl_award{
    margin-bottom: 40px;
  }
}
/* .list_award_gp */
.list_award_gp.award_2022 li::before{
  background-image: url(/event/grandprix/img/2022/badge_fudo_gp.svg);
}

/* .list_award_spc */
.list_award_spc li::before{
  background-image: url(/event/grandprix/img/2022/badge_fudo_spc.svg);
}
/* list_award common */
.before_after .ttl_before{
  color: #44A1C5;
}
.before_after .ttl_after{
  background-color: #44A1C5;
}
.before_after .txt_profit{
/*   background: linear-gradient(transparent 40%, rgba(68, 161, 197, .15) 40%); */
  color: #44A1C5;
  font-size: 23px;
}
.before_after .txt_profit .marker{
  background: linear-gradient(transparent 40%, rgba(68, 161, 197, .15) 40%);
}
@media screen and (max-width: 599px){
  .before_after .txt_profit {
    font-size: 16px;
    left: 5.5rem;
  }
  .list_award_gp.award_2023 .before_after .txt_profit{
    font-size: 13px;
  }

}

.award .btn_award{
  background-color: #44A1C5 ;
  box-shadow: 0 1px 0 #0b475e;
}

.award .apply_intro {
  text-align: left;
}
.award table {
  margin-top: 60px;
}
.award table th,
.award table td {
  padding: 1.5em;
  border: 1px solid #44A1C5;
}
.award table th {
  width: 25%;
  background: rgba(68, 161, 197, 0.2);
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
}
.award table td {
  background: #fff;
  text-align: left;
}
.award .btn_entry {
  display: block;
  position: relative;
  width: 100%;
  max-width: 450px;
  margin: 60px auto 0;
  padding: 1em 2em;
  background: linear-gradient(to right, rgba(68,161,197,1) 0%,rgba(94,118,167,1) 100%);
  border-radius: 9999px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  color: #fff;
  font-size: 18px;
  line-height: 1.4;
}
.award .btn_entry::after {
  position: absolute;
  top: 50%;
  right: 1.2em;
  transform: translateY(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  content: '';
}
.award .btn_entry:hover {
  opacity: 0.8;
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .award table {
    margin-top: 30px;
  }
  .award table th,
  .award table td {
    display: block;
    width: 100%;
  }
  .award table td {
    border-top: none;
    border-bottom: none;
  }
  .award table tr:last-child td {
    border-bottom: 1px solid #44A1C5;
  }
  .award .btn_entry {
    margin-top: 30px;
    font-size: 16px;
  }
}

/* .list_award_gp.award_2023 */
.list_award_gp.award_2023_gp li::before{
  background-image: url(/event/grandprix/img/2023/badge_fudo_gp.svg);
}
.list_award_gp.award_2023 .badge_small::before{
  background-image: url(/event/grandprix/img/2023/badge_fudo_small.svg);
}
.list_award_gp.award_2023 .badge_dash::before{
  content: "";
  padding: 60px;
  background: url(/event/grandprix/img/2023/badge_fudo_dash.svg) right center/contain no-repeat;
  position: absolute;
  top: -15px;
  right: 7px;
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .list_award_gp.award_2023 .badge_dash::before{
    padding: 37px;
  }
}

/* .list_award_gp.award_2024 */
.list_award_gp.award_2024_gp li::before{
  background-image: url(/event/grandprix/img/2024/badge_fudo_gp.svg);
}
.list_award_gp.award_2024 .badge_dash::before{
  content: "";
  padding: 60px;
  background: url(/event/grandprix/img/2024/badge_fudo_dash.svg) right center/contain no-repeat;
  position: absolute;
  top: -15px;
  right: 134px;
  z-index: 1;
}
.list_award_gp.award_2024 .badge_20s::after{
  content: "";
  padding: 60px;
  background: url(/event/grandprix/img/2024/badge_fudo_20s.svg) right center/contain no-repeat;
  position: absolute;
  top: -15px;
  right: 7px;
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .list_award_gp.award_2024 .badge_dash::before{
    padding: 50px;
    right: 114px;
  }
  .list_award_gp.award_2024 .badge_20s::after{
    padding: 50px;
  }
}

/* .list_award_gp.award_2025 */
.list_award_gp.award_2025_gp li::before{
  background-image: url(/event/grandprix/img/2025/badge_fudo_gp.svg);
}
.list_award_gp.award_2025 .badge_60s::after{
  content: "";
  padding: 60px;
  background: url(/event/grandprix/img/2025/badge_fudo_60s.svg) right center/contain no-repeat;
  position: absolute;
  top: -15px;
  right: 7px;
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .list_award_gp.award_2025 .badge_dash::before{
    padding: 50px;
    right: 114px;
  }
  .list_award_gp.award_2025 .badge_20s::after{
    padding: 50px;
  }
}


/* ==========================================================================
.ad
========================================================================== */
.ad .school_fudo{
  background: #fff;
  padding: 45px 30px;
}
.ad .school_fudo h2,
.ad .school_fudo > p{
  width: 58%;
  text-align: left;
}
.ad .school_fudo h2{
  color: #44A1C5;
  padding: 5px 5px 5px 63px;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 15px;
  box-sizing: border-box;
  float: left;
  background: url(/guidance/images/main_school/icn_fudo.svg) left center/56px no-repeat;
}
.ad .school_fudo h2 span.sub{
  font-size: 14px;
  display: block;
}
.ad .school_fudo p.photo{
  float: right;
  width: 340px;
  height: 220px;
  overflow: hidden;
  position: relative;
  margin-bottom: 2em;
}
.ad .school_fudo p.photo img{
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
}
.ad .school_fudo .point p{ color: #44A1C5;}
.ad .school_fudo .point .icn .fill{ fill: #44A1C5;}
.ad .school_fudo .point{
  text-align: left;
  display: flex;
  margin: 60px 0;
}
.ad .school_fudo .point > li{
  width: 96px;
  margin: 0 5px;
  text-align: center;
}
.ad .school_fudo .point .icn{
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ad .school_fudo .point p{
  font-size: 12px;
  text-align: center;
  margin-top: .5em;
  margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
  .ad .school_fudo h2,
  .ad .school_fudo > p{
    width: 100%;
    float: none;
  }
  .ad .school_fudo p.photo{
    float: none;
    margin: 0 auto 20px;
    width: 85%;
  }
  section ul.detail li h2 { font-size: 20px;}
}
@media screen and (max-width: 599px) {
  .ad .school_fudo{ padding: 20px 10px;}
  .ad .school_fudo h2,
  .ad .school_fudo p{ width: 100%;}
  .ad .school_fudo h2{
    font-size: 24px;
    padding-left: 48px;
    padding-bottom: 10px;
    background: url(/guidance/images/main_school/icn_fudo.svg) left center/45px no-repeat;
  }
  .ad .school_fudo h2 span.sub{ font-size: 11px;}
  .ad .school_fudo p.photo{
    height: 100px;
    width: 100%;
  }
  .ad .school_fudo .point{
    margin: 20px 0;
    justify-content: center;
  }
  .ad .school_fudo .point > li{
    width: calc(100% / 5);
    margin: 0;
  }
  .ad .school_fudo .point .icn{ height: 30px;}
  .ad .school_fudo .point .icn svg{ max-height: 100%;}
  .ad .school_fudo .point .online .icn svg{ width: 26px;}
  .ad .school_fudo .point p{ font-size: 10px;}
}
