@charset "utf-8";

* {
	margin:0;
	padding:0;
}
*, *:before, *:after {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}

* ul{
	list-style: none;
}

html {
	font-size: 62.5%;
}
html,body {
	height:100%;
	/*overflow-x: hidden;*/
	background:#ffffff;
	color: #000000;
	font-weight: 400;
    font-family:'Noto Sans JP', 'Lato', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', 'Osaka', 'MS PGothic', arial, helvetica, sans-serif;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%; /* Safari */
	/*overflow:hidden;
	overflow-y:scroll;*/
}

.fw{
	font-weight: 700;
}

.main {
	background: #ffffff;
}

.all-wrapper {
    position: relative;
    padding-bottom: 20px;
    box-sizing: border-box;
    min-height: 100vh;
}

footer {
	width:100%;
	background-color:transparent;
	color: #b0b0b0;
	text-align:center;
	position:absolute;
	bottom:10px;
	font-size:10px;
	z-index:90;
}

.text-box{
	margin-top: 20px;
	margin-bottom: 20px;
	margin-left: 70px;
  }
 

/*　ＵＲＬ　ホーバーアクション　*/
.url_line a{
	text-decoration:none;
	color: #021d49;
	background-size:100% 2px;
	background-repeat:no-repeat;
	background-position: bottom;
	background-image:linear-gradient(90deg, #00107b, #00107b);
  }
  .url_line a:hover {
	background-position:left bottom;
	background-size:0 2px;
	transition:background-size 0.5s;
  }

/*　ナンバリング　*/  

.text-box ol.list_no,
.text-box dl.list_no {
  /*list-style-position: inside;*/
  padding-left: 30px;
}


.text-box ol.list_no > li,
.text-box dl.list_no > dt {
    list-style-type: none;
    counter-increment: cnt;
	
    /*position: relative;*/
	/*padding-left: 2em;*/
}
.text-box ol.list_no > li:before,
.text-box dl.list_no > dt:before {
    content: "（" counter(cnt) "）";
    display: inline-block;
    margin-left:-3em; /* サイトに合せて調整 */
    width: 3em; /* サイトに合せて調整 */
    text-align: right;
    /*position: absolute;	*/
    left: 0;
	/*font-size: 16px;*/
  }
  .text-box dl.list_no .txt_indent {
	padding-left:1em;
	text-indent:-1em;
  }

.text-box ol.yen-ol{
  counter-reset: yen-number;
  }
  .text-box ol.yen-ol li {
	padding-left: 1em;

  }

  /* エントリーなどのボックス */
  .online_box{
    height: 50px;
    width: 300px;
    background-color: rgb(8, 0, 116);
    border: 2px solid rgb(8, 0, 116);
    margin-left: auto;
    margin-right: auto;
    transition:all 0.4s;
}
.entry_policy_box .link_box a,
.pdfdlk_box a,
.online_box a{
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: hsl(0, 0%, 100%);
    transition:all 0.4s;
}

.entry_policy_box .link_box:hover,    
.entry_policy_box .link_box a:hover,
.pdfdlk_box:hover,    
.pdfdlk_box a:hover,
.online_box:hover,
.online_box a:hover,
.video_box:hover,
.video_box span:hover{
    background-color: rgb(255, 255, 255);
    color: rgb(8, 0, 116);;
    border-radius: 15px;
    cursor: pointer;
}

.entry_policy_box .entry_policy_txt{
    margin: 30px;
    font-size: 0.1rem;
    text-align: center;
}

.endline{
	padding-bottom: 20px;
	border-bottom: 1px solid #00107b;
  }

/*  SNS　リンク　　*/
.sns-share {
    position:fixed;
    right:25px;
    bottom: 200px;
    z-index:251;/*.global-head +1*/
}
.sns-share li {
    list-style-type:none;
}

.sns-share li a {
    cursor:pointer;
}
.sns-btn {
    width: 25px;
    height: auto;
    margin-top: 10px;
    margin-left: 25px;
}

/*  specialsponsor  */
.ssponsor {
    border-bottom: 1px solid #A3A3A3;
    padding: 5px 10px;
    border-left: solid 5px #00107b;
    font-size: 25px;
    margin-bottom: 30px;
    }
.ss_group{
		border-bottom: 1px solid #A3A3A3;
		padding-bottom: 40px;
		margin-bottom: 40px;
		width: 100%;
  }
/*  .ss_group > img{
	max-width: 350px;
	height: auto;
}*/
  .ss_group > img{
	width: auto;
	height: 100px;
}
/*.ss_group > .ss_img{
	width: auto;
	height: 50px;
}*/
  .ss_name{
	font-size: 20px;
  }
  .ss_name span{
	font-size: 15px;
  }
  .ss_comment{
	font-size: 17px;
	margin: 15px;
  }
  
  .oaaf_address{
    margin: 50px 0 15px;
    text-align: center;
}
.entry_policy_box{
    margin-top: 35px;
    line-height:2.5;
}
.entry_policy_box .text_right{
    text-align: right;
    margin-top: 20px;
    line-height:2;
}
.entry_policy_box .consent_text{
    text-align:center;
    margin-top: 20px;
    font-size: 10px;
    line-height:2;
}

.entry_policy_box .link_box,
.pdfdlk_box,.video_box{
    height: 50px;
    width: 200px;
    background-color: rgb(8, 0, 116);
    border: 2px solid rgb(8, 0, 116);
    margin-left: auto;
    margin-right: auto;
    transition:all 0.4s;
}

.video_box span{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: hsl(0, 0%, 100%);
    transition:all 0.4s;
}
.course-title {
	line-height:1.6;
	font-size:20px;
	font-size:calc(1.25rem + ((1vw - 0.48rem) * 0.6519));
	color:#333333;
	margin:15px 0 5px 15px;
}
.item-size{
	line-height:2;
	font-size:13px;
	font-size:calc(0.9375rem + ((1vw - 0.48rem) * 0.6519));
	color:#333333;
	margin:0 0 0 50px;
}

@media screen and (max-width: 850px) {
	.pc { display: none !important; }
	.mobile { display: block !important; }

	body, div, p, li, li:before, li:after, th, td, dt, dd, dt:before, dt:after, span, select, input, textarea {
		line-height:1.4;
		font-size: 1.4rem;
	}

	.main-in {
		padding-left:0;
		padding-top:65px;
	}

	.contents{
		padding:0 15px 25px;
	}

	h1 {
		font-size:28px;
		text-align: center;
	}
	
	.h1_subtxt {
		margin: 5px 0 15px;
		font-size: 18px;
		text-align: center;
	}
	.boxed {
		padding: 5px 30px;
		color: #fff;
		font-size: 15px;
		position: relative;
		border-radius: 15px;
		background:linear-gradient(45deg, #00107b, #001ac4);
	  }
	  
	  .boxed:after {
		position: absolute;
		bottom: -10px;
		left: 1em;
		width: 0;
		height: 0;
		content: '';
		border-width: 15px 15px 0 15px;
		border-style: solid;
		border-color: #00107b transparent transparent transparent;
	  }
	  .text-box{
		/*margin-top: 20px;
		margin-bottom: 20px;
		margin-left: 20px;*/
		margin: 15px 20px;
	  }

	  .subject2023-txt{
		margin: 5px 0;
	  }

	  .sns-share ul {
        display: flex;
        position:fixed;
        right: 20px;
        top: 10px;
    }
	.entry_policy_box {
        margin-top: 10px;
        line-height:1.5;
    }
	footer {
		bottom: 45px;
	}
	.text-box ol.yen-ol li::before {
	 width: 14px;
	  height: 14px;	  
	}	
}

@media screen and (min-width: 851px) {
	.pc { display: block !important; }
	.mobile { display: none !important; }

	body, div, p, li, li:before, li:after, th, td, dt, dd,span, select, input, textarea {
		line-height:1.6;
		font-size: 1.6rem;
	}

	.main-in {
		padding-left: 200px;
	}
	
	.contents{
		padding:20px 70px;
	}

	h1 {
		font-size:32px;
		text-align: center;
	}
	
	.h1_subtxt {
		margin: 10px 0 30px;
		font-size: 25px;
		text-align: center;
	}

	.boxed {
		position: relative;
		overflow: hidden;
		padding: 7px 30px;
		color: #fff;
		font-size: 18px;
	  }
	  .boxed > span {
		background-color: #00107b;
		color: #ffffff;
		display: inline-block;
		padding: 10px 30px;
		position: relative;
		margin: 10px;
		font-size: 20px;
		font-weight: bold;
	  }
	  
	  .boxed > span:after {
		border-bottom: 4px solid #00107b;
		border-image: linear-gradient(to right, #00107b, #f1f1f1  100%);
		border-image-slice: 1;
		content: "";
		margin: 0;
		position: absolute;
		top: 50%;
		width: 100vw;
	  }

	  .subject2023{
		font-size:20px;
	  }

	  .subject2023-txt{
		margin: 10px 0 10px 30px;
	  }
	#toppage {
		position:fixed;
		right:5%;
		bottom:20%;
		opacity:0.7;
		width: 30px;
		height: 30px;
		background-color: #00107b;
		color: #fff;
		cursor: pointer;/* カーソルをポインターに */
		text-align: center;
	}
}