@charset "UTF-8";
/* 文字 */
.top-course-list>li p{
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1px;
  font-weight: bold;
  line-height: 1.3!important;
}

.top-course-list>li:nth-child(2) p{
    bottom: 7em;
}

.p01_st .img02{
  width: 636px;
  height: auto;
}


/* PC表示ボタン */
#toPcBtn{
  position: fixed;
  top: 117px;
  right: 0;
  width: 2.2em;
  background-color:rgba(17, 38, 109, 0.8);
  color: #fff;
  line-height: 1.2em;
  padding: 0.8em 0.6em;
  font-size: 1rem;
  z-index: 1;
  box-shadow: 0px 0px 4px 1px #ffffff;
}

#toPcBtn:before{
  content:"";
  display: block;
  width: 5px;
  position: absolute;
  height: 100%;
  right: 100%;
  top: 0;
  display: none;
}

#toPcBtn:after{
  content: "▶";
  font-size: 10em;
  position: absolute;
  left: -4px;
  top: 50%;
  transform: scale(0.3, 2);
}

header,footer{
  min-width: 1000px;
}

.main-pager a{
  color: #fff;
  text-decoration: none;
}

.kome{
  margin-left: -1em;
}

.kome2{
  color: #ff0000;
  margin-left: -1em;
}

.hasKome{
  padding-left: 1em;
  box-sizing: border-box;
}

.dib{
  display: inline-block;
}

#course01 .main .box03 a{
  width: 140px;
}

.courseTable{
  margin: 0 55px 20px;
  font-size: 17px;
  font-family: serif;
  text-align: left;
  color: #010b5a;
  border-top: solid 2px #020d5a;
}

.courseTable table{
  width: 100%;
}

.courseTable table .red{
  color: #d90101;
}

.courseTable table .gold{
  font-size:1.6em;
  color: #febe00;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #CBB400;
}

.courseTable table th,
.courseTable table td{
  border-bottom: dotted 1px #ccc;
  line-height: 36px;
  vertical-align: bottom;
}

.courseTable table th{
  padding-left: 52px;
  background: url(/images/icon-ticket.png) no-repeat 12px 50% / auto 73%;
  width: 230px;
  padding-top: 6px;
  vertical-align: baseline;
}

.courseTable table th.ninkiLogo:after{
  content: "";
  display: inline-block;
  background: url(/images/icon-ninki.png) no-repeat 0 50% / auto 90%;
  width: 40px;
  height: 34px;
  margin-left: 10px;
  vertical-align: top;
}

.courseTable table th.eventLogo:after{
  content: "";
  display: inline-block;
  background: url(/images/icon-event.png) no-repeat 0 50% / auto 90%;
  width: 50px;
  height: 34px;
  margin-left: 10px;
  vertical-align: top;
}

.courseTable tr.ninkiBg{
  background: url(/images/bg-price.gif);
}

.courseTable table td{

}

.courseTable table td.ctr{
  width: 214px;
  font-size: 1.4em;
  color: #000;
  position: relative;
}

.courseTable table td.ctr.act:before{
  content:"";
  position: absolute;
  left :0;
  top: 50%;
  width: 8.5em;
  border: solid 1px #d90101;
  transform: translate(0, -0.1em);
}

.courseTable table td.ctr.act:after{
  content:"";
  position: absolute;
  left :0;
  top: 50%;
  width: 8.5em;
  border: solid 1px #d90101;
  transform: translate(0, 0.1em);
}

.courseTable table td.ctr.act2:before{
  content:"";
  position: absolute;
  left :0;
  top: 50%;
  width: 8.5em;
  border: solid 1px #EDD60E;
  transform: translate(0, -0.1em);
}

.courseTable table td.ctr.act2:after{
  content:"";
  position: absolute;
  left :0;
  top: 50%;
  width: 8.5em;
  border: solid 1px #EDD60E;
  transform: translate(0, 0.1em);
}

.courseTable table td.price{
  font-weight: bold;
  font-size: 1.4em;
  padding-left: 30px;
  padding-top: 4px;
  background: url(/images/icon-arror-blue.png) no-repeat 0 50% / auto 56%;
}

.courseTable table td.ctr.act .tsujo{
  font-size: 0.8em;
}

.courseTable table td.ctr.act2 .tsujo{
  font-size: 0.8em;
}

.courseTable table td .zeikomi{
  font-size: 0.5em;
}

.p01_st{
  /* font-family: serif; */
  font-family: sans-serif;
  color: #d90101;
  font-size: 28px;
  margin-top: 0.3em;
}

.p01_st .price{
  font-size: 36px;
}

.p01_st .yen{
  margin-left: 0.3em;
}

.p01_st .kaisuu{
  /* font-weight: normal; */
}

/* payment */
#payment .main .box03{
  background: url(../images/payment-img07.png) no-repeat center center / 100% 100%;
  height: auto;
}

.main.access div.container.access-address div{
  width: 48%;
}

#payment .main .box03 .p08{
  margin-bottom: 10px;
}

#payment .main .box03 h5{
  margin-top: 10px;
}

#campaign .main .box01,
#campaign .main .box02{
  font-weight: bold;
}

.campaign-form .form-bottom .yobotr{
  margin-bottom: 20px;
}

.campaign-form .form-bottom .advtr>div:last-child {
    padding-left: 5px;
    min-height: 40px;
}

.campaign-form .form-bottom .advtr>div:last-child>span {
    display: inline-block;
    position: relative;
}

.campaign-form .form-bottom .advtr input{
  display: inline-block;
  width: 28px;
  height: 28px;
  font-size: 28px;
  position: relative;
}

.campaign-form .form-bottom .advtr>div:last-child>span label {
    position: absolute;
    left: 0;
    top: 0;
    width: 28px;
    height: 28px;
    background: #fff;
    border-radius: 50%;
    display: inline-block;
    border: 1px solid #494949;
    cursor: pointer;
}

.campaign-form .form-bottom .advtr>div:last-child>span>span {
    position: relative;
    top: -7px;
    margin-right: 20px;
    font-size: 14px;
    font-weight: 700;
    color: #000;
}

.campaign-form .form-bottom .advtr>div:last-child>span input[type=radio]:checked+label::after{
    position: absolute;
    content: '';
    top: 4px;
    left: 4px;
    width: 18px;
    height: 18px;
    background: #3498db;
    border-radius: 100%;
}

.campaign-form .form-middle .formtr>div:last-child {
  width: auto;
  max-width: 547px;
}

#reason .p01.kazari{
  background: url(/sp/images/kazariL.jpg) no-repeat 15px 50% / 25px 80%,url(/sp/images/kazariR.jpg) no-repeat calc(100% - 15px) 50% / 25px 80%;
  padding: 0 60px;
  font-size: 1.15em;
}
