@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-80 {
	margin-bottom: 80px;
}
.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*/
.wrapper {
	width: 1170px;
	margin: 0 auto;
}
.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: 340px;
	height: 50px;
	border: 1px solid #e5e5e5;
	text-align: center;
	line-height: 50px;
	text-decoration: none;
	color: #4d4d4d;
	margin: 0 auto;
	transition: all .3s;
}
.button01 a:hover {
	background-color: #00a0e9;
	border: 1px solid #00a0e9;
	color: #FFF;
}
.button02 a {
	display: block;
	width: 340px;
	height: 50px;
	border: 1px solid #00a0e9;
	background-color: #00a0e9;
	text-align: center;
	line-height: 50px;
	text-decoration: none;
	color: #FFF;
	margin: 0 auto;
	transition: all .3s;
}
.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 {
	position: relative;
	display: table;
	width: 100%;
	height: 780px;
	text-align: center;
	background: url("../images/main.jpg") no-repeat top;
}
#bg_video {
	position: absolute;
	right: 0;
	top: 0;
	min-width: 100%;
	min-width: 100vw;
	width: auto;
	height: 1080px;
	z-index: -100;
	background: url(../images/poster.jpg) no-repeat;
	background-size: cover;
}
#sp_bg_video {
	width: 100%;
	height: 550px;
	background: url(../images/poster_sp.jpg) no-repeat;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -100;
	background-size: 480px;
}
.video-wrap {
	position: relative;
}
h1 {
	width: 220px;
	position: absolute;
	top: 35px;
	left: 35px;
}
#head_icon1 a {
	font-display: block;
	text-decoration: none;
	position: fixed;
	top: 0;
	right: 170px;
	padding: 10px;
	color: #FFF;
	width: 150px;
	height: 90px;
	background: #86C3E8;
	text-align: center;
	z-index: 10;
	font-size: 13px;
	opacity: 1;
	transition: all .3s;
}
#head_icon1 a:hover {
	opacity: 0.7;
}
#head_icon2 a {
	display: block;
	text-decoration: none;
	position: fixed;
	top: 0;
	right: 0;
	width: 150px;
	height: 90px;
	color: #FFF;
	padding: 10px;
	background: #004EA2;
	text-align: center;
	z-index: 10;
	font-size: 13px;
	opacity: 1;
	transition: all .3s;
}
#head_icon2 a:hover {
	opacity: 0.7;
}
#head_icon1 img, #head_icon2 img {
	width: 70%;
	display: block;
	margin: 10px auto 5px;
}
.head_tel {
	position: absolute;
	top: 3%;
	right: 400px;
	text-align: left;
	line-height: 1.5;
}
.head_tel p:first-child {
	font-size: 200%;
}
header .wrapper {
	position: relative;
	top: 230px;
	left: 0;
	text-align: left;
	font-size: 18px;
}
.tag {
	position: absolute;
	width: 220px;
	right: 30px;
	bottom: 30px;
}
header .wrapper p.f_english .min {
	font-size: 40px;
	line-height: 1.0;
}
header .wrapper p.f_english {
	font-size: 70px;
	line-height: 1.0;
	margin-bottom: 70px;
	position: relative;
	display: inline-block;
}
header .wrapper p.f_english:before {
	content: '';
	position: absolute;
	left: 35px;
	bottom: -25px;
	display: inline-block;
	width: 70px;
	height: 5px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #FFF;
}
.body_c {
	width: 540px;
	opacity: 0;
	margin-top: -20px;
}
h2 {
	margin-bottom: 50px;
	font-weight: 700;
	font-size: 34px;
	opacity: 0;
	margin-top: -20px;
}
/*   -----------   section01   ------------  */

#section01 {
	width: 100%;
	background: #E5EDF6;
	position: relative;
}
#section01 .wrapper {
	position: relative;
	top: -100px;
}
.sec01_box, .sec02_box {
	background: #f2f6fa;
	padding: 35px;
	position: relative;
	text-align: left;
}
.sec02_box {
	background: #FFF;
}
.sec01_box p.f_english, .sec02_box p.f_english {
	font-family: 'Noto Sans JP', sans-serif;
	background: #86C3E8;
	text-align: center;
	color: #FFF;
	width: 40%;
	margin: 0 auto;
	padding: 5px 0;
	position: absolute;
	top: -18px;
	left: 30%;
	z-index: 5;
}
.sec02_box p.f_english {
}
.sec01_box p.f_english:before, .sec02_box p.f_english:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -7px;
	border: 7px solid transparent;
	border-top: 7px solid #86c3e8;
}
.sec01_box .img_area {
	background: #F2F6FA;
	width: 300px;
	margin-left: 0;
	margin-bottom: 20px;
	text-align: center;
}
.sec01_box .img_area img {
}
.sec01_box p.tit {
	color: #004EA2;
	font-weight: 500;
	margin-bottom: 10px;
	font-size: 16px;
}
/*   -----------   section02   ------------  */

#section02 {
	background-color: #004ea2;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 30px 15px;
	color: #FFF;
}
#section02 .wrapper {
	padding: 70px 0 80px 0;
	position: relative;
}
#section02 h3 {
	font-size: 60px;
	font-family: 'Roboto';
	position: relative;
	display: inline-block;
	font-weight: 500;
}
#section02 h3:before {
	content: '';
	position: absolute;
	left: 32px;
	bottom: 55px;
	display: inline-block;
	width: 60px;
	height: 5px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #333333;
}
#section02 h3 .h3_text {
	font-size: 20px;
	display: block;
	margin-top: 20px;
	font-family: 'Noto Sans JP', sans-serif;
}
#sec02_box01 {
	background: #F2F6FA;
	width: 530px;
	height: 520px;
	padding: 20px;
	margin-top: 50px;
	text-align: center;
	vertical-align: middle;
}
#sec02_box01 img {
	width: 90%;
	margin-top: 20px;
}
#sec02_box02 {
	background: #004EA2;
	width: 570px;
	height: 470px;
	position: absolute;
	top: 180px;
	right: -100px;
	color: #FFF;
	padding: 80px;
}
#sec02_box02 h4 {
	font-size: 25px;
	line-height: 2.0;
	margin-bottom: 35px;
	font-weight: 500;
}
#sec02_box02 p {
	margin-bottom: 30px;
}
/*   -----------   section03   ------------  */
#section03 {
	background-image: url("../images/sec03_bg.jpg");
	background-position: top center;
	background-repeat: no-repeat;
	height: 450px;
}
#section03 .wrapper {
	background-image: url("../images/white_arrow.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 30px 15px;
	color: #FFF;
	text-align: center;
	padding-top: 80px;
	font-size: 20px;
}
#section03 .wrapper p:first-child {
	font-size: 25px;
	margin-bottom: 40px;
	font-weight: 500;
}
#section02 .wrapper p.contact a {
	display: block;
	text-decoration: none;
	color: #FFF;
	border-radius: 50px;
	border: 2px solid #FFF;
	padding: 15px 0;
	width: 470px;
	font-size: 18px;
	margin: 40px auto 0;
	font-weight: 500;
	transition: all .3s;
	text-align: center;
}
#section02 .wrapper p.contact a:hover {
	border: 2px solid #FFF;
	color: #004ea2;
	background: #FFF;
}
/*   -----------   section04   ------------  */

#section04 {
	text-align: center;
	padding: 70px 0 80px;
}
#section05 h3, #section06 h3, #section07 h3, #section08 h3 {
	font-size: 60px;
	font-family: 'Roboto';
	position: relative;
	display: inline-block;
	font-weight: 500;
}
#section04 h3 {
	position: relative;
	display: inline-block;
}
#section05 h3:before, #section06 h3:before, #section07 h3:before, #section08 h3:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 55px;
	display: inline-block;
	width: 60px;
	height: 5px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #333333;
}
#section04 h3:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -30px;
	display: inline-block;
	width: 60px;
	height: 5px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #333333;
}
#section05 h3 .h3_text, #section06 h3 .h3_text, #section07 h3 .h3_text, #section08 h3 .h3_text {
	font-size: 20px;
	display: block;
	margin-top: 20px;
	font-family: 'Noto Sans JP', sans-serif;
}
#section04 .two_box {
	margin-top: 40px;
}
.two_box .sec04_box {
	background: #FFF;
	padding: 40px;
	width: 490px;
	position: relative;
}
.sec04_box p:first-child {
	font-size: 40px;
	font-family: 'ROboto';
	font-weight: 500;
	border-bottom: solid 3px #333333;
	display: inline-block;
	position: absolute;
	top: -40px;
	left: 45%;
}
.sec04_box p.tit {
	background: #FFF;
	width: 330px;
	display: block;
	font-size: 20px;
	position: absolute;
	top: 55px;
	left: 0;
	right: 0;
	margin: auto;
	font-weight: 500;
}
.sec04_box .img_area {
	border: solid 1px #E5E5E5;
	width: 100%;
	max-width: 430px;
	padding: 30px;
	margin-top: 30px;
}
.sec04_box p.sub_tit {
	background: #86C3E8;
	width: 100%;
	color: #FFF;
	font-size: 15px;
	padding: 10px 0;
	margin: 20px 0;
	font-weight: 500;
}
.sec04_box ul {
	width: 50%;
	float: left;
}
.sec04_box ul li {
	background: url("../images/list_bg.jpg");
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 20px;
	text-align: left;
	font-size: 15px;
}
.two_box .sec04_box .clearfix {
	width: 100%;
}
.sec04_box p:last-child {
	margin-top: 30px;
	padding-top: 30px;
	border-top: solid 1px #E5E5E5;
	text-align: left;
	clear: both;
}
/*   -----------   section05   ------------  */
#section05 {
	background-color: #e5edf6;
	background-image: url("../images/white_arrow.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 30px 15px;
	text-align: center;
	padding: 40px 0 100px 0;
}
#section05 p.title {
	text-align: left;
	margin: 40px 0 20px;
	border-top: solid 1px #E5E5E5;
	padding-top: 20px;
	font-weight: 500;
}
#section05 p.title .industry {
	font-weight: 100;
	color: #86C3E8;
	font-size: 85%;
	margin-left: 20px;
}
.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   ------------  */
#section06 {
	background-color: #E5EDF6;
	background-image: url("../images/white_arrow.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 30px 15px;
	text-align: center;
	padding: 70px 0;
}
#section06 .wrapper {
	position: relative;
	height: 750px;
}
#sec06_box01 {
	background: #FFF;
	max-width: 490px;
	position: absolute;
	bottom: -80px;
	left: 0;
	height: 200px;
	background-image: url("../images/sec06_img01.jpg");
	background-position: top left;
	background-repeat: no-repeat;
	padding: 370px 40px 40px;
}
#sec06_box02 {
	background: #FFF;
	max-width: 490px;
	position: absolute;
	bottom: -80px;
	right: 0;
	height: 200px;
	background-image: url("../images/sec06_img02.jpg");
	background-position: top left;
	background-repeat: no-repeat;
	padding: 370px 40px 40px;
}
#sec06_box01 p.tit, #sec06_box02 p.tit {
	background: #86C3E8;
	width: 490px;
	padding: 10px 0;
	color: #FFF;
	margin: -25px auto 0;
	text-align: center;
	font-weight: 500;
}
#sec06_box01 p, #sec06_box02 p {
	text-align: left;
}
#section06 p.sub_tit {
	font-size: 20px;
	color: #004EA2;
	line-height: 1.7;
	margin: 30px 0 20px 0;
	font-weight: 500;
}
.intro_box {
	display: flex;
}
.w320 {
	width: 320px;
	float: right;
}
.w470 {
	width: 470px;
	margin-right: 30px;
}
.w670 {
	width: 670px;
}
.intro_box .w670 {
	background: #FFF;
	padding: 50px;
	text-align: left;
}
/*   -----------   section07   ------------  */
#section07 {
	padding: 40px 0 0;
	text-align: center;
	background-image: url("../images/arrow_blue.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 30px 15px;
}
#section07 img {
	border-bottom: solid 1px #E5E5E5;
	padding-bottom: 30px;
	margin-bottom: 20px;
}
#section07 p {
	text-align: left;
	margin-bottom: 100px;
}
/*   -----------   section08   ------------  */
#section08 {
	background-color: #E5EDF6;
	background-image: url("../images/white_arrow.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 30px 15px;
	text-align: center;
	padding: 40px 0 90px;
}
#sec08_box01 {
	width: 100%;
	background: #FFF;
	padding: 30px 0;
	margin-top: 50px;
	position: relative;
}
#sec08_box01 p.tit {
	display: block;
	width: 48%;
	text-align: right;
	margin-right: 30px;
	font-size: 130%;
	float: left;
	margin-top: 25px;
	font-weight: 500;
}
#sec08_box01 .tel {
	width: 46%;
	float: right;
	text-align: left;
	border-left: solid 1px #E5E5E5;
	padding-left: 30px;
}
#sec08_box01 .tel p {
	width: 100%;
	text-align: left;
}
#sec08_box01 .tel a {
	text-decoration: none;
}
#sec08_box01 .tel p:first-child {
	font-size: 200%;
	font-weight: 500;
}
#sec08_box02 {
	width: 50%;
	text-align: center;
	padding: 70px 0;
	float: left;
	background: #86C3E8;
	color: #FFF;
}
#sec08_box03 {
	width: 50%;
	text-align: center;
	padding: 70px 0;
	float: right;
	background: #004EA2;
	color: #FFF;
}
#sec08_box02 p:first-child, #sec08_box03 p:first-child {
	font-size: 150%;
	margin-bottom: 20px;
	font-weight: 500;
}
#sec08_box02 p.link_btn a, #sec08_box03 p.link_btn a, .ebook p.link_btn a {
	color: #333333;
	background: #FFF;
	padding: 20px 0;
	width: 370px;
	border-radius: 40px;
	margin: 30px auto 0;
	font-weight: 500;
	transition: all .3s;
}
#sec08_box02 p.link_btn a, #sec08_box03 p.link_btn a, .ebook p.link_btn a {
	display: block;
	text-decoration: none;
	color: #333333;
	transition: all .3s;
}
#sec08_box02 p.link_btn a:hover, #sec08_box03 p.link_btn a:hover, .ebook p.link_btn a:hover {
	opacity: 0.7;
}
.mae_cv {
	position: absolute;
	top: -179px;
	right: 0;
}
/*   -----------   footer   ------------  */

footer {
	padding: 30px 0;
	color: #B2B2B2;
	font-size: 90%;
}
#f_info {
	float: left;
}
address {
	float: right;
	font-style: normal;
}
.title01 {
	font-size: 22px;
	margin-bottom: 5px;
	text-align: center;
}
.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;
}
}
.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;
}
