@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

html,body{
  overflow-x: hidden;
  margin:0;
  padding: 0;
  font-family: 'Noto Sans Japanese','YuGothic','Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', 'Meiryo','ＭＳ ゴシック',sans-serif;
  background: none;
}

img{
  border:none;
}

.pc_none{
  display: none !important;
}

header,footer{
  width: 80%;
  min-height: 1em;
  margin:0 10%;
  padding: 0;
}

header{
  width:100%;
  height:14vw;
  margin: 0 auto;
  position: fixed;
  height:auto;
  background:rgba(255,255,255,1);
  box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
  z-index:100;
}

footer{
  width:100%;
  margin:0 0;
  padding:1em 0;
  background:rgb(0, 108, 182);
  color:#fff;
}

footer p{
  font-size:3vw;
  padding-right:1em;
}

#footerInner{
  width:100vw;
  min-height:20vw;
  list-style:
  margin:0;
  padding:0;
  text-align: left;
  font-size: 3.5vw;
}

#footerInner li{
  margin:0;
  padding:0 0 0 2em;
}

#footerInner li a{
  color:#fff;
  text-decoration: none;
}

#footerInner li a:hover{
  text-decoration: underline;
}

h1{
  width:90%;
  height:14vw;
  margin:0;
  padding:0;
  vertical-align: middle;
  display: block;
  /*background:url('../images/Logo.png') no-repeat top left;*/
  background-size: contain;
}

h1 a{
  width:100%;
  height:100%;
  padding:0;
  cursor: pointer;
  text-indent: -9999px;
}

label{
  cursor: pointer !important;
}

.sp_only{
  display: block;
  text-align: center;
  font-weight:bold;
}

.AlignCenter{text-align: center !important;}
.AlignRight{text-align: right !important;}

.w100{width:100%;}

/**Grobal Menu*******************************************/
#LoginMsg {
  position: absolute;
  margin: -4vw 0 0vw 49vw;
  width: 19vw;
  height: 5vw;
  line-height: 5vw;
  display: block;
  background: none;
  background-size: contain;
  z-index: 101;
  line-height: 1;
  padding-top: 5vw;
  text-align: right;
}

#LoginMsg p:first-child{
  font-size: 3vw;
  padding: 0;
  width: 26vw;
  margin: 0;
}

#btn_black {
  position: absolute;
  margin: -11vw 0 0 77vw;
  z-index: 110;
  height: 11vw;
}
#btn_logout {
  position: absolute;
  margin: -11vw 0 0 87.5vw;
  z-index: 110;
  height: 11vw;
}

#LoginBtn{
  position: fixed;
  right:14vw;
  top:0;
  width:14vw;
  height:14vw;
  display: block;
  background:rgb(179,179,179) url('../images/LoginBtn.png') no-repeat top left;
  background-size: contain;
  z-index:101;
}

#LoginBtn:hover{
  background:url('../images/LoginBtn2.png') no-repeat top left;
  background-size: contain;
}

#LoginBtn a{
  display: block;
  width:100%;
  height: 100%;
  text-indent: -9999px;
  overflow: hidden;
}

#LogoutBtn{
  position: fixed;
  right:14vw;
  top:0;
  width:14vw;
  height:14vw;
  display: block;
  background:rgb(179,179,179) url('../images/LoginOutBtn.png') no-repeat top left;
  background-size: contain;
  z-index:101;
}

#LogoutBtn:hover{
  opacity:0.75;
}

#LogoutBtn a{
  display: block;
  width:100%;
  height: 100%;
  text-indent: -9999px;
  overflow: hidden;
}


#menu_sp{
  width:42vw;
  position: fixed;
  right:0;
  top:0;
  background:rgba(255,255,255,0);
  z-index:102;
}

#menu_sp label{
  position: absolute;
  right:0;
  top:0;
  width:14vw;
  height:14vw;
  display: block;
  background:rgba(0, 0, 102, 1) url('../images/MenuBtn1.png') no-repeat top left;
  background-size: contain;
  font-size: 1.5vw;
}

#menu_sp a{
  position: absolute;
  right:0;
  top:19px;
  width:17vw;
  height:14vw;
  display: block;
  background-size: contain;
  font-size: 6.5vw;
  color: rgb(0, 108, 182);
  font-weight: bold;
  font-family: 'Noto Sans Japanese','YuGothic','Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', 'Meiryo','ＭＳ ゴシック',sans-serif;
}







#menu_sp input{
  display: none;
}

#menu_sp input:checked + label{
  position: absolute;
  right:0;
  top:0;
  width:14vw;
  height:14vw;
  display: block;
  background:rgba(0, 0, 102, 1) url('../images/MenuBtn2.png') no-repeat top left;
  background-size: contain;
}

/*
animation-name: anime1;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;

@keyframes anime1 {
0% {width: 10vw; height: 10vw;}
100% {width: 5vw; height: 5vw;}
}
*/
#menu_sp input:checked + label + #LinkPages{
  display: block;
}

#LinkPages{
  display: none;
  clear:none;
  width:100%;
  margin: 14vw 0 0 0;
  padding:0;
  border-top:1px solid #fff;
}

#LinkPages li{
  width:100%;
  display: table;
  margin:0 0 0 0;
  padding:0em;
  vertical-align:bottom;
  background: rgba(179,179,179,1);
  font-weight: bold;
}

#LinkPages li:first-child a{
  padding:0.5em 4% !important;
}

#LinkPages a{
  width:88%;
  display: table-cell;
  overflow:hidden;
  vertical-align: middle;
  padding:0.5em 10%;
  text-decoration: none;
  border-bottom:1px solid #fff;
  color:#fff;
}

.small_txt{
  font-size:1vw !important;
}

/*to top***********************************************/
#pageTop{
  display: block;
  width:7vw;
  height:6vw;
  position:fixed;
  right:0;
  bottom:0;
  z-index:500;
  background:rgba(255,255,255, 0.75);
  border:3px solid  rgba(0, 108, 182,0.75);
  border-radius: 100%;
  margin-right:2vw;
  margin-bottom:2vw;
  overflow: hidden;
  padding:1vw;
  text-align:center;
  cursor: pointer;
}

#pageTop a{
  display:block;
  position: relative;
  text-decoration: none;
  width:1vw;
  height:1vw;
  border-right:3px solid rgba(0, 108, 182,0.75);
  border-bottom:3px solid rgba(0, 108, 182,0.75);
   transform: rotate(-135deg);
   padding:1vw ;
   margin:2vw auto 0 auto;
}

#pageTop p{
  display: none;
}

/******************************************/
#ContentPage #pageTop{
  bottom:10vh !important;
}

#ContentPage footer{
  margin-bottom:8vh !important;
}




#ToTest{
width:49%;
height:8vh;
right:0;
bottom:0;
z-index:500;
background:rgba(0, 108, 182);
margin:0;
overflow: hidden;
padding:1vh 0;
text-align:center;
cursor: pointer;
vertical-align: middle;
overflow:hidden;
float: right;
}

#ToTest a{
  width:100%;
  height:7vh;
display:block;
position: relative;
text-decoration: none;
/* padding-top:2vh; */
font-size: 3.5vh;
color:rgb(0, 108, 182);
font-weight: bold;
line-height:7vh;
}


#ToAnime{
  width:50%;
  height:8vh;
  right:0;
  bottom:0;
  z-index:500;
  background:rgba(0, 108, 182);
  overflow: hidden;
  padding:1vh 0;
  text-align:center;
  cursor: pointer;
  vertical-align: middle;
  overflow:hidden;
  border-right:2px solid rgb(0, 108, 182);
  float: left;
  }
  
  #ToAnime a{
  width:100%;
  height: 7vh;
  display:block;
  position: relative;
  text-decoration: none;
  /* padding-top:2vh; */
  font-size: 3.5vh;
  color:rgb(0, 108, 182);
  font-weight: bold;
  line-height:7vh;
  }










/*****************************************/
#CatchReason{
  width:94%;
  margin:-0.5em 0 0 0 ;
  padding:3%;
  background:rgb(230, 230, 230);
}

#TopCatchTitle{
  width:96%;
  padding:1.5em 2%;
  text-align: center;
  background:rgb(0, 108, 182);
  color: #fff;
  font-size: 4.5vw;
  line-height: 0;
}

#TopCatchTitle::before{
  border:none;
}

#CatchReason h4{
  margin:0;
  padding:0;
  font-size:5vw;
  color:rgb(0, 108, 182);
  font-weight:bold;
  margin-bottom:1em;
}

#CatchReason p{
  margin:0;
  padding:0;
  font-size:4.5vw;
}

#CatchReasonBox1,
#CatchReasonBox2,
#CatchReasonBox3,
#CatchReasonBox4{
  width:73%;
  margin:0 0 1em 0;
  padding:1em 3% 1em 24%;
}

#CatchReasonBox1{
  background:#fff url('../images/catch/Catch_reason_icon1.png') no-repeat;
  background-size:15vw 15vw;
  background-position: 4vw 4vw;
}

#CatchReasonBox2{
  background:#fff url('../images/catch/Catch_reason_icon2.png') no-repeat;
  background-size:15vw 15vw;
  background-position: 4vw 4vw;
}

#CatchReasonBox3{
  background:#fff url('../images/catch/Catch_reason_icon3.png') no-repeat;
  background-size:15vw 15vw;
  background-position: 4vw 4vw;
}

#CatchReasonBox4{
  background:#fff url('../images/catch/Catch_reason_icon4.png') no-repeat;
  background-size:15vw 15vw;
  background-position: 4vw 4vw;
}

.CourseBox{
  width:99.95%;
  clear: both;
  border:4px solid rgb(0, 108, 182);
  margin-bottom:2em;
}

.CourseTitle{
  width:96%;
  padding:1em 2%;
  color: #fff;
  background: rgb(0, 108, 182)url('../images/ToggleOn.png?v1') no-repeat right;
  background-size:contain;
  font-weight: bold;
  cursor:pointer;
  text-align: left;
}

.toggleOff{
  background: rgb(0, 108, 182)url('../images/ToggleOff.png?v1') no-repeat right;
  background-size:contain;
}

.CourseBoxTable{
  width:90%;
  margin:0 5%;
  padding:1.5em 0;
  border-collapse: collapse;
  text-align: left;
}

.chk_attend{
  width:10%;
}

.chk_completion{
  width:10%;
}

.CourseBoxTable dt{
  margin:0 0 0.5em 0;
  padding:1vw 0vw 1vw 6vw;
  background:url('../images/CourseIcon.png') no-repeat left;
  background-size:5vw 4vw;
  border-bottom:4px solid rgb(0, 108, 182);
  vertical-align: middle;
  color:rgb(0, 108, 182);
}


.CourseBoxTable dd{
  margin:0 0 0.5em 0;
  padding:1vw 0vw 1vw 0vw;
  vertical-align: middle;
}
/*******************************************************/
#Loading_S{
  display: flex;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255);
  text-align: center;
}

#LoadingImgs{
  width:10%;
  position: relative;
  align-self: center;
  vertical-align: middle;
  margin: 0 auto;
  /*background: rgba(255, 0, 0, 0.5);*/
}

#LoadingLogo{
  width:60%;
  display: block;
  margin: 0 auto;
}


#LoadingChar{
  width:69%;
  display: block;
  margin: 8px auto;
}
/*
animation-name: anime1;
animation-duration: 5s;
transition-timing-function:ease-in-out;
animation-iteration-count: 1;
-moz-transition-delay:30s;
-webkit-transition-delay:30s;
-o-transition-delay:30s;
-ms-transition-delay:30s;
transition-delay:30s;
*/

/******************************************************/
#container{
  width:100%;
  background:#fff;
  margin:0;
  padding:14vw 0 0 0;
}

#TopIntro{
  width:100vw;
  margin:0;
  padding:0;
  position:relative;
}

#TopIntro h2{
  position:absolute;
  font-size:7vw;
  color:rgba(0, 0, 102, 1);
  background:none;
  top:2vw;
  left:5vw;
  z-index:50;
  letter-spacing:0.05em;
  text-align: left;
  text-shadow: 2px 2px 0px rgba(255,255,255,0.75);
}

#TopIntro #TopBgImg{
  opacity: 0.6;
}

#TopIntro img{
  width:100%;
  margin: 0;
  padding:0;
}

#TopPcImg{
  display: none;
}

#FadeInList{
  position:absolute;
  font-size:4vw;
  color:rgba(0, 0, 102, 1);
  margin-top:45vw;
  left:4vw;
  z-index:52;
  list-style:none;
  padding:0;
}

#TopIntro li{
  display:none;
}

#TopIntro ul img{
  width:72%;
}

#TopCourse{
  width:86%;
  margin-top:6vw;
  padding:20vw 4% 5vw 4%;
  background: url('../images/TopCourseCatch.png') no-repeat top center;
  background-size: contain;
}

#TopCourseSelect{
  width:96%;
  margin:0 auto;
  padding:0;
  text-align: center;
}

#TopCourse #TopCourseSelect ul{
  position: static;
  margin: 0;
  padding: 0;
}

#TopCourseSelect li{
  width:34vw;
  min-height:30vw;
  display: inline-block;
}

#TopCourseSelect li:first-child{
    margin-right:6%;
}

#TopCourseSelect li img{
  width:100%;
}

#Login{
  width:90%;
  margin:4vw auto;
  text-align:left;
  font-size:2.5vw;
  border:0px double rgba(0, 108, 182,0.75);
  /*border-radius: 1vw;*/
  background: #fff;
  padding:0;
  height: 180vw;
}


#LoginForm table{
  margin:0 auto;
  border-collapse: collapse;
  font-size:2.5vw;
}

#LoginForm th,
#LoginForm td{
  padding:1vw;
}
#LoginForm li{
  list-style: none;
  font-size: 5vw;
  color:rgb(0, 108, 182);
}

#LoginForm input[type=text],
#LoginForm input[type=password]{
    padding:1vw;
    border: 2px solid rgb(0, 108, 182);
    border-radius: 5px;
    height: 8vw;
    font-size: 8vw;
}
#LoginForm input[type=submit]{
  display: block;
  margin: 10vw 0 0 18vw;
  padding: 3vw 3vw !important;
  border-radius: 60px;
  border: none;
  background: rgb(0, 108, 182);
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  font-size: 5vw;
  width: 40vw;
}

#LoginForm input[type=submit]:hover{
  background:rgba(0, 108, 182,0.75);
}

.Alert,
#ChkPass{
  color:rgb(200,0,0);
  font-weight:bold;
  padding:0.5em 0;
  display:none;
  text-align: center !important;
  font-size: 3.75vw;
}

.ReqIcon{
  display: inline-block;
  font-size: 2.5vw;
  padding:0.1em 0.5em;
  background:rgba(204,0,0,1);
  color:#fff;
  margin-left:2vw;
  text-align:center;
  border-radius: 0.5em;
  line-height: 1.65;
}

.OptIcon{
  display: inline-block;
  font-size: 2.5vw;
  padding:0.1em 0.5em;
  background:rgba(240,240,240,1);
  color:#333;
  margin-left:2vw;
  text-align:center;
  border-radius: 0.5em;
  line-height: 1.65;
}

.helps{
  margin:0.5em auto;
  font-size:2.5vw;
}
/*******************************************/
#Reset{
  width:90%;
  margin:4vw auto;
  font-size:2.5vw;
  border:0px double rgba(0, 108, 182,0.75);
  border-radius: 1vw;
  background: #fff;
  padding:2vw 0;
  text-align:center;
}


#ResetForm table{
  width:100%;
  margin:0 auto;
  border-collapse: collapse;
  font-size:3.5vw;
  text-align:left;
}

#ResetForm th{
  display: block;
  margin-bottom:0.5em;
  color: rgb(0, 108, 182);
}

#ResetForm td{
  display: block;
  margin-bottom:1em;
  padding-bottom:1em;
  border-bottom:2px solid rgba(200,200,200, 0.5);
}

#ResetForm input{
  padding:1vw;
}

#ResetForm #reset_sei,
#ResetForm #reset_mei{
  width:35% !important;
}

#ResetForm input[type=submit]{
  display: block;
  margin:3vw auto 0 auto;
  padding:1vw 2vw;
  border-radius:2vw;
  border:none;
  background:rgb(0, 108, 182);
  color:#fff;
  font-weight:bold;
  cursor:pointer;
  font-size:4vw;
}

#ResetForm input[type=submit]:hover{
  background:rgba(0, 108, 182,0.75);
}

#tr_a,
#tr_b{
  display: none;
}

/*******************************************/
article{
  width:100%;
  margin:0;
  font-size:3.3vw;
}

#Chars{
  width:100%;
  margin:0;
  font-size:3.3vw;
}

h2{
  text-align: center;
  padding:6.6vw 0;
  background:rgb(230,230,230);
  color:rgb(0, 108, 182);
  margin:0 auto;
  font-size:5vw;
}

section{
  width:92%;
  margin:0 4%;
}

h3{
  position: relative;
  color:rgb(0, 108, 182);
  padding-left:3vw;
  padding-right:3vw;
  padding-bottom:0.5em;
  /*border-bottom: 6px double rgb(0, 108, 182);*/
  font-size:4vw;
}
/*
h3::before{
  width:2vw;
  height:1vw;
  display: block;
  content: '';
  position: absolute;
  top: 1.25vw;
  left: 0;
  border-left:0.5vw solid rgb(204,0,0);
  border-bottom:0.5vw solid rgb(204,0,0);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
*/
video{
  width:99%;
  display: block;
  margin:0 auto;
}


/********************************************/
#QApage section{
  padding:0.5em 0;
}

#to_qa_data{
  padding:0.5em 0.5em 0.5em 2em;
  margin:0.5em  0;
  border:2px solid #666;
  border-radius: 0.5em;
  list-style: circle;
}

#to_qa_data li{
  margin-bottom:0.25em;
}

#to_qa_data li a{
  text-decoration:none;
}

#qa_list{
  margin:1em 0;
  padding: 0;
  list-style: none;
  word-break: break-all;
}

.qa_q{
  position: relative;
  padding-left:8vw;
  background:none;
  margin-bottom:1.25em;
  font-weight: bold;
  cursor:pointer;
}

.qa_q::before{
  width:2vw;
  height:1vw;
  display: block;
  content: 'Ｑ';
  position: absolute;
  top:-2vw;
  left: 0;
  font-weight:bold;
  color:rgba(204, 0, 0, 1);
  font-size:6vw;
}

.qa_a{
  display: none;
  position: relative;
  margin-bottom:1.25em;
  padding-left:8vw;
  padding-bottom:1em;
  background:none;
  border-bottom:2px dotted rgba(0, 0, 0, 0.1);
}

.qa_a::before{
  width:2vw;
  height:1vw;
  display: block;
  content: 'Ａ';
  position: absolute;
  top:-2vw;
  left: 0;
  font-weight:bold;
  color:rgba(0, 108, 182);
  font-size:6vw;
}

.qa_a ol{
  margin:0.75em 0;
  padding:0.5em 0 0.5em 5vw;
  border-top:2px dotted #dfdfdf;
  border-bottom:2px dotted #dfdfdf;
}

#qa02Spacer{
  height:3em;
}
/****************************************/


#Inquiry{
  width:90%;
  margin:4vw auto;
  text-align:center;
  font-size:2.5vw;
  border:0px double rgba(0, 108, 182,0.75);
  border-radius: 1vw;
  background: #fff;
  padding:2vw 0;
}

#Inquiry h3{
  width:100%;
  margin:0;
  padding:0 0 1em 0 ;
  text-align:left;
  font-size:3.2vw;
}

#Inquiry h3::before{
  border:none;
}

#InquiryForm table{
  min-width:80%;
  margin:0 auto;
  border-collapse: collapse;
  font-size:2.5vw;
}

#InquiryForm th{
  display:block;
  width:100%;
  text-align:left;
}

#InquiryForm td{
  display:block;
  width:100%;
  text-align:left;
}

#InquiryForm th,
#InquiryForm td,
#InquiryForm textarea{
  padding:1vw;
}

#InquiryForm input{
  padding:1vw;
}

#InquiryForm input[type=text],
#InquiryForm input[type=email]{
  width:65%;
}

#InquiryForm input[type=radio]{
  display: inline !important;
}

#InquiryForm textarea{
  width:96%;
  min-height:7em;
  padding:1vw;
}

#InquiryForm #FlatBtn{
  display: flex;
  justify-content: center;
  font-weight:bold;
  line-height:1.5;
}

#InquiryForm input[type=submit],
#InquiryForm input[type=button]{
  width:30%;
  display: block;
  margin:3vw auto 0 auto;
  padding:1.5vw 2vw;
  border-radius:2vw;
  border:none;
  background:rgb(0, 108, 182);
  color:#fff;
  font-weight:bold;
  cursor:pointer;
  font-size:2.5vw;
}

#InquiryForm input[type=submit]:hover,
#InquiryForm input[type=button]:hover{
  background:rgba(0, 108, 182);
}

/***********************************************/
#NewEntry{
  background:rgba(204, 0, 0, 1);
  width:80%;
  min-height:10vw;
  margin: 1em auto;
  border:5px solid rgba(204, 0, 0, 0.5);
  display: table;
}

#NewEntry a{
  width:100%;
  height:100%;
  display: inline-block;
  text-align: center;
  font-size:4vw;
  color:#fff;
  line-height:3;
  vertical-align: middle;
  text-decoration: none;
}

#NewEntry:hover{
  background:rgba(204, 0, 0, 0.85);
}


#SetLogin{
  background:rgba(0, 108, 182);
  width:80%;
  min-height:10vw;
  margin: 1em auto;
  border:5px solid rgba(0, 108, 182);
  display: table;
}

#SetLogin a{
  width:100%;
  height:100%;
  display: inline-block;
  text-align: center;
  font-size:4vw;
  color:#fff;
  line-height:3;
  vertical-align: middle;
  text-decoration: none;
}

#SetLogin:hover{
  background:rgba(0, 108, 182);
}

/*************************************************/
#Entry{
  padding-bottom:2em;
  font-size:4vw;
}

#EntryForm{
  width:100%;
  margin:0;
  padding: 0;
  text-align: left;
}

#EntryForm th{
  display: block;
  margin-bottom:0.5em;
  color: rgb(0, 108, 182);
}

#EntryForm td{
  display: block;
  margin-bottom:1em;
  padding-bottom:1em;
  border-bottom:2px solid rgba(200,200,200, 0.5);
}

#EntryForm td input{
  width:80%;
  padding: 0.5em;
}

#EntryForm td input[type=checkbox]{
  width:auto !important;
  text-align: left !important;
}

#EntryForm td textarea{
  width:80%;
  min-height:5em;
}

#EntryForm input[type=submit]{
  width:40%;
  padding:1em 0;
  text-align: center;
}

.Popup_Terms{
  color:#00f;
  text-decoration: underline;
}

.Popup_Terms:hover{
  text-decoration: none;
}

.Popup_Terms:visited{
  color:#551A8B;
}
/**Member**************************************************/
#member_class_table{
  border-collapse: collapse;
  text-align: left;
  margin: 1em;
}

#member_class_table th{
  width:68%;
  padding:0.75em 2%;
  text-align: left;
  border-bottom: 3px solid rgba(0, 0, 0, 0.15);
}

#member_class_table td{
  width:10%;
  padding:0.75em 2%;
  border-bottom: 3px solid rgba(0, 0, 0, 0.15);
}

/********************************************/
#ContentPage #ContentTitle{
  /* font-size: 4.2vw; */
  font-size: 2.4vh;
}

#MemberContent{
  font-size: 4.2vw;
}

#MemberContent h3{
  font-size: 5vw;
}

#MemberContent p{
  line-height:1.7em;
}

#MemberContent img{
  width:100%;
}

/*************************************************/
#sitemap{
  margin:0;
  padding:2em 0;
}

#sitemapList{
  margin:0;
  padding:1.5em 0em 0em 0em;
  background:none;
  font-weight:bold;
  list-style: none;
}

#sitemapList span{
  display: block;
}

#sitemapList li{
  height:3vw;
  margin:0 0 0 0 ;
  padding: 1em 2em 1em 2vw;
  font-size:3vw;
  line-height: 1;
  border-bottom: solid rgba(0, 0, 0, 0.1);
}

#sitemapList li::before{
  display:inline-block;
  position: relative;
  text-decoration: none;
  width:1vw;
  height:2vw;
  content: '';
  border-top:0.5vw solid rgba(204,0,0,1);
  border-left:0.5vw solid rgba(204,0,0,1);
   transform: rotate(-135deg);
   padding:0vw ;
   margin:0 2vw 0 0;
}

/*********************************************************/
#dealing{
  margin:0;
  padding:2em 0;
}

#dealing dt{
  margin:0;
  padding:0.75em 1em;
  background:rgba(0, 0, 104, 1);
  color:#fff;
  font-weight:bold;
}

#dealing dd{
  margin:0;
  padding:1em;
}

#dealing ul{
  padding:0 0 0 3vw;
  list-style: none;
}

/************************************************/
.submitLink{
  display:block;
  width:100%;
  min-height:4vw;
  background:none !important;
  color:#00f !important;
  text-decoration: underline !important;
  text-align: left !important;
  font-size:2vw !important;
  margin: 0 !important;
  padding:0 !important;
  word-wrap: break-word;
}

#ContentTitle{
  text-align:left;
  width:96vw;
  margin:0;
  padding-right:2.5%;
  padding-left:2.5%;
  font-size:4vw;
  padding: 6.6vw 2vw;
}

#examinationBtn{
  width:35%;
  height:auto;
  text-align:center;
  margin:0.5em auto;
  padding:0;
  background:none;
  border-radius: 1em;
  overflow: hidden;
}

#examinationBtn a{
  display:block;
  width:100%;
  height:100%;
  padding:0.65em 0em;
  color:#fff;
  background: rgba(0, 0,104,1);
  text-decoration:none;
}

#examinationBtn a:hover{
  background: rgba(0, 0,104,0.8);
}

#PrevNextBox{
  width:100%;
  margin:2em 0;
  padding:1em 0;
  border-collapse: collapse;
}

#PrevNextBox{
  width:100%;
  margin:2em 0 0 0 ;
  padding: 0;
  border-collapse: collapse;
}

#PrevNextBox td:nth-child(1){
  background: #fcc;
}

#PrevNextBox td:first-child,
#PrevNextBox td:last-child{
  width:25%;
  background:none;
}

#PrevNextBox td{
  width:25vw;
  height:25vw;
  background:none;
  overflow: hidden;
}

#PrevOn,#StartPoint,#NextOn{
  width:100%;
  height:25vw;
  display:block;
  vertical-align: middle;
  text-align: center;
}

/********************************************************/
#Exampage{
  width:100%;
  margin:0;
  padding:0;
}

#Exampage section{
  margin:0 2% 1.5em 2%;
}

.ExamList span{
  padding-left:1vw;
  font-size:5vw;
  color:rgb(0, 108, 182);
}

.ExamList input[type=radio]{
  display: none !important;
}

.ExamList label{
  width:90%;
  padding:1em 1em 1em 2em ;
  display: block;
  margin-bottom:0.25em;
  border:0.5vw solid rgb(0, 108, 182);
  border-radius: 2em;
  font-weight:bold;
  color: rgb(0, 108, 182);
}

.Q_ttl{
  font-size:4vw;
  line-height: 1;
  height: 5vw;
  padding:1vw 0 1vw 8vw;
  background: url('../images/Q_ttl.png') no-repeat left;
  background-size: contain;
}

.ExamList label:hover{
}

.ExamList input[type=radio] + label{
  background:#fff;
}

.ExamList input[type=radio]:checked + label{
  background:rgb(204, 226, 240);
  color:rgb(0, 108, 182);
}

#TestResultsChk{
  /*submit*/
  -webkit-appearance: none;
  width:40%;
  display: block;
  margin: 6vw auto 6vw auto;
  padding: 3vw 2vw;
  border-radius: 100vw;
  border: none;
  background: rgb(247, 147, 30);
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  font-size: 4.5vw;
}

#TestResultBox{
  width:95%;
  margin:3em auto;
  text-align: center;
  font-size: 6vw;
}

#TestResultBox #answers_span2{
  text-align: center;
  font-size: 10vw;
  color: rgb(247, 147, 30);
}

#TestResultBox #answers_span3{
  text-align: center;
  font-size: 10vw;
}


#TRTen,
#TRMan{
  width:70vw;
  display: inline-block;
  font-size:10vw;
  padding:0.25em 0;
}
/*******************************************************/
.passed_icon img{
  width:100%;
  vertical-align: middle;
}

/******************************/
#SignupForm table{
  width:100%;
  margin:0 0 2em 0 ;
  padding:0;
  border-collapse: collapse;
  font-size: 3vw;
}

#SignupForm th,
#SignupForm td{
  width: 90%;
  margin:0 2.5% 2.5% 2.5%;
  display: block;
  padding:0.75em 0;
}

#name_sei,#name_mei, #name_kana,#name_kana_mei{
  width:38%;
  display: inline-block;
}


#fp_num,
#login_id,#login_id2,
#current_pwd,
#login_pwd,
#login_pwd_rem{
  width:95%;
}

#SignupForm input[type=text],
#SignupForm input[type=email],
#SignupForm input[type=password]{
  padding:0.5em 0.25em;
}

#SignupForm tr td{
  border-bottom:0.1em solid #333;
}

#SignupForm #FlatBtn{
  display: flex;
  justify-content: center;
  font-weight:bold;
  line-height:1.5;
}

#SignupForm input[type=submit],
#SignupForm input[type=button]{
  width:30%;
  display: block;
  margin:3vw auto 0 auto;
  padding:1.5vw 2vw;
  border-radius:2vw;
  border:none;
  background:rgb(0, 108, 182);
  color:#fff;
  font-weight:bold;
  cursor:pointer;
  font-size:2.5vw;
}

#SignupForm input[type=submit]:hover,
#SignupForm input[type=button]:hover{
  background:rgba(0, 108, 182);
}



#sub_mail{
  width:95%;
}

.readonly{
  background:#dfdfdf;
  border:none;
}
/****************************************/
#CationInfo{
  padding:0.75em;
  margin:1em 0;
  border:0.25em solid #333;
  border-radius: 0.1em;
}

#ApplicationForm{
text-align: left;
}
#ApplicationTable{
    width:80%;
    margin:0 auto 1.5em auto;
}

#ApplicationTable th,
#ApplicationTable td{
  width:100%;
  display: block;
  padding:0.75em 0;
  margin:0 0 0 0;
  text-align: left !important;
  font-size:4vw;
}

#ApplicationTable td{
border-bottom:0.1em solid rgba(0,0,0,0.1);
}

#ApplicationTable td input[type='text']{
  width:90%;
  padding:0.5em;
  background:#fcc;
}

#SubsBtn{
  display: block;
  margin:0 auto;
}

.block{
  margin-top:0.75em;
  display:block;
}

.imgSubTtl{
  font-size: 4vw;
  padding:2vw;
  font-weight: bold;
  margin-bottom: 0;
}

/**************************************/
#BacktoList,
#BacktoTest{
  width:50%;
  margin:0 auto 1em auto;
  padding:0.5em 0;
  font-size:3vw;
  font-weight:bold;
  background:rgba(0, 108, 182);
  color:#fff;
  text-align: center;
  cursor: pointer;
  border-radius: 0.5em;
}

#BacktoList:hover,
#BacktoTest:hover{
  background:rgba(0, 108, 182);
}

#BacktoList2,
#BacktoTest2{
    width: 46%;
    height: 3em;
    margin: 7em auto 1em auto;
    padding: 0em 0;
    font-size: 4vw;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    border-radius: 25px;
    overflow: hidden;
}

#BacktoList2 a,
#BacktoTest2 a{
  display: block;
  width:100%;
  height:100%;
  padding:0.5em 0;
  background:rgba(0, 108, 182);
  color:#fff;
  text-decoration: none;
  line-height:1.75;
}

#BacktoList2 a:hover,
#BacktoTest2 a:hover{
  background:rgba(0, 108, 182);
}

/***************************************************/
#StudyPage .popup_content{
  position: relative;
 align-self: center;
 width: 80%;
 height:68%;
 padding: 0.5em;
 box-sizing: border-box;
 background: #fff;
 line-height: 1.4em;
 transition: 0.5s;
 border:4px solid rgba(102,194,209,1);
 border-radius: 8px;
 text-align: left;
 padding:2.5em 5% 1em 5%;
 overflow:hidden;
 font-size:3.75vw;
}

#StudyPage .popup_content .small_img{
  width:5vw;
  height:5vw;
}

.niseFlex{
  display: flex;
  justify-content: flex-start;
  font-weight:bold;
  line-height:1.5;
}

.niseFlex img{
  margin-right:1em;
}

#help_btn{
  text-align: center;
  border-bottom: 3px solid rgba(0, 0, 0, 0.15) !important;
}

#helpicon:checked + #help_a_s{
  background: #ff0;
  color:rgba(0, 108, 182);
}

#help_a_s{
  display: block;
  padding:0.5em;
  background:rgba(0, 108, 182);
  color:#fff;
  border-radius: 0.3em;
  text-decoration: none;
}

#TopInformation h4{
  color:rgb(203,0,0);
  text-align: left;
  margin:0;
  padding:0.25em 1.5em;
}

#TopInformation table{
  width:90%;
  padding:0.5em 2%;
  margin:0em auto 3em auto !important;
  border:2px solid rgba(0, 108, 182);
}

#TopInformation tr td{
  padding-bottom: 1em;
}

#TopInformation tr:nth-child(2) td,
.moreBtn{
  text-align:center !important;
  font-weight: bold;
  background:rgb(0,20,104);
  color:#fff;
  cursor: pointer;
  padding:0.25em 0;
}


#TopInformation table th,
#TopInformation table td{
  text-align: left !important;
  display: block;
}

#TopInformation table th{
  width:100%;
  padding:0.25em 0;
  border-bottom:2px solid rgba(0, 108, 182);
  color:rgba(0, 108, 182);
  font-size:3vw;
}

#TopInformation table td{
  width:100%;
  padding:0.5em 0;
}

.examTtl{
  padding:0.25em 0 !important;
  background:none !important;
  font-size:3vw;
  border-bottom:2px solid rgb(0, 108, 182)!important;
}

#MainMailBox{
  display: block;
}

#SubMailBox{
  display: none;
}

#MainMailBox,
#SubMailBox{
  width:80%;
  margin-bottom:0.5em;
  padding:0.5em;
}

#MainMailBox input{
  background:#dfdfdf;
}


#MainMailBox input,
#SubMailBox input{
  width:90%;
  display: block;
  margin-bottom:0.25em;
  padding:0.5em;
  border:1px solid #333;
}
#SubMailCation{
  width:85%;
  margin:1.5em 5%;
  padding:1em 2.5%;
  border:2px solid rgb(0, 108, 182);
  color:rgb(0, 108, 182);
}

#SubMailCation br::after{
  content: '　';
}

.sp_w100{
  width:100%;
}

.blue{
  color:rgba(0, 0,102, 1);
}

.qaBox{
  padding:0em  0.5em;
  border:2px solid rgb(0, 108, 182);
  border-radius: 0.25em;
}

#footerFlex{
  width:100%;
  display: flex;
  justify-content: flex-end;
  padding-bottom: 12vw;
}

#footerFlex div{
  vertical-align:middle;
}

#footerFlex #footerInfo{
  width:80%;
  padding-right:3%;
  text-align: right;
  font-size: 2.5vw;
}

#pMarkImg{
  width:7vw;
  height:7vw;
  padding:1vw;
  margin-right:1vw;
  background: #fff;
}

  #pMarkImg img{
  width:100%;
}


#TopIntro #TopImgDesc img{
  width:100%;
  height:auto !important;
  max-height:800px !important;
}

#stepSample{
  width:74%;
  margin:2em auto;
  border:5px solid #dfdfdf;
  border-radius: 1em;
  padding:0.5em 3%;
}

#stepSample img{
  width:100% !important;
  margin:0 auto;
  border:none;
}
#icon_top{
  height: 8vw;
  margin: 2vw 0 1vw 5vw;
}