@charset "utf-8";


/* --------------------------------------------------- */
/* MainContentsArea, DefaultBlock                      */
/* コンテンツエリア内 共通スタイル                     */
/* --------------------------------------------------- */

.MainContentsArea{
  
}



/* DefaultBlock (ページ・フォーム・ブログ全般の基本スタイル)
--------------------------------------------------- */
.DefaultBlock{
  margin: 0 auto;
  border-top: 2px solid #c72e2e;
  background: #fff;
  box-shadow: 0 0 0.5em rgba(0,0,0,0.1);
  box-shadow: 0 0 0.5em rgba(0,0,0,0.0375);
  margin-bottom: 1.5em;
  font-size: 87.5%;
}
.DefaultBlock:last-child{
  margin-bottom: 0;
}
    /* タイトル部分 */
    .DefaultBlock .BlockHeader{
      padding: 1.0em 25px;
      border-bottom: 1px solid #d9d9d9;
      font-size: 1.7rem;
      background: url(../img/common/decoration/title_bg_type01.png) no-repeat 50% 50%;
      background-size: cover;
    }
        .DefaultBlock .BlockHeader .Heading{
          margin: 0;
          letter-spacing: 0.05em;
        }
            .DefaultBlock .BlockHeader .Heading .Icon{
              display: inline-block;
              color: #c81313;
              transform: scale(2);
              margin-right: 1em;
            }
            .DefaultBlock .BlockHeader .Heading .Label{
            }
                .DefaultBlock .BlockHeader .Heading .Label .ParentTitle,
                .DefaultBlock .BlockHeader .Heading .Label .PageTitle{
                  white-space: nowrap;
                }
                .DefaultBlock .BlockHeader .Heading .Label .ParentTitle{
                  margin-right: 0.5em;
                  font-size: 75%;
                }
                .DefaultBlock .BlockHeader .Heading .Label .ParentTitle:empty{
                  display: none;
                }



    /* コンテンツ部分 */
    .DefaultBlock .BlockContents{
      padding: 50px;
    }

        /* タイトル の マージン調整（装飾の定義はcommon_elements.css） */
        .DefaultBlock .BlockContents > .TitleImage,
        .DefaultBlock .BlockContents > .ScrollingPageParagraph .ParagraphHeader,
        .DefaultBlock .BlockContents > .AutoTabParagraph       .ParagraphHeader{
          margin: -50px -50px 0;
        }
        .DefaultBlock .BlockContents .Heading.Type1{
          margin-left:  calc( -50px - 20px );
        }
        .DefaultBlock .BlockContents .Heading.Type8{
        }
                /* + + + + + レスポンシブ + + + + +  */

                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .DefaultBlock .BlockContents > .TitleImage,
                    html.rsbp-under-bp2 .DefaultBlock .BlockContents > .ScrollingPageParagraph .ParagraphHeader,
                    html.rsbp-under-bp2 .DefaultBlock .BlockContents > .AutoTabParagraph       .ParagraphHeader{
                      margin: -15px -15px 0;
                    }
                    html.rsbp-under-bp2 .DefaultBlock .BlockContents .Heading.Type1{
                      margin-left:  calc( -15px - 5px );
                    }
                    html.rsbp-under-bp2 .DefaultBlock .BlockContents .Heading.Type8:first-child{
                      margin-top:  -15px;
                    }
                    html.rsbp-under-bp2 .DefaultBlock .BlockContents .Heading.Type8{
                      margin-left:  -15px;
                      margin-right: -15px;
                    }




    /* フッタ部分 */
    .DefaultBlock .BlockFooter{
      padding: 50px;
      padding-top: 25px;
    }
    .DefaultBlock .BlockFooter:empty{
      padding: 0;
    }
    

                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より広いディスプレイ用 */
                    html.rsbp-over-bp2 .DefaultBlock{
                    }

                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .DefaultBlock{
                      box-shadow: 0 0 0.5em rgba(0,0,0,0.25);
                    }
                    html.rsbp-under-bp2 .DefaultBlock .BlockHeader,
                    html.rsbp-under-bp2 .DefaultBlock .BlockContents,
                    html.rsbp-under-bp2 .DefaultBlock .BlockFooter{
                      padding: 15px;
                    }
                    html.rsbp-under-bp2 .DefaultBlock .BlockHeader{
                      font-size: 1.5rem;
                    }
                    html.rsbp-under-bp2 .DefaultBlock .BlockHeader .Heading{
                      letter-spacing: 0;
                    }
                    html.rsbp-under-bp2 .DefaultBlock .BlockContents{
                      background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0em, rgba(0,0,0,0) 1em);
                    }
                    html.rsbp-under-bp2 .DefaultBlock .BlockFooter:empty{
                      padding: 0;
                    }


    /* テキスト部品のスタイル （Baserコンテンツ出力部が DefaultBlock内にある前提） */
    
    .DefaultBlock :not(.wrap_heading) > .Heading:first-child,
    .DefaultBlock :not(.wrap_heading) > .Heading[class*="Type"]:first-child{
      margin-top: 0;
    }
    .DefaultBlock p{
      line-height: 2;
      line-height: 1.75;
    }
    .DefaultBlock p.Large{
      font-size: 1.6rem;
    }
    .DefaultBlock p em,
    .DefaultBlock li em,
    .DefaultBlock td em {
      text-shadow: 1px 1px 0px rgba(0,0,0,0.25);
      background: url(../img/common/decoration/stroke_type01.png) repeat-x 50% 90%;
      /*background-size: 15px 2px;*/
      /*
      background: #def;
      padding: 0 0.25em;
      */
    }
    .DefaultBlock strong{
      font-weight: bold;
    }
    .DefaultBlock ul,
    .DefaultBlock ol{
      line-height: 2;
      line-height: 1.75;
      margin-top : 0.75em;
      margin-bottom: 0.75em;
    }
    .DefaultBlock ul:not([class]),
    .DefaultBlock ol:not([class]){
      margin-left: 1.5em;
    }
    





/* ブログプラグイン(お知らせ)用
--------------------------------------------------- */
.BlogBlock{
}


    /* - - 共通 - - */
    .BlogBlock .Category{
      width: 6em;
      color: #fff;
      background: #f2b052;
      text-align: center;
      display: inline-block;
      margin-right: 1em;
      transform: scale(0.9);
    }
    .BlogBlock .Category[data-category="更新情報"]{
      background: #4596e7;
    }
    .BlogBlock .Category[data-category="緊急"]{
      background: #e85f5f;
      letter-spacing: 1em;
      text-indent: 1em;
    }

                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より広いディスプレイ用 */
                    html.rsbp-over-bp2 .BlogBlock{
                    }
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .BlogBlock .Category{
                      font-weight: bold;
                    }




    /* - - 詳細表示用 - - */
    .BlogBlock.Detail{
    }
        .BlogBlock.Detail .BlockHeader{
        }
        .BlogBlock.Detail .BlockFooter{
          padding: 1.0em 25px;
        }
        /* 投稿 */
        .BlogBlock.Detail .BlockContents{
        }
            .BlogBlock.Detail .Post{
            }
                .BlogBlock.Detail .Post .PostHeader{
                  margin: -20px -15px 2em;
                  background: #f0f0f0;
                  padding: 1em 15px;
                }
                    .BlogBlock.Detail .Post .PostHeader .Heading{
                      font-size: 112.5%;
                      margin-bottom: 0.25em;
                    }
                    .BlogBlock.Detail .Post .PostHeader .Meta{
                      font-size: 87.5%;
                    }
                .BlogBlock.Detail .Post .PostContents{
                }


                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より広いディスプレイ用 */
                    html.rsbp-over-bp2 .BlogBlock{
                    }

                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .BlogBlock{
                    }
                    html.rsbp-under-bp2 .BlogBlock .BlockContents{
                      background-image: none;
                    }








/* フォーム用
--------------------------------------------------- */
.FormBlock{
}














/* e-challenge 用
--------------------------------------------------- */
.E-challengeBlock{

}


    /* - - templateをリセット - -  */
    .E-ChallengeTable tbody tr th:not([width]){
      width: auto;
    }
    .E-ChallengeTable tbody tr td,
    .E-ChallengeTable tbody tr th{
      border-color: #ccc;
    }


    /* - - e-challenge（採点入力フォーム）- -  */
    .E-ChallengeTable.ScoreInputTable{
    }
        .E-ChallengeTable.ScoreInputTable th,
        .E-ChallengeTable.ScoreInputTable td{
          padding: 5px;
          text-align: center;
        }
        .E-ChallengeTable.ScoreInputTable thead th:first-child{
          width: 4%;
        }
        .E-ChallengeTable.ScoreInputTable thead th{
          width: 8%;
        }
        .E-ChallengeTable.ScoreInputTable tbody td{
          text-align: center;
          padding: 2px;
          background: #f5f5f5;
        }


        .E-ChallengeTable.ScoreInputTable tbody th,
        .E-ChallengeTable.ScoreInputTable tbody td{
          font-size: 75%;
        }
        .E-ChallengeTable.ScoreInputTable tbody th{
          white-space: nowrap;
        }
        .E-ChallengeTable.ScoreInputTable tbody td .FormItem{
          margin: 0;
        }
        .E-ChallengeTable.ScoreInputTable tbody td .FormItem input,
        .E-ChallengeTable.ScoreInputTable tbody td .FormItem select{
          padding: 0.5em 0.25em;
          margin:  0px;
          width: 100%;
        }
        .E-ChallengeTable.ScoreInputTable tbody td .FormItem input{
          min-width: 5em;
        }
        .E-ChallengeTable.ScoreInputTable tbody td .FormItem select{
          min-width: 5em;
        }
        .E-ChallengeTable.ScoreInputTable tbody td .FormItem .wrap_select::before{
          transform: rotate(135deg) translate3d(0, 0, 0) scale(.75);
        }

                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .E-ChallengeTable.ScoreInputTable tbody td{
                      padding: 5px;
                    }





    /* - - e-challenge（出力結果）タイプ１ - -  */
    .E-ChallengeTable.ResultTable.Type1{
      width: auto;
      margin-left: 0;
    }
        
        
        /* 行 */
        .E-ChallengeTable.ResultTable.Type1 tbody tr.YourResults td{
          color: #00f;
        }
        
        
        /* セル */
        .E-ChallengeTable.ResultTable.Type1 thead th               { background-color: #ddd;  color: inherit;  border-color: #bbb;  min-width: 4em;}
        .E-ChallengeTable.ResultTable.Type1 thead th.English       { background-color: #c1bbda; }
        .E-ChallengeTable.ResultTable.Type1 thead th.Math          { background-color: #a2d9f4; }
        .E-ChallengeTable.ResultTable.Type1 thead th.NationalLang  { background-color: #f7cf82; }
        .E-ChallengeTable.ResultTable.Type1 thead th.Science       { background-color: #c2dd8d; }
        .E-ChallengeTable.ResultTable.Type1 thead th.SocialStudies { background-color: #f7b2d1; }
        
        .E-ChallengeTable.ResultTable.Type1 thead th.Total         { background-color: #d36280;  color: #fff; }
        
        
        .E-ChallengeTable.ResultTable.Type1 th,
        .E-ChallengeTable.ResultTable.Type1 td{
          padding: 2px 5px;
          white-space: nowrap;
          text-align: center;
        }
        .E-ChallengeTable.ResultTable.Type1 tbody th{
          width: 5em;
        }
        .E-ChallengeTable.ResultTable.Type1 tbody td{
          width: 6em;
        }
        .E-ChallengeTable.ResultTable.Type1 tbody td.Total,
        .E-ChallengeTable.ResultTable.Type1 tbody td.Total {
          font-weight: bold;
          background-color: #ffe0e0;
        }




    /* - - e-challenge（出力結果）タイプ２ - -  */
    .E-ChallengeTable.ResultTable.Type2{
    }
    
        /* 行 */
        
        .E-ChallengeTable.ResultTable.Type2 tbody.English       th{ background-color: #c1bbda; }
        .E-ChallengeTable.ResultTable.Type2 tbody.Math          th{ background-color: #a2d9f4; }
        .E-ChallengeTable.ResultTable.Type2 tbody.NationalLang  th{ background-color: #f7cf82; }
        .E-ChallengeTable.ResultTable.Type2 tbody.Science       th{ background-color: #c2dd8d; }
        .E-ChallengeTable.ResultTable.Type2 tbody.SocialStudies th{ background-color: #f7b2d1; }
        
        
        
        
        /* セル */
        .E-ChallengeTable.ResultTable.Type2 th,
        .E-ChallengeTable.ResultTable.Type2 td{
          padding: 2px 5px;
          white-space: nowrap;
          text-align: center;
        }
        .E-ChallengeTable.ResultTable.Type2 tbody th{
          min-width: 4em;
          width: 10%;
        }
        .E-ChallengeTable.ResultTable.Type2 tbody td:nth-of-type(2){
          text-align: left;
        }
        .E-ChallengeTable.ResultTable.Type2 tbody td:nth-of-type(4),
        .E-ChallengeTable.ResultTable.Type2 tbody td:nth-of-type(5) {
          font-weight: bold;
          color: #00f;
        }





/* 高校入試情報 用
--------------------------------------------------- */
.ExamBlock{
}

    .ExamBlock .Heading.Type6{
      font-size: 112.5%!important;
      line-height: 2;
    }
    .SknTplDecoratedBox.Type1 > .DecoratedBox > .inner > .Heading.Gakku:first-child{
      margin: -45px -55px 1.5em;
    }
    .ExamBlock img.GakkuImage{
      width: 400px;
    }
    .ExamBlock .ColumnGroup > * > .inner{
      padding-top: 0px;
    }


                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .ExamBlock{
                      font-size: 100%;
                    }
                    html.rsbp-under-bp2 .ExamBlock .Heading.Type2{
                      font-size: 87.5%!important;
                    }
                    html.rsbp-under-bp2 .ExamBlock .Heading.Type6{
                      font-size: 100%!important;
                    }
                    
                    html.rsbp-under-bp2 .SknTplDecoratedBox.Type1 > .DecoratedBox > .inner > .Heading.Gakku:first-child{
                      margin: -20px -20px 1.5em;
                    }
                            /* １つしかないColumn幅を気持ち程度広く */
                            html.rsbp-under-bp2 .ExamBlock .ColumnGroup > .Column:first-child:last-child{
                              width: 65%!important;
                            }



/* 企業情報 用
--------------------------------------------------- */
.OtherOutlineBlock{
  font-size: 100%;
}
    .OtherOutlineBlock .Heading.Type6{
      font-size: 112.5%!important;
    }
    .OtherOutlineBlock .Heading.Type4{
      margin: 1em 0 0.125em!important;
    }
    .OtherOutlineBlock .Heading.Type6 +  .Heading.Type4{
      margin-top: 0!important;
    }


                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .OtherOutlineBlock .BlockContents{
                    
                    }





/* 個人情報保護方針 用
--------------------------------------------------- */
.OtherPrivacyBlock{
}
    .OtherPrivacyBlock .Heading.Type6{
      font-size: 112.5%!important;
    }
    .OtherPrivacyBlock .Heading.Type4{
      margin: 1em 0 0.125em!important;
    }
    .OtherPrivacyBlock .Heading.Type6 +  .Heading.Type4{
      margin-top: 0!important;
    }


                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .OtherPrivacyBlock .BlockContents{
                    
                    }











