.home-LineupItems {
  padding: 0;
  list-style-type: none;
}

.home-Hero {
  position: relative;
  background-image: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, #fff 100%), url(/images/free/home/bg_hero-sp.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.home-Hero_Inner {
  z-index: 3;
  margin-top: 30px;
  margin-right: 10px;
  margin-left: 10px;
}

.home-Hero_Title {
  max-width: 590px;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 50px;
  margin-left: auto;
}

.home-Hero_BtnBox {
  position: absolute;
  z-index: 2;
  bottom: 0;
  width: 90%;
  margin-bottom: 30px;
  margin-left: 5%;
}

.home-Hero_Btn {
  font-size: 5vw;
  font-weight: bold;
  width: 100%;
  padding: .7em 0;
  text-align: center;
  display: inline-block;
  border: 4px solid #333;
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  color: #333;
  background-color: #ffe700;
}

.home-Hero_Btn:hover, .home-Hero_Btn:focus {
  transform: translateY(-3px);
  box-shadow: 0 3px 0 #333;
}

.home-Hero_FigWrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  margin-top: -20%;
  padding-top: 80%;
}

.home-Hero_FigSp {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 107%;
  padding-top: 173%;
  transform: translateX(-50%);
  background: url(/images/free/home/img_hero-mockup@2x.png) no-repeat center top/100% auto;
}

.home-Hero_FigLogo {
  position: absolute;
  top: 40%;
  left: 50%;
  display: block;
  width: 150px;
  height: 150px;
  transform: translateX(-50%);
  background: url(/images/free/home/img_hero-man.svg) no-repeat center;
}

.home-Features_Container {
  padding-top: 50px;
  padding-bottom: 50px;
}

.home-Features_Title {
  text-align: center;
  font-family: "Kosugi Maru", sans-serif;
  font-size: 7vw;
  font-weight: normal;
}

.home-Features_Title-en {
  font-size: 25.6px;
  font-size: 1.6rem;
  font-family: "Oswald", sans-serif;
  display: block;
  color: #00b500;
  margin-top: 0.7em;
  letter-spacing: 0.1em;
}

.home-Features_BtnBox {
  text-align: center;
}

.home-Features_Btn {
  display: inline-block;
  border: 4px solid #333;
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  color: #333;
  background-color: #fff;
  font-size: 25.6px;
  font-size: 1.6rem;
  padding: 1em;
  width: 100%;
  position: relative;
}

.home-Features_Btn:hover, .home-Features_Btn:focus {
  transform: translateY(-3px);
  box-shadow: 0 3px 0 #333;
}

.home-Features_Btn .icon {
  position: absolute;
  right: 10px;
}

.home-FeaturePoint {
  margin-top: 30px;
  justify-content: center;
}

.home-FeaturePoint-Text {
  margin-bottom: 30px;
  justify-content: center;
}

.home-FeaturePoint_Item {
  line-height: 1.5;
}

.home-FeaturePoint_Img {
  margin-right: auto;
  margin-bottom: 30px;
  margin-left: auto;
}

.home-FeaturePoint_Title {
  text-align: center;
  font-size: 28.8px;
  font-size: 1.8rem;
}

.home-FeaturePoint_Text {
  font-size: 25.6px;
  font-size: 1.6rem;
}

.home-FeaturePoint_Text br {
  display: none;
}

.home-Cases {
  background-color: #eeefed;
}

.home-Cases_Container {
  padding-top: 50px;
  padding-bottom: 50px;
}

.home-Cases_Container .row {
  align-items: center;
  justify-content: center;
}

.home-Cases_Title {
  text-align: center;
  font-family: "Kosugi Maru", sans-serif;
  font-size: 7vw;
  font-weight: normal;
}

.home-Cases_Img {
  display: block;
  height: auto;
  max-width: 100%;
  padding: 10px;
}

.home-Cases_BtnBox {
  text-align: center;
}

.home-Cases_Text {
  margin-top: 50px;
  text-align: center;
  font-size: 16px;
}

.home-Pricing {
  background-color: unset;
}

.home-Pricing_Container {
  padding-top: 50px;
  padding-bottom: 50px;
}

.home-Pricing_Title {
  text-align: center;
  font-family: "Kosugi Maru", sans-serif;
  font-size: 7vw;
  font-weight: normal;
}

.home-Pricing_Title-en {
  font-size: 25.6px;
  font-size: 1.6rem;
  font-family: "Oswald", sans-serif;
  display: block;
  color: #00b500;
  margin-top: 0.7em;
  letter-spacing: 0.1em;
}

.home-Pricing_BtnBox {
  text-align: center;
}

.home-Pricing_Btn {
  display: inline-block;
  border: 4px solid #333;
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  color: #333;
  background-color: #fff;
  font-size: 25.6px;
  font-size: 1.6rem;
  padding: 1em;
  width: 100%;
  position: relative;
}

.home-Pricing_Btn:hover, .home-Pricing_Btn:focus {
  transform: translateY(-3px);
  box-shadow: 0 3px 0 #333;
}

.home-Pricing_Btn .icon {
  position: absolute;
  right: 10px;
}

.home-PricingCourses {
  margin-top: 30px;
  margin-bottom: 30px;
}

.home-PricingPlan_Item {
  margin-right: auto;
  margin-bottom: 30px;
  margin-left: auto;
  padding: 20px 15px;
  background-color: #fff;
  border-radius: 8px;
  border: 4px solid #333;
}

.home-PricingPlan_Title {
  font-weight: normal;
  padding-bottom: .7em;
  text-align: center;
  border-bottom: 1px solid #d0d1cf;
  font-size: 32px;
  font-size: 2.0rem;
}

.home-PricingPlan_Notice {
  position: absolute;
  padding: .4em 3em 1.5em;
  transform: translate(-62px, -62px) rotate(-40deg);
  text-align: center;
  color: #fff;
  background: url(/images/free/svgs/bg_ribbon-slanting.svg) no-repeat center/100%;
  font-size: 22.4px;
  font-size: 1.4rem;
}

.home-PricingPlan_Price {
  font-size: 40px;
  margin-bottom: 30px;
  text-align: center;
  font-family: "Oswald", sans-serif;
}

.home-PricingPlan_Currency {
  margin-right: .3em;
  font-size: 48px;
  font-size: 3.0rem;
}

.home-PricingPlan_Text {
  line-height: 1.7;
  font-size: 25.6px;
  font-size: 1.6rem;
}

.home-PricingPlan_PerMonth {
  font-size: 25.6px;
  font-size: 1.6rem;
}

.home-Lineup {
  background-color: #eeefed;
}

.home-Lineup_Container {
  padding-top: 50px;
  padding-bottom: 50px;
}

.home-Lineup_Title {
  text-align: center;
  font-family: "Kosugi Maru", sans-serif;
  font-size: 7vw;
  font-weight: normal;
}

.home-Lineup_Title-en {
  font-size: 25.6px;
  font-size: 1.6rem;
  font-family: "Oswald", sans-serif;
  display: block;
  color: #00b500;
  margin-top: 0.7em;
  letter-spacing: 0.1em;
}

.home-Lineup_BtnBox {
  text-align: center;
}

.home-Lineup_Btn {
  display: inline-block;
  border: 4px solid #333;
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  color: #333;
  background-color: #fff;
  font-size: 25.6px;
  font-size: 1.6rem;
  padding: 1em;
  width: 100%;
  position: relative;
}

.home-Lineup_Btn:hover, .home-Lineup_Btn:focus {
  transform: translateY(-3px);
  box-shadow: 0 3px 0 #333;
}

.home-Lineup_Btn .icon {
  position: absolute;
  right: 10px;
}

.home-Lineup_Text {
  line-height: 1.5;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 32px;
  font-size: 2.0rem;
}

.home-LineupItems {
  margin-top: 30px;
  margin-bottom: 30px;
}

.home-LineupGames_Img {
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #333;
  margin-bottom: -10vw;
  width: 100%;
  height: 0;
  padding-top: 100%;
  box-sizing: content-box;
  position: relative;
}

.home-LineupGames_Img img {
  border-radius: 50%;
  border: 4px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.home-LineupGames_Item {
  margin-bottom: 3em;
}

.home-LineupGames_Cat {
  display: block;
  font-family: "Oswald", sans-serif;
  text-align: center;
  font-size: 3.5vw;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  line-height: 1;
  padding-top: 1.5vw;
  padding-bottom: 8vw;
  position: relative;
}

.home-LineupGames_Cat-free {
  background-image: url(/images/free/svgs/bg_ribbon-green.svg);
  color: #fff;
}

.home-LineupGames_Cat-premium {
  background-image: url(/images/free/svgs/bg_ribbon-yellow.svg);
}

.home-LineupGames_Cat-soon {
  background-image: url(/images/free/svgs/bg_ribbon-gray.svg);
  color: #fff;
}

.home-LineupGames_Name {
  font-size: 28.8px;
  font-size: 1.8rem;
  text-align: center;
  display: block;
  padding-top: 65px;
}

.home-Inquiry {
  background-color: unset;
}

.home-Inquiry_Container {
  padding-top: 50px;
  padding-bottom: 50px;
}

.home-Inquiry_Title {
  text-align: center;
  font-family: "Kosugi Maru", sans-serif;
  font-size: 7vw;
  font-weight: normal;
}

.home-Inquiry_Title-en {
  font-size: 25.6px;
  font-size: 1.6rem;
  font-family: "Oswald", sans-serif;
  display: block;
  color: #00b500;
  margin-top: 0.7em;
  letter-spacing: 0.1em;
}

.home-Inquiry_Text {
  line-height: 1.5;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 32px;
  font-size: 2.0rem;
}

.home-Inquiry_Form {
  padding: 20px 15px;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0px 0px 30px #d5d6d4;
}

.home-Form_Label {
  display: block;
  margin-bottom: .3em;
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: bold;
}

.home-Form_Input {
  width: 100%;
  margin-bottom: 1em;
  padding: .5em;
  border: 3px solid #333;
  border-radius: 8px;
  font-size: 28.8px;
  font-size: 1.8rem;
}

.home-Form_Input:focus {
  background-color: #fffe7b;
}

.home-Form_Select {
  width: 100%;
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
}

.home-Form_Select:before {
  position: absolute;
  z-index: 1;
  top: 12px;
  right: 10px;
  display: block;
  width: 20px;
  height: 20px;
  content: '';
  pointer-events: none;
  background: url(/images/free/svgs/ico_pulldown.svg) no-repeat center/100% auto;
}

.home-Form_Select select {
  width: 100%;
  height: 47px;
  padding: .5em;
  text-overflow: '';
  color: #333;
  border: 3px solid #333;
  border-radius: 8px;
  background-color: #fff;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 28.8px;
  font-size: 1.8rem;
}

.home-Form_Select select:focus {
  background-color: #fffe7b;
}

.home-Form_Select select option {
  color: #333;
  background-color: #fff;
}

.home-Form_Select select::-ms-expand {
  display: none;
}

.home-Form_Check input[type='checkbox'] {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.home-Form_Check input[type='checkbox']:focus + .sw-Form_CheckIn:before {
  background-color: #fffe7b;
}

.home-Form_Check input[type='checkbox']:checked + .sw-Form_CheckIn {
  padding-left: 2em;
}

.home-Form_Check input[type='checkbox']:checked + .sw-Form_CheckIn:after {
  position: absolute;
  top: -3px;
  left: 5px;
  display: block;
  width: 7px;
  height: 15px;
  content: '';
  transform: rotate(45deg);
  border-right: 5px solid #00b500;
  border-bottom: 5px solid #00b500;
}

.home-Form_Link {
  color: #00b500;
}

.home-Form_Link:hover, .home-Form_Link:focus {
  text-decoration: none;
}

.home-Form_SubmitBox {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
}

.home-Form_SubmitBtn {
  width: 100%;
  padding: .8em 0;
  text-align: center;
  display: inline-block;
  border: 4px solid #333;
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  color: #fff;
  background-color: #00b500;
  font-size: 28.8px;
  font-size: 1.8rem;
}

.home-Form_SubmitBtn:hover, .home-Form_SubmitBtn:focus {
  transform: translateY(-3px);
  box-shadow: 0 3px 0 #333;
}

.sw-Form_CheckIn {
  position: relative;
  display: inline-block;
  padding-bottom: .3em;
  padding-left: 2em;
  font-size: 25.6px;
  font-size: 1.6rem;
}

.sw-Form_CheckIn:before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 16px;
  height: 16px;
  content: '';
  vertical-align: middle;
  border: 3px solid #333;
  border-radius: .2em;
  background-color: #fff;
}

@media screen and (min-width: 768px) {

  .home-Hero {
    background-size: cover;
  }

  .home-Hero_Title {
    margin-bottom: 70px;
  }

  .home-Hero_BtnBox {
    width: 60%;
    margin-bottom: 50px;
    margin-left: 20%;
  }

  .home-Hero_Btn {
    font-size: 3.5vw;
  }

  .home-Hero_FigLogo {
    width: 250px;
    height: 250px;
  }

  .home-Features_Title {
    font-size: 4.5rem;
  }

  .home-Features_Btn {
    width: 380px;
    font-size: 1.8rem;
  }

  .home-FeaturePoint {
    margin-top: 40px;
  }

  .home-FeaturePoint-Text {
    margin-bottom: 40px;
  }

  .home-FeaturePoint_Item {
    line-height: 1.7;
  }

  .home-FeaturePoint_Title {
    margin-bottom: .5em;
    font-size: 2.4rem;
  }

  .home-Cases_Title {
    font-size: 4.5rem;
  }

  .home-Pricing_Title {
    font-size: 4.5rem;
  }


  .home-Pricing_Btn {
    width: 380px;
    font-size: 1.8rem;
  }

  .home-PricingCourses {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .home-PricingPlan_Item {
    min-height: 100%;
  }

  .home-PricingPlan_Title, .home-PricingPlan_Text {
    font-size: 2.4rem;
  }

  .home-PricingPlan_Price {
    font-size: 58px;
  }

  .home-PricingPlan_Currency {
    font-size: 4.0rem;
  }

  .home-Lineup_Title {
    font-size: 4.5rem;
  }

  .home-Lineup_Btn {
    width: 380px;
    font-size: 1.8rem;
  }

  .home-Lineup_Text {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .home-LineupItems {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .home-LineupGames_Img {
    margin-bottom: -6vw;
  }

  .home-LineupGames_Cat {
    font-size: 1.7vw;
    padding-top: 1vw;
    padding-bottom: 4.5vw;
  }

  .home-Inquiry_Title {
    font-size: 4.5rem;
  }

  .home-Inquiry_Text {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .home-Inquiry_Form {
    padding: 60px 60px 1px;
  }

  .home-Form_Label {
    font-size: 1.8rem;
  }

  .home-Form_SubmitBox {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .home-Form_SubmitBtn {
    width: 380px;
  }
}

@media screen and (min-width: 992px) {

  .home-Hero {
    display: -ms-flexbox;
    display: flex;
    max-height: 650px;
    background-image: url(/images/free/home/bg_hero-pc.jpg);
    background-position: center;
    background-size: cover;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
  }

  .home-Hero_Inner {
    width: 700px;
    margin: 0;
  }

  .home-Hero_BtnBox {
    position: relative;
  }

  .home-Hero_Btn {
    padding: .5em 0;
    font-size: 2.8rem;
  }

  .home-Hero_FigWrap {
    overflow: none;
    width: 398px;
    height: 650px;
    margin-top: 0;
    margin-left: 70px;
    padding-top: 0;
    padding-top: 0;
  }

  .home-Hero_FigSp {
    position: relative;
    width: 398px;
    height: 650px;
    margin-top: -20px;
  }

  .home-Hero_FigLogo {
    top: 35%;
    width: 185px;
    height: 185px;
  }

  .home-Features_Container {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .home-FeaturePoint {
    margin-top: 60px;
  }

  .home-FeaturePoint-Text {
    margin-bottom: 60px;
  }

  .home-FeaturePoint_Img {
    width: 160px;
    height: 160px;
    margin-bottom: 40px;
  }

  .home-FeaturePoint_Text {
    text-align: center;
  }

  .home-FeaturePoint_Text br {
    display: block;
  }

  .home-Cases_Container {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .home-Pricing_Container {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .home-PricingCourses {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .home-PricingPlan_Item {
    margin-bottom: 0;
  }

  .home-PricingPlan_Notice {
    transform: translate(-62px, -72px) rotate(-40deg);
  }

  .home-Lineup_Container {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .home-LineupItems {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .home-LineupGames_Img {
    width: 226px;
    height: 226px;
    padding-top: 0;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -40px;
  }

  .home-LineupGames_Img img {
    border-width: 7px;
    position: relative;
  }

  .home-LineupGames_Cat {
    width: 170px;
    font-size: 1.4rem;
    margin-left: auto;
    margin-right: auto;
    padding-top: 5px;
    padding-bottom: 35px;
    margin-bottom: 10px;
  }

  .home-Inquiry_Container {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .home-Inquiry_Form {
    padding: 60px 150px 1px;
  }

  .home-Form_SubmitBox {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}
