/************************************************************
* 覆蓋 Bootstrap 預設樣式
************************************************************/
:root {
	--primary: #1d55b8;
	--secondary:  #f7ff11;
	--primary-normal-font: 'Shin Go Regular';
	--primary-bold-font: 'Shin Go DeBold';
	--secondary-normal-font: 'Reimin Y30 Medium';
	--secondary-bold-font: 'Reimin Y30 bold';
	/*font-size: calc((1vw + 1vh + 0.5vmin) / 2);*/
}

.bg-primary {
	background-color: var(--primary) !important;
}

.text-primary {
	color: var(--primary) !important;
	line-height:1.5;
	font-weight: bold;
}

.text-secondary {
	color: var(--primary) !important;	
	line-height:1.5;
	font-weight: bold;
}

.card-header {
    margin-bottom: 0;
    background-color: #f7f7f7;
    border-bottom: 0;
}

.badge-primary {
	padding: 0.6em 0.8em;
	color:var(--primary);
	background-color: #fff;
	border:var(--primary) 1px solid;
	font-size: 100%;
	
}


.q-header {
    padding:1rem;
    background-color: #f7f7f7;
    border-bottom: 0;
}

.a-header {
    padding:1rem;
    background-color: #fff;
    border-bottom: 0;
}

/************************************************************
* 自定樣式
************************************************************/




html, body {
	margin: 0px;
	padding: 0px;
}

body {
	font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", "A-OTF Shin Go Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; 
	-webkit-font-smoothing: antialiased; 
}

.h1, h1{
	font-size: 2rem; 
	text-align: center; 
	color:var(--primary);
	letter-spacing: -0.1rem;
	line-height: 1.4;
	font-weight: 900;
}

h1, h3,  h5{
	line-height: 1.5;
}


.h5, h5{
	font-size: 1.2rem; 
	text-align: left;
	margin: 0 !important;
	font-weight:bold;
	line-height: 2;
}

.text-s{font-size:200%;}
.textred{color:var(--secondary); font-weight:bold;}
.textblue{color:var(--primary);font-weight:bold;}
.textyw{background-color:#fff6a9; font-weight:bold;}
.underline{text-decoration: underline;}

p {
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: normal;
	margin-bottom: 2rem;
}

p:last-child {
	margin-bottom: 0;
}

a {
	color: var(--primary);
	text-decoration: none;
}

a:hover {
	color: var(--primary);
	text-decoration: none;
}

ul {
	font-size: 1.2rem;
	padding-left: 1rem;
	list-style: none;
}

li {
	position: relative;
	margin-top: 0.3rem;
	padding-left:1rem;
	font-weight:bold;
}

li:first-child {
	margin-top: 0;
}

#wrapper {
	background:url(../images/bg.jpg) repeat;
}

.container {
	max-width: 890px; 
	padding:0 30px;
}

.font-sm {
	font-size: 1em;
	line-height: 1.3;
}

#header-02 {
    background: #e4f5ff;
    position: relative;
}

.bar{background:linear-gradient(0.25turn,#247bfe, #132a6a); height:10px;}


.bg-lightblue{background:#e4f5ff;}
.bg-darkblue{background:var(--primary);}
.bg-blueimg{background:var(--primary)}
.bg-white{background:#fff;}
.bg-lightyellow{background:#fffbf0;}
.bg-yellow{background:#ffffbb;}

.video-shadow {box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;}

.btn-box{background:url(../images/btn-bg.jpg) bottom no-repeat; border-radius:15px; border:rgb(187, 206, 255) solid 5px; max-width:830px; margin:0 auto;}

.suisen.container{padding:0;}
.suisen-box{background: #fff; border-top:#0048ad solid 7px;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;}

.braced-text {
	position: relative;
	display: inline-block;
	padding: 0rem 1.3rem 2rem 2rem;
	width:730px;
  }
  
  .braced-text:before,
  .braced-text:after {
	position: absolute;
	color: var(--primary);
	font-size: 4.6em;
	font-weight: bold;
	line-height: 1;
  }
  
  .braced-text:before {
	content: "「";
	top: -1rem;
	left: -3rem;
  }
  
  .braced-text:after {
	content: "」";
	bottom: 1rem;
	right: -3rem;
  }



.intro p{margin-bottom:1rem; font-size: 98%;}


ul.check-learn{background-color: #f5f5f5; border-radius: 10px;}

.check-learn li::before {
    position: absolute;
    content: '\f058';
    font-family: 'Font Awesome 5 Free';
    font-size: 1.2rem;
    font-weight: 900;
    left: 0rem;
    top: 0.9rem;
    color: var(--primary);
	
}

.check-learn li{
text-align: center;
line-height: 1.3;
font-size: 110%;
padding:1rem 0;
margin-bottom:1rem;
border-bottom: #999 solid 1px;
list-style: none;
min-height:150px;
}

.check-learn li:last-child {
	border-bottom: none;
}


footer {	
	background-color: #fff;
}

footer p {
	font-size: 16px; color:var(--primary);
}

footer p:last-child {
	margin: 0px;
}



@media (max-width: 767.98px) {

	:root {
		font-size: 18px;
	}

	body {
		font-size: 0.95rem;
	}

	section > picture {
		margin-bottom: 0;
	}

	header .container {
		background: none;
	}

	.container{padding:0 15px;}

	.card-body {
		padding: 0.75rem;

	}

	h1{
		font-size: 2rem;
	}

	h5 {line-height:1.8; font-size:1rem;}

	.text-s{font-size:140%;}

	p {
		font-size: 1rem;
		padding: 0;
		margin-bottom: 1.3rem;
		line-height: 1.8;
	}

	.font-sm {
		font-size: 0.9em;
	}

	ul {
		font-size: 1rem;
		max-width: 650px;
		font-weight: 900;
		margin-bottom: 0;
	}

	li{line-height: 1.3; margin-top:10px;}

	.video-shadow {box-shadow:none;}

	.check-learn li {
		line-height: 1.5;
		font-size: 1rem;
		margin-bottom: 0;
		border-bottom: #999 dotted 1px;
		padding:1rem 0 0 0;
		
	}

	.check-learn li::before {
		position: absolute;
		content: '\f058';
		font-family: 'Font Awesome 5 Free';
		font-size: 1.4rem;
		font-weight: 900;
		left: -0.2rem;
		top:0.6rem;

	}

	.btn-box{background:url(../images/btn-bg.jpg) bottom no-repeat; border: radius 10px; border:none;}

	.braced-text, .braced-text-wide {
		width:auto;
		padding: 0.7rem 0.5rem 1rem 1.1rem;
	  }
	  
	  .braced-text:before,
	  .braced-text:after, .braced-text-wide:before, .braced-text-wide:after {
		font-size: 2.5em;
	  }
	  
	  .braced-text:before, .braced-text-wide:before {
		top: -0.5rem;
		left: -1.3rem;
	  }
	  
	  .braced-text:after, .braced-text-wide:after {
		bottom: 0rem;
		right: -1.3rem;
	  }
	

	footer {
		padding-top: 7%;
		padding-bottom: 7%;
		font-size: 13px;
	}


}

