@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap);
@import url(https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap);
@import url(./normalize.css);
@import url(./helper.css);
@import url(./pe-icon-7-stroke.css);
/* CSS Document */

* {
	margin: 0;
	padding: 0;
}
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	/*font-family:Helvetica,Arial,YuGothic,"メイリオ","游ゴシック体","Yu Gothic","游ゴシック","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;*/
	font-size: 15px;
	font-size: 1.5em;
	line-height: 1.8;
	font-weight: 400;
}
.open {
	width: 100%;
	height: 100%;
	background: #004ea2;
	color: #FFF;
	position: fixed;
	right: 0;
	z-index: 15;
}
.open p {
	position: absolute;
	width: 40%;
	text-align: center;
	top: 50%;
	left: 30%;
}
.open02 {
	width: 100%;
	height: 100%;
	background: #86c3e8;
	color: #FFF;
	position: fixed;
	right: 0;
	z-index: 15;
}
body.column {
	font-size: 16px;
	font-size: 1.6em;
}
h1, h2, h3, h4, h5, h6, ul, li, dl, dd, ol {
	margin: 0;
	padding: 0;
}
p {
	margin: 0;
}
a {
	color: #004da1;
	text-decoration: underline;
	font-weight: 500;
}
a:hover {
	text-decoration: none;
}
ul, ol {
	list-style-type: none;
}
table {
	width: 100%;
}
.mb-10 {
	margin-bottom: 10px;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-30 {
	margin-bottom: 30px;
}
.mb-40 {
	margin-bottom: 40px;
}
.mb-50 {
	margin-bottom: 50px;
}
.mb-60 {
	margin-bottom: 60px;
}
.mb-70 {
	margin-bottom: 70px;
}
.mb-80 {
	margin-bottom: 80px;
}
.pt-40 {padding-top: 40px}
.pt-50 {padding-top: 50px}
.pc_none {
	display: none;
}
.w80 {width: 80%; margin: 0 10%;}
.w85 {width: 85%; margin: 0 7.5%;}
.w90 {width: 90%; margin: 0 5%;}
.w100 {width: 100%}
/*Layout*/
.sem_wrapper {
	width: 870px;
	margin: 0 auto;
	margin-top: -280px;
	padding: 100px;
	background: url("../images/wrap_b.svg") no-repeat top #FFF;
	background-size: 170px 5px;
}
.sem_wrapper02 {
	width: 870px;
	margin: 0 auto;
	padding:70px 100px;
	background-size: 170px 5px;
}
.sem_info01 {
	background: url("../images/sem_info01.jpg") no-repeat top #FFF;
	height:1350px;
	position: relative;
}
.sem_info01 .button01 a {
	position: absolute;
	bottom: 90px;
	left: calc(50% - 235px);
}
.sem_info01 .desc {
	width: 100%;
	position: absolute;
	bottom: 30px;
	text-align: center;
}
.sem_info02 {
	position: relative;
	padding: 50px;
	width: calc(570px - 104px);
	border: 2px solid #e5edf6;
	float: right;
	margin-top: -320px;
	z-index: 10;
	background: #FFF;
}
.sem_info02 h2 {
	font-size: 17px;
	margin-bottom: 20px;
}
.sem_info03 {
	padding: 50px 20px;
	text-align: center;
	color: #FFF;
	background: url("../images/book_bg.png") no-repeat bottom #004ea2;
}
.sem_info04 {
}
.sem_info04 h3 {
	font-size: 20px;
	padding-bottom: 10px;
	margin-bottom: 25px;
	border-bottom: 1px solid #EDEDED;
}
.sem_info04 h3 span {
	font-size: 70%;
}
.wrapper {
	width: 1070px;
	margin: 0 auto;
	background: #FFF;
}
.content {
	text-align: left;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.f-l {
	float: left;
}
.f-r {
	float: right;
}
.txt-B {
	font-weight: bold;
}
.txt-m {
	font-size: 80%;
}
/*Images*/
.image-r {
	float: right;
	margin: 0 0 0 20px;
}
.image-l {
	float: left;
	margin: 0 20px 0 0;
}
.image-c {
	text-align: center;
	margin: 0 auto;
}
/*Section*/

.clearfix:after {
	clear: both;
	content: "";
	display: table;
}
.clearfix {
	display: table;
}
/*Navi*/
.clear {
	clear: both;
}
.sub {
	font-size: 13px;
	color: #999999;
}
.f_english {
	font-family: 'Roboto';
	font-weight: 500;
}
.button01 a {
	display: block;
	width: 470px;
	height: 60px;
	text-align: center;
	line-height: 60px;
	text-decoration: none;
	color: #FFF;
	background: #004ea2;
	border-radius: 30px;
	margin: 0 auto;
	transition: all .3s;
	font-size: 18px;
}
.button01 a:hover {
	opacity: 0.7;
}
.button02 a {
	display: block;
	width: 470px;
	height: 60px;
	text-align: center;
	line-height: 60px;
	text-decoration: none;
	color: #004ea2;
	background: #FFF;
	border-radius: 30px;
	margin: 0 auto 20px auto;
	transition: all .3s;
	font-size: 18px;
}
.button02 a:hover {
	opacity: 0.7;
}
.two_box {
	display: flex;
}
.two_box div {
	width : -webkit-calc(50% - 15px);
	width : calc(50% - 15px);
}
.two_box div:first-child {
	margin-right: 30px;
}
.two_box iframe {
	width: 570px;
	height: 340px;
}
.three_box {
	display: flex;
}
.three_box div {
	width : -webkit-calc(33% - 15px);
	width : calc(33% - 15px);
	margin-left: 30px;
}
.three_box div:first-child {
	margin-left: 0px;
}
.four_box {
	display: flex;
}
.four_box div {
	width : -webkit-calc(25% - 15px);
	width : calc(25% - 15px);
	margin-left: 30px;
}
.four_box div:first-child {
	margin-left: 0px;
}
.swiper-container div {
	margin-left: 0px;
}
.bg01 {
	border: 1px solid #e5e5e5;
	padding: 40px;
	box-sizing: 100%;
}
.bg02 {
	border: 1px solid #e5e5e5;
	padding: 30px;
}
.bg03 {
	border-top: 1px dotted #e5e5e5;
	padding-top: 15px;
}
.bg04 {
	background: #f2f2f2;
	padding: 40px;
	box-sizing: 100%;
}
.img_r {
	float: right;
	padding: 0 0 0 30px;
	background: #FFF;
}
.img_l {
	float: left;
	margin: 0 30px 0 0;
}
/*   -----------   header   ------------  */
header {
}
.sem_head {
	width: 100%;
	height: 400px;
	padding: 60px 0 0 0;
	background: url("../images/head_bg.jpg") no-repeat top;
}
.sem_head h1 {
	font-size: 50px;
	color: #FFF;
	text-align: center;
	font-family: 'Roboto';
	font-weight: 500;
	line-height: 1em;
}
.sem_head .tit_min {
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #FFF;
	text-align: center;
}
/*   -----------   section01   ------------  */

.swiper-wrapper p {
	font-size: 12px;
	text-align: left;
}
.swiper-slide {
	min-width: 370px;
}
.swiper-slide img {
	margin-bottom: 15px;
}
.swiper-slide p {
	margin-bottom: 25px;
}
/*   -----------   section06   ------------  */
.w320 {
	width: 320px;
	float: right;
}
.w470 {
	width: 470px;
	margin-right: 30px;
}
.w670 {
	width: 670px;
}
.intro_box .w670 {
	background: #FFF;
	padding: 50px;
	text-align: left;
}

/*   -----------   footer   ------------  */

footer {
	padding: 30px 0;
	color: #B2B2B2;
	font-size: 90%;
	border-top: 1px solid #EDEDED;
}
#f_info {
	float: left;
}
address {
	float: right;
	font-style: normal;
}
.title01 {
	font-size: 22px;
	margin-bottom: 30px;
	text-align: center;
	color: #86c3e8;
	font-weight: 700;
}
.title01 span.in {
	font-size: 32px;
	color: #FFF;
}
.title02 {
	font-size: 28px;
	font-weight: 700;
	color: #86c3e8;
	text-align: center;
	margin-bottom: 30px;
}
.title03 {
	text-align: center;
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 90px;
}
.title04 {
	font-size: 18px;
	text-align: center;
	width: 470px;
	margin: 0 auto;
	background: #FFF;
	margin-top: -16px;
	font-weight: 500;
}
.sep02 .title04 {
	background: #e5edf6;
}
.title05 {
	font-size: 16px;
	font-weight: 500;
	color: #004ea2;
	margin-bottom: 15px;
}
.title06 {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 25px;
}
.sep {
	border-top: 1px solid #e5e5e5;
	margin-top: 20px;
}
.sep02 {
	border-top: 1px solid #ccdcec;
	margin-top: 20px;
}
.marker {
	background: linear-gradient(transparent 40%, #E5EDF6 40%);
}
.mini {
	font-size: 80%;
}
.mini02 {
	animation: Flash1 2s infinite;
}
@keyframes Flash1 {
 50% {
 opacity: 0.7;
}
}
.flag {
	display: block;
	width: 170px;
	margin: -55px auto 30px auto;
	background: #FFF;
	animation: Flash2 2s infinite;
}
@keyframes Flash2 {
 50% {
 color: #FFF;
}
}
.blue {
	color: #004ea2;
}
.staff_box {
	border: 8px solid #f2f6fa;
	padding: 32px;
	text-align: left;
}
.mini03 {
	font-size: 75%;
	color: #86C3E8;
}
.e-book {
	text-align: center;
	position: relative;
}
.atte {
	width: 50px;
	position: absolute;
	right: 0px;
	top: -70px;
}
.atte02 {
	width: 50px;
	position: absolute;
	left: -20px;
	top: -70px;
    transform: scale(-1, 1);
}
.e-book img {
	margin-left: 25px;
}
.e-book img:first-child {
	margin-left: 0px;
}
.txt01 {
	padding-top: 30px;
	border-top: 1px solid #2668b0;
}
.simpleSlider {
	width: 770px;
	height: 577px;
}
