@charset "utf-8";




/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    基本レイアウト                                */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

#World{
}



/* [重要なお知らせ]プレビュー表示用の背景調整の特殊記述 */
body.PickupNews{
  background-size: cover;
}


/* MainImageArea
--------------------------------------------------- */
.MainImageArea{
  position: relative;
  margin-top: -75px;
  z-index: 1;
}
.MainImageArea::before{
  content: "";
  display: block;
  width:  100%;
  height: 425px;
  position: absolute;
  top: 78px;
  left: -10px;
  z-index: -1;
  background: url(../img/common/decoration/main_image_bg.png) no-repeat 50% 0px;
}
    /* - - .MainImageBlock - - */
    .MainImageBlock{
    }
    .MainImageBlock #MainImage{
      list-style: none;
      width: 1024px;
      margin: 0 auto;
      padding: 0;
      background: url(../img/common/decoration/main_image_shadow.png) no-repeat 50% 50%;
      background-size: cover;
    }

                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より広いディスプレイ用 */
                    html.rsbp-over-bp2 {  }
                    
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .MainImageArea{
                      /*overflow: hidden;*/
                      margin-top: 0;
                    }
                    html.rsbp-under-bp2 .MainImageArea::before{
                      background: url(../img/common/decoration/main_image_bg_sp.png) no-repeat 50% 0px;
                      background-size: contain;
                      top:  2.5vw;
                      left: 0px;
                    }
                    html.rsbp-under-bp2 .MainImageBlock  #MainImage{
                      width: 95%;
                      margin-top: -10px;
                    }
                    html.rsbp-under-bp2 .MainImageBlock  .BlockFooter .PageWidthSetter{
                      width: auto;
                    }


    /* PickUpMessage */
    .MainImageBlock .PickUpMessage{
    }
        .MainImageBlock .PickUpMessage a{
          position: relative;
          display: block;
          max-width: 53.5%;
          margin: -100px 0px 25px auto;
          font-size: 75%;
          box-shadow: 0 2px 4px rgba(0,0,0,0.3);
        }
        .MainImageBlock .PickUpMessage a .Bg{
          position: absolute;
          z-index: 1;
          left: 0px;  top: 0px;
          width: 100%;
          height: 100%;
          display: block;
          background: url(../img/common/banner/koukai_jyuken_bg.png) repeat-x 50% 50%;
          background-size: contain;
          -webkit-transition:  filter .2s;
                  transition:  filter .2s;
        }
        .MainImageBlock .PickUpMessage a:hover{
          text-decoration: none;
        }
        .MainImageBlock .PickUpMessage a:hover .Bg{
          filter: brightness(1.25);
        }
            .MainImageBlock .PickUpMessage .Title{
              position: relative;
              z-index: 5;
            }
            .MainImageBlock .PickUpMessage .Date{
              position: absolute;
              top:   0px;
              right: 0px;
              width: 37.5%;
              min-width: 135px;
              z-index: 5;
              background: #fff;
              margin: 10px;
              height: calc(100% - 20px);
            }
                .MainImageBlock .PickUpMessage .Date .inner{
                  position: relative;
                  width: 100%;
                  height: 100%;
                  padding: 5px;
                }
                .MainImageBlock .PickUpMessage .Date .inner::after{
                  content: "";
                  position: absolute;
                  top: 0px;
                  left: 0px;
                  margin: 4px;
                  border: 1px solid;
                  display: block;
                  width:  calc(100% - 10px);
                  height: calc(100% - 10px);
                }
                .MainImageBlock .PickUpMessage .Date .Heading,
                .MainImageBlock .PickUpMessage .Date .Text{
                  margin: 0;
                  text-align: center;
                  color: rgb(0,48,133);
                }
                .MainImageBlock .PickUpMessage .Date .Heading{
                  background: #f3f3f3;
                  font-size: 125%;
                }
                .MainImageBlock .PickUpMessage .Date .Text{
                  padding: 0.5em;
                  padding-bottom: 0;
                  font-size: 150%;
                  font-weight: 600;
                  line-height: 1.5em;
                }


                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .MainImageBlock .PickUpMessage a{
                      margin: 0;
                      max-width: none;
                      font-size: 2.5vw;
                      /*box-shadow: 0px 1px 0px rgb(20,60,140);*/
                      box-shadow: none;
                    }
                    html.rsbp-under-bp2 .MainImageBlock .PickUpMessage .Date{
                      margin: 5px;
                      height: calc(100% - 10px);
                    }
                    html.rsbp-under-bp2 .MainImageBlock .PickUpMessage .Date .inner::after{
                      margin: 2px;
                      width:  calc(100% - 5px);
                      height: calc(100% - 5px);
                      border-width: 0.5px;
                    }
                    html.rsbp-under-bp2 .MainImageBlock .PickUpMessage .Date .Text{
                      letter-spacing: -0.025em;
                      padding: 0.5em 0.125em 0;
                    }






/* TopPageContents（メッセージ表示枠）
--------------------------------------------------- */
.TopPageContents{
  font-size: 1.4rem;
  line-height: 1.75;
}






/* DefaultBlock (汎用スタイルをトップ用に調整)
--------------------------------------------------- */
.DefaultBlock{
}
    .DefaultBlock .BlockHeader{
      background: none;
    }
    .DefaultBlock .BlockContents{
      padding: 1.0em 25px;
    }
    .DefaultBlock .BlockFooter{
      padding: 0 25px 0.75em;
    }







/* ScheduleList （公開会場受験 実施スケジュール：トップ用に調整）
--------------------------------------------------- */

.JitakuMoshiScheduleTitle{
  padding-top: 2em;
}

.ScheduleList {
}

                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .ScheduleList {
                    }
                    html.rsbp-under-bp2  .ScheduleList-Date .Number{
                      font-size: 180%;
                    }





/* SknTplDecoratedBox （装飾ボックス：トップ用に調整）
--------------------------------------------------- */
.SknTplDecoratedBox.Type1 .DecoratedBox{
  background: red;
  padding: 4px;
  margin: 0 0 1.5em;
}
.SknTplDecoratedBox.Type1 .DecoratedBox > .inner{
  border: 5px double red;
}

                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .SknTplDecoratedBox.Type1 .DecoratedBox{
                      margin: 0 0 1em;
                    }



/* TopPageMessageBox （メッセージボックス：トップ専用）
--------------------------------------------------- */
.TopPageMessageBox{
  width: 100%;
  background: #fff;
  padding: 1.5em 25px;
  margin-bottom: 1.5em;
  border: 1px solid #5af;
}
    .TopPageMessageBox .Heading:first-child{
      font-size: 1.6rem;
      line-height: 1.5;
      text-align: left;
      padding: 0.0625em 0;
      padding-left: 0.5em;
      border-left: 6px solid #336699;
      margin: 0 0 1em;
    }
    .TopPageMessageBox .DefaultText{
      font-size: 87.5%;
      text-align: left;
      line-height: 1.75;
    }

                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .TopPageMessageBox{
                      padding: 1.25em 15px;
                    }
                    html.rsbp-under-bp2 .TopPageMessageBox .Heading{
                      font-size: 1.4rem;
                    }

/* TopPageMessageBox （アコーディオン） */
.TopPageMessageBox.Accordion {
  background-color: rgba(255,255,255,1);
  transition: background-color .2s;
}
    .TopPageMessageBox.Accordion .Heading{
      position: relative;
      padding-right: 2em;
    }
    .TopPageMessageBox.Accordion .Heading .Icon{
      color: #336699;
      transform: scale(0.85) rotate(0deg);
      margin: 0;
      position: absolute;
      right: 0;
      top:  0;
      opacity: 0.5;
    }
    .TopPageMessageBox.Accordion .AccordionChild{
      margin-top: 1.5em;
    }
    
    
    /* 展開時 */
    .TopPageMessageBox.Accordion.Active{
      background-color: rgba(255,255,255,1);
    }
    .TopPageMessageBox.Accordion.Active .Heading .Icon{
      transform: scale(0.85) rotate(180deg);
    }
    
    
    /* hover */
    body.PcView .TopPageMessageBox.Accordion:hover{
      background-color: rgba(50,100,150,0.05);
    }
    body.PcView .TopPageMessageBox.Accordion:hover .Heading .Icon{
      opacity: 1;
    }



/* PickUpBlogBlock（重要なお知らせ表示枠）
--------------------------------------------------- */
.PickUpBlogBlock {
  
}

    .PickUpBlogBlock .BlockHeader{
      
    }

    .PickUpBlogBlock .BlockContents{
      padding: 15px;
    }
        .PickUpBlogBlock .BlockContents .TopPageMessageBox{
          margin-bottom: 0;
        }
        .PickUpBlogBlock .BlockContents .TopPageMessageBox:not(:first-child){
          margin-top: 5px;
        }
        .PickUpBlogBlock .BlockContents .TopPageMessageBox .Heading{
          margin-bottom: 0;
        }

    .PickUpBlogBlock .BlockFooter{
      
    }