@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:500,700&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Oswald:700');

/* body
-------------------------------------------------- */
body {
	font-size: 100%;
	line-height:1.75;
	zoom: 1;
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	letter-spacing: 0.12em;
	color: #333333;
	width: 100%;
	min-width: 1160px;
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* link
-------------------------------------------------- */
a {
	color:#333333;
	text-decoration:none;
	transition: all .3s;
}
/* clear
-------------------------------------------------- */
.clear:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
/* img
-------------------------------------------------- */
img {
	width: 100%;
	height: auto;
}

/*/////////////////////////////////////////////////////////////////////////////


                  ■  layout  ■


/////////////////////////////////////////////////////////////////////////////*/
 #container {
	width: 100%;
	margin: 0px auto;
	position: relative;
	overflow: hidden;
}
.sec-wrap {
	padding: 60px 0 45px;
	position: relative;
}

/*/////////////////////////////////////////////////////////////////////////////


                  ■  header  ■


/////////////////////////////////////////////////////////////////////////////*/
/*header {
	width: 100%;
	height: 115px;
	padding: 0 15px;
	box-sizing: border-box;
  position: fixed;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.9);
}*/

header .logo {
/*	width: 624px;*/
	width: 700px;
}
header .btn a {
	width: 385px;
	position: absolute;
	top: 15px;
	right: 15px;
  text-align: left;
}
header .btn a::before {
	height: 80px;
	top: 3px;
}
header .btn a span {
	font-size: 16px;
	font-weight: 500;
  height: 80px;
	line-height: 60px;
	background: #fff600 url(../images/arrow.png) right 15px center no-repeat;
	background-size: 9px auto;
}
header .btn a:hover span {
	  background-position:  right 10px center;
}

header .btn a span img{
  width: 335px;
  margin-left: 10px;
  margin-top: -6px;
}


/*/////////////////////////////////////////////////////////////////////////////


                  ■  footer  ■


/////////////////////////////////////////////////////////////////////////////*/
footer {
	width: 100%;
	background: #4774b9;
	color: #FFFFFF;
}
footer .ft-inr {
	width: 1080px;
	margin: 0 auto;
	display: flex;
}
footer .ft-inr ul {
	width: 40%;
	text-align: left;
}
footer .ft-inr ul li {
	display: inline-block;
}
footer .ft-inr ul li::after {
	display: inline;
	content: " / ";
	padding: 0 10px;
}
footer .ft-inr ul li:last-child::after {
	display: none;
}
footer .ft-inr ul li a {
	font-size: 13px;
	line-height: 80px;
	color: #FFFFFF;
}
footer .ft-inr ul li a:hover {
	text-decoration: underline;
}
.copyright {
	width: 60%;
	font-size: 11px;
	display: inline-block;
	text-align: right;
	line-height: 80px;
}

.footer-logo{
  background: #fff;
  text-align: center;
  padding: 0 0 30px;
}

.footer-logo a img,
.footer-logo img{
  width: 400px;
}

/*/////////////////////////////////////////////////////////////////////////////


                  ■  contents  ■


/////////////////////////////////////////////////////////////////////////////*/

/* .sec-ttl
-------------------------------------------------- */
.sec-ttl {
	width: 1080px;
	margin: 0 auto;
	text-align: center;
}
.sec-ttl p {
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 20px;
}
.sec-ttl h2 {
	margin-bottom: 40px;
}
.sec-ttl h2 span{
  font-size: 46px;
  font-weight: bold;
  line-height: 1.5;
  display: inline;
  padding: 0 10px 0;
  letter-spacing: 0.1em;
  background: linear-gradient(transparent 60%, #fff600 60%);
}
.sec-ttl .lead {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 50px;
}
.sec-ttl .subttl {
	display: inline-block;
	font-size: 22px;
	line-height: 70px;
	padding: 0 20px;
	margin-bottom: 30px;
	border-bottom: 1px solid #1a1a1a;
	border-top: 1px solid #1a1a1a;
}

/* .btn
-------------------------------------------------- */
.btn a {
	display: inline-block;
	width: 900px;
	text-align: left;
	position: relative;
  height: 90px;
}
.btn a::before {
	content: "";
	width: 100%;
	height: 100px;
	position: absolute;
	top: 5px;
	left: 0;
	background: #9a951a;
	border-radius: 4px;
}
.btn a span {
	display: block;
  height: 100px;
	background: #fff600 url(../images/arrow.png) right 50px center no-repeat;
	background-size: 9px auto;
	position: relative;
	border-radius: 4px;
	transition: all .3s;
}
.btn a:hover {
	opacity: 0.6;
}
.btn a:hover span {
	background-position:  right 40px center;
}

.btn a img{
  width: 763px;
  margin-top: -16px;
  margin-left: 20px;
}
/* ===============================================
  ▼ cv
=============================================== */
.cv {
	width: 100%;
	padding: 60px 0;
	background: url(../images/cv-bg.jpg) center center ;
  background-size: contain;
	text-align: center;
}
.cv .block {
	width: 1080px;
	padding: 40px 0 45px;
	margin: 0 auto;
	background: #FFFFFF;
	border: 2px solid #1a1a1a;
	box-sizing: border-box;
}
.cv .block .ttl {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.65;
	margin-bottom: 25px;
}
.cv .block .ttl span {
	font-size: 32px;
	font-weight: 700;
}
.cv .ft-logo {
	width: 160px;
	margin: 40px auto 0;
}

/* ===============================================
  ▼ main
=============================================== */
.main {
	width: 100%;
	/* height: 590px; */
	position: relative;
	padding: 80px 0;
	box-sizing: border-box;
  overflow: hidden;
  /*margin-top: 120px;*/
}
.main::after,
.main::before {
	content: "";
	width:130px;
	height: 286px;
	position: absolute;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 130px auto;
	z-index: 2;
}
.main::after {
	left: 0;
	top: 0;
	background-image: url(../images/main_bg01.png);
}
.main::before {
	right: 0;
	bottom: 0;
	background-image: url(../images/main_bg02.png);
  	z-index: 2;
}
.main .main-slide {
	width: 100%;
	/* height: 590px; */
	position: absolute;
  top:0;
  overflow: hidden;
}
.main .bg01 {
	background-image: url(../images/main01.jpg);
	left: 0;
}
.main .bg02 {
	background-image: url(../images/main02.jpg);
	right: 0;
}
.main .ttl-area {
	width: 680px;
	height: 430px;
	margin: 0 auto;
	padding: 40px 0 0;
	font-size: 22px;
	background: rgba(71,116,185,0.8);
	color: #FFFFFF;
	text-align: center;
	box-sizing: border-box;
	position: relative;
  z-index: 2;
}
.main .ttl-area h1 {
	width: 680px;
	margin: 30px auto 15px;
	font-size: 48px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1.1;
}
.main .ttl-area h1 span{
  font-size: 22px;
  display: block;
  margin-top: 10px;
}
.main .ttl-area .lead {
	width: 380px;
	margin: 30px auto 0;
  border: 2px solid #fff;
  padding: 0px 10px;
  font-size: 28px;
  font-weight: bold;
}

.swiper-wrapper{
  overflow: hidden;
  /* height: 590px; */
}

.swiper-slide{
  overflow: hidden;
  /* height: 590px; */
}

/* ===============================================
  ▼ sec01
=============================================== */
.balloon {
	position: relative;
	display: block;
	margin: 0 auto 70px;
	width: 560px;
	font-size: 22px;
	background: #FFF;
	border: solid 2px #1a1a1a;
	box-sizing: border-box;
	text-align: center;
  padding: 20px 0;
}
.balloon::before {
	content: "";
	position: absolute;
	bottom: -35px;
	left: 50%;
	margin-left: -18px;
	border: 18px solid transparent;
	border-top: 18px solid #FFF;
	z-index: 2;
}
.balloon::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 50%;
	margin-left: -20px;
	border: 20px solid transparent;
	border-top: 20px solid #1a1a1a;
	z-index: 1;
}
.balloon p {
	line-height: 1.5;
	font-weight: 700;
}
.sec01-cont {
	position: relative;
}
.sec01-cont::before {
	content: "";
	width: 100%;
	height: 100%;
	background: #4774b9;
	position: absolute;
	top: 30px;
	left: 0;
	transform: skewY(4deg);
}
.col3 {
	width: 1080px;
	margin: auto;
}
.col3 li {
	float: left;
	width: 330px;
	height: 330px;
	margin-right: 40px;
	position: relative;
}
.col3 li:nth-child(3n) {
	margin-right: 0;
}
.col3 li:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 10px;
	left: 10px;
	background: #fff600;
}
.col3 li .block {
	width: 100%;
	height: 100%;
	padding: 30px 25px;
	background: #FFFFFF;
	position: relative;
	box-sizing: border-box;
}
.sec01 .col3 {
	padding-bottom: 100px;
}
.sec01 .block dl dt {
	width: 145px;
	line-height: 9px;
	margin-bottom: 0px;
}

.sec01 .block dl dt img{
  width: 44px;
}
.sec01 .block dl dd {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 3px;
	padding-left: 5px;
}
.sec01 .block dl dd.icon {
	width: 160px;
	margin: 0px auto 10px;
	padding-left: 0;
}

/* ===============================================
  ▼ sec02
=============================================== */
.sec02::before {
	content: "";
	width: 100%;
	height: 760px;
	background: rgba(51,51,51,0.04);
	position: absolute;
	top: -200px;
	left: 0;
	transform: skewY(-4deg);
	z-index: -1;
}
.sec02 .block-wrap {
	width: 1040px;
	margin: 0 auto;
}
.sec02 .block .thumb {
	width: 50%;
	position: relative;
}
.sec02 .block .thumb::before {
	content: "";
	width: 100%;
	height: 100%;
	background: url(../images/dot.png) left top repeat;
	background-size: 8px auto;
	position: absolute;
	top: 30px;
}
.sec02 .block .thumb .ttl {
	position: absolute;
	bottom: -20px;
}
.sec02 .block .thumb img {
	position: relative;
}
.sec02 .block-inr {
	width: 50%;
	box-sizing: border-box;
}
.sec02 .block-inr .ttl {
	width: 420px;
	border-top: 1px solid #333333;
	border-left: 1px solid #333333;
	position: relative;
}
.sec02 .block-inr .ttl span  {
	display: block;
	font-size: 18px;
	font-weight: 700;
	line-height: 80px;
	padding: 0 40px;
	position: relative;
}
.sec02 .block-inr .ttl::before {
	content: "";
	width: 420px;
	height: 80px;
	background: url(../images/dot.png) left top repeat;
	background-size: 8px auto;
	position: absolute;
	top: 20px;
	left: 20px;
}
.sec02 .block-inr ul {
	padding: 35px 0 0 20px;
}
.sec02 .block-inr li {
	font-weight: 700;
	position: relative;
	padding: 0 0 0 25px;
	margin-bottom: 3px;
}
.sec02 .block-inr li::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	box-sizing: border-box;
	width: 8px;
	height: 8px;
	background: #4774b9;
	border-radius: 4px;
}
.sec02 .block:nth-child(odd) .thumb {
	float: left;
}
.sec02 .block:nth-child(odd) .block-inr {
	float: left;
	padding-left: 50px;
}
.sec02 .block:nth-child(odd) .thumb::before {
	left: -30px;
}
.sec02 .block:nth-child(odd) .thumb .ttl {
	left: -20px;
}
.sec02 .block:nth-child(odd) .block-inr .ttl span {
	background: #f5f5f5;
}
.sec02 .block:nth-child(even) .thumb {
	float: right;
}
.sec02 .block:nth-child(even) .block-inr {
	float: right;
	padding: 85px 0 0 20px;
}
.sec02 .block:nth-child(even) .thumb::before {
	right: -30px;
}
.sec02 .block:nth-child(even) .block-inr .ttl span {
	background: #FFFFFF;
}

.sec02_2 .block .block-inr:nth-child(odd) {
	width:50%;
	position: relative;
  padding-left: 0;
	padding-right: 2%;
}
.sec02_2 .block .block-inr:nth-child(even) {
	width:50%;
	position: relative;
	padding-left:  2%;
	padding-right: 0;
}
.sec02_2 .block .block-inr .thumb {
	width:98%;
	position: relative;
  float: none;
}

.sec02_2 .block:nth-child(odd) .block-inr .thumb::before {
	left: -15px;
	top: 30px;
}

.sec02_2 .block .block-inr h3{
	font-size: 28px;
	font-weight: bold;
	margin:25px 0 25px;
  line-height: 1;
}

.sec02_2 .block .block-inr h3 span{
	font-size: 20px;
	font-weight: normal;
}

.sec02_2 .block .block-inr p{
  font-size: 14px;
}

/* ===============================================
  ▼ sec03
=============================================== */
.sec03 {
	padding-top: 110px;
	padding-bottom: 0;
}
.sec03::before,
.sec03::after {
	content: "";
	width: 100%;
	height: 80%;
	background: rgba(51,51,51,0.04);
	position: absolute;
	left: 0;
	z-index: -1;
}
.sec03::before {
	top: -90px;
	transform: skewY(-4deg);
}
.sec03::after {
	top: 10px;
	transform: skewY(18deg);
}
.sec03-cont {
	position: relative;
	padding-bottom: 20px;
	overflow: hidden;
}
.sec03-cont::before {
	content: "";
	width: 100%;
	height: 3700px;
	background: #4774b9;
	position: absolute;
	bottom: -100px;
	left: 0;
	transform: skewY(-4deg);
	z-index: -1;
}
.tab-wrap {
	width: 1080px;
	margin: 20px auto 20px;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 2px solid #1a1a1a;
}
.tab {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.tab li {
	width: 50%;
	text-align: center;
	border-right: 2px solid #1a1a1a;
	border-bottom: 2px solid #1a1a1a;
	box-sizing: border-box;
	cursor: pointer;
	padding: 10px 0 15px;
	position: relative;
}
.tab li:last-child {
	border-right: none;
}
.tab li p {
	display: inline-block;
	font-size: 18px;
	line-height: 1.5;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 50px auto;
	padding: 10px 40px 0 70px;
	opacity: 0.5;
	transition: all .3s;
}
.tab li p span {
	font-size: 28px;
	font-weight: 700;
}
.tab li:nth-child(1) p {
	background-image: url(../images/icon_course01.png);
}
.tab li:nth-child(2) p {
	background-image: url(../images/icon_course02.png);
}
.tab li.ac {
	background: #fff600;
}
.tab li.ac::before {
	content: "";
	position: absolute;
	bottom: -35px;
	left: 50%;
	margin-left: -18px;
	border: 18px solid transparent;
	border-top: 18px solid #fff600;
	z-index: 2;
}
.tab li.ac::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 50%;
	margin-left: -20px;
	border: 20px solid transparent;
	border-top: 20px solid #1a1a1a;
	z-index: 1;
}
.tab li.ac p,
.tab li:hover p {
	opacity: 1;
}
.tab-cont {
	padding: 50px;
	display: none;
	transition: all .3s;
}
.tab-cont.ac {
	display: block;
}
.tab-cont .ttl {
	font-size: 32px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 35px;
}

.lineup-box {
	margin-bottom: 30px;
}

.lineup-box  li.lineup{
	padding: 0px;
	height: 68px;
	width: 40%;
	margin-left: 35px;
	float: left;
}

.lineup-box  li.lineup img{
	width: 90px;
	float:left;
	margin-top:-1px;
	margin-left: -35px;
}

.lineup-box  li.lineup h5{
	margin-top: 9px;
  margin-left: 78px;
	font-size: 18px;
  font-weight: bold;
	text-align: left;
  line-height: 1.5;
  letter-spacing: 0;
}

.lineup-box  li.lineup h5.flower{
	margin-top: 2px;
  margin-left: 78px;
	font-size: 18px;
  font-weight: bold;
	text-align: left;
  line-height: 1.5;
  letter-spacing: 0;
}

.lineup-box li.lineup h5 span.half-year {
    color: #333333!important;
    font-size: 14px;
    display: inline;
}

.lineup-box  li.lineup h5 span{
  font-size: 12px;
  display: block;
}

.lineup-box  li.lineup h5.lineup-blue span{
    color: #5877ba;
  }
  .lineup-box  li.lineup h5.lineup-light_blue span{
      color: #73b5e4;
  }
  .lineup-box  li.lineup h5.lineup-light_purple span{
      color: #a67cb4;
  }
  .lineup-box  li.lineup h5.lineup-purple span{
      color: #7f3f6d;
  }
  .lineup-box  li.lineup h5.lineup-green span{
      color: #229b6c;
  }
  .lineup-box  li.lineup h5.lineup-ocher span{
      color: #93864e;
  }
  .lineup-box  li.lineup h5.lineup-light_green span{
      color: #79c48d;
  }
  .lineup-box  li.lineup h5.lineup-yellow_green span{
      color: #9ea93a;
  }
  .lineup-box  li.lineup h5.lineup-pink span{
      color: #dd7694;
  }
  .lineup-box  li.lineup h5.lineup-wine_red span{
      color: #c22861;
  }
  .lineup-box  li.lineup h5.lineup-skin span{
      color: #d2a47e;
  }
  .lineup-box  li.lineup h5.lineup-red span{
    color: #c6493d;
  }
  .lineup-box  li.lineup h5.lineup-orange span{
      color: #d8710a;
  }
  .lineup-box  li.lineup h5.lineup-navy span{
      color: #073061;
  }
  .lineup-box  li.lineup h5.lineup-brown span{
      color: #956235;
  }
  .lineup-box  li.lineup h5.lineup-dark_brown span{
      color: #412210;
  }
  .lineup-box  li.lineup h5.lineup-light_brown span{
	color: #c5b35f;
}
.lineup-box  li.lineup h5.lineup-dark_green span{
      color: #006632;
}
.lineup-box  li.lineup h5.lineup-beige span{
      color: #c7b654;
}
.lineup-box  li.lineup h5.lineup-dark_brown span{
      color: #694f3c;
}

.lineup-message{
  text-align: center;
}

.lineup-message img{
  width: 77px;
  margin: 0 auto;
}

.lineup-message p{
  position: relative;
    z-index: 2;
}

.lineup-message p span{
  /*background: #4774b9;*/
  width: 100%;
  padding: 20px 0;
  font-size: 30px;
  font-weight: bold;
  display: block;
  color:#4774b9;
  border: #4774b9 3px solid;
}

.lineup-message p::before{
  content: "";
width: 100%;
height: 100%;
/*background: #000;*/
position: absolute;
left: 6px;
top: 6px;
z-index: -1;
}

.sec03-cont  li.lineup-plus{
  border: 0;
  padding: 2%;
}

.lineup-box  li.lineup.lineup-single{
  width: 60%;
  margin-left: 180px;
  margin-bottom: 30px;
}

.sv-cont-2{
  padding: 50px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.sv-cont-2 h3{
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 40px;
}

.sv-cont-2 h3 img{
  width: 420px;
  display: block;
  margin-bottom: 10px;
}
.sv-cont-2-inner .sv-cont-txt{
  width: 65%;
  float: left;
}

.sv-cont-2-inner .sv-cont-img{
  width: 30%;
  float: right;
  text-align: center;
}

.sv-cont-2-inner .sv-cont-img img{
  border-radius: 50%;
}

.sv-cont-2-inner .sv-cont-img p{
  font-size: 20px;
  font-weight: bold;
}

.box-cont {
	background: #f5f5f5;
	padding: 50px;
	text-align: center;
	margin-bottom: 0px;
}
.box-ttl {
	display: inline-block;
	padding: 15px 60px;
	border-top: 1px solid #1a1a1a;
	border-bottom: 1px solid #1a1a1a;
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 20px;
}
.box-lead {
	font-size: 24px;
  color: #e60039;
}
.box-cont-inr {
	background: #FFFFFF;
	padding: 40px 35px 35px;
	/*margin-top: 55px;*/
	position: relative;
}
.box-inr-ttl {
	width: 100%;
	font-weight: 700;
	font-size: 20px;
	text-align: center;
	position: absolute;
	left: 0;
	top: -18px;
}
.box-cont-inr li {
	float: left;
	border: 1px solid #1a1a1a;
	padding: 30px 0 25px;
	box-sizing: border-box;
}
.box-cont-inr li .numb {
	line-height: 17px;
	margin-bottom: 15px;
}
.box-cont-inr li .numb img {
	width: auto;
	height: 17px;
}
.box-cont-inr li .thumb {
	margin-bottom: 10px;
}
.box-col3 {
	padding-right: 20px;
}
.box-col3 li {
	width: 33.3333%;
	margin-right: 10px;
	letter-spacing: 0;
}
.box-col3 li:nth-child(3n) {
	margin-right: -20px;
}
.box-col2 {
	padding-right: 20px;
}
.box-col2 li {
	width: 50%;
	margin-right: 20px;
	letter-spacing: 0;
	padding-left: 30px;
	padding-right: 30px;
	font-size: 14px;
}
.box-col2 li:nth-child(2n) {
	margin-right: -20px;
}
.box-col2 li span {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: #4774b9;
	margin: -5px 0 15px;
}
.career-list {
	display: table;
	border: 2px solid #1a1a1a;
	padding: 30px 40px;
	text-align: left;
	margin-top: 10px;
}
.career-ttl {
	display: table-cell;
	width: 22%;
	font-size: 18px;
	font-weight: 700;
	vertical-align: middle;
}
.career-list-inr {
	display: table-cell;
	width: 78%;
	font-size: 14px;
}
.career-list-inr dt {
	font-size: 15px;
	font-weight: bold;
}
.career-list-inr dd {
	border-bottom: 1px solid #1a1a1a;
	margin: 5px 0 15px;
	padding-bottom: 10px;
}
.career-list-inr dd:last-child {
	border-bottom: none;
	margin: 5px 0 0;
	padding-bottom: 0;
}

/* ===============================================
  ▼ sec04
=============================================== */
.sec04 {
	overflow: hidden;
	padding-bottom: 0;
}
.sec04::before,
.sec04::after {
	content: "";
	width: 100%;
	height: 920px;
	background: rgba(51,51,51,0.04);
	position: absolute;
	left: 0;
	z-index: -1;
}
.sec04::before {
	top: -450px;
	transform: skewY(-18deg);
}
.sec04::after {
	bottom: -470px;
	transform: skewY(18deg);
}
.sec04-cont {
	width: 1080px;
	margin: 90px auto;
	position: relative;
}
.sec04-cont .thumb {
	position: relative;
	width: 680px;
}
.sec04-cont .thumb:before {
	content: "";
	width: 610px;
	height: 625px;
	position: absolute;
	top: -35px;
	right: -75px;
	background: url(../images/dot.png) left top repeat;
	background-size: 8px auto;
}
.sec04-cont .thumb img {
	position: relative;
	z-index: 1;
}
.sec04-cont .info {
	position: absolute;
	top: 85px;
/*	left: 635px;*/
	left: 655px;
	z-index: 2;
}
.sec04-cont .info p {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 1px;
/*  padding: 5px 15px;*/
  padding: 5px 25px;
  border: 3px solid #333333;
  text-align: center;
  display: inline-block;
  margin-bottom: 24px;
}
.sec04-cont .info h3 {
	font-size: 76px;
	font-weight: 700;
	color: #4774b9;
	letter-spacing: 4px;
}
.sec04 .col3 {
	padding-bottom: 100px;
}
.sec04 .col3 li {
	height: 290px;
}
.sec04 .col3 li .block {
	background: #fafafa;
	padding: 30px 0px;
}
.sec04 .block dl {
	width: 100%;
	height: 100%;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	padding-left: 5px;
	box-sizing: border-box;
}
.sec04 .block dl dt {
	width: 68px;
	line-height: 69px;
	position: absolute;
	left: 50%;
	top: -50px;
	margin-left: -34px;
}
.sec04 .block dl dd {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 3px;
	text-align: center
}
.point-cont {
	position: relative;
}
.point-cont::before {
	content: "";
	width: 750px;
	height: 380px;
	border: 2px solid #1a1a1a;
	box-sizing: border-box;
	position: absolute;
	top: -80px;
	right: 40px;
  z-index: -2;
}
.point-cont .point-ttl {
	font-size: 22px;
	font-weight: bold;
	text-align: right;
	padding: 40px 100px 20px 0;
}

.point-cont .point-txt{
  background: #fafafa;
  padding: 80px 60px;
  position: relative;
  width: 700px;
  margin-left: 190px;
}
.point-cont .point-txt::before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 10px;
  left: 10px;
  background: #fff600;
  z-index: -1;
}

.point-cont .point-txt p{
    font-weight: bold;
}

.sd-cont {
	position: relative;
}
.sd-cont::before {
	content: "";
	width: 430px;
	height: 340px;
	position: absolute;
	top: -50px;
	left: -30px;
	background: url(../images/dot.png) left top repeat;
	background-size: 8px auto;
}
.sd-cont-inr {
	position: relative;
	margin-left: 20px;
}
.sd-cont-inr::before {
	content: "";
	width: 400px;
	height: 310px;
	position: absolute;
	top: 0;
	left: 0;
	background: #FFFFFF;
}
.sd-cont .sd-ttl {
	font-size: 22px;
	font-weight: bold;
	padding: 30px 0 30px 50px;
	position: relative;
}
.sd-cont .sd-ttl::before {
	content: "";
	width: 260px;
	height: 140px;
	border-left: 1px solid #1a1a1a;
	border-top: 1px solid #1a1a1a;
	position: absolute;
	top: -20px;
	left: -20px;
}
.sd-cont ul li {
	float: left;
	width: 500px;
	margin-left: 30px;
	position: relative;
}
.sv-cont {
	width: 100%;
	background: rgba(51,51,51,0.04);
	margin-top: 115px;
}
.sv-cont-inr {
	width: 1080px;
	padding: 50px 0;
	margin: 0 auto;
	display: table;
	position: relative;
}
.sv-ttl img{
	width: 420px;
  display: block;
  margin-bottom: 10px;
}
.sv-cont .thumb,
.sv-cont dl,
.sv-cont .txt {
	display: table-cell;
	vertical-align: middle;
}
.sv-cont .thumb {
	width: 290px;
  text-align: center;
  padding-right: 30px;
}

.sv-cont .thumb img{
  border-radius: 50%;
}

.sv-cont .thumb p{
  font-size: 20px;
  font-weight: bold;
}

.sv-cont .txt {
	width: 770px;
}
.sv-cont .txt p {
	border-left: 1px solid #4774b9;
	padding: 20px 0 20px 30px;
}

.sv-cont h3{
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 1px;
  padding-left:30px;
}

/* ===============================================
  ▼ sec05
=============================================== */
.sec05 {
	overflow: hidden;
	padding-bottom: 110px;
}
.sec05::before,
.sec05::after {
	content: "";
	width: 100%;
	height: 920px;
	position: absolute;
	left: 0;
	z-index: -1;
}
.sec05::before {
	background: rgba(51,51,51,0.04);
	top: -450px;
	transform: skewY(-18deg);
}
.sec05::after {
	background: #4774b9;
	bottom: -440px;
	transform: skewY(4deg);
}
.sec05-cont01 {
	width: 1080px;
	margin: 0 auto 90px;
	position: relative;
}
.sec05-cont01::before {
	content: "";
	width: 680px;
	height: 180px;
	background: url(../images/dot.png) left top repeat;
	background-size: 8px auto;
	position: absolute;
	right: 0;
	bottom: -30px;
}
.sec05-cont01 .thumb {
	width: 540px;
	float: left;
}
.sec05-cont01 .txt {
	width: 510px;
	height: 360px;
	float: left;
	padding: 70px 0 0 60px;
	box-sizing: border-box;
	font-size: 18px;
	position: relative;
}
.sec05-cont01 .txt::before {
	content: "";
	width: 150px;
	height: 1px;
	background: #1a1a1a;
	position: absolute;
	left: 60px;
	top: 0;
}
.sec05-cont01 .txt::after {
	content: "";
	width: 510px;
	height: 150px;
	background: #FFFFFF;
	position: absolute;
	right: 0;
	bottom: 0;
}
.sec05-cont01 .ttl {
	width: 483px;
	position: absolute;
	right: 0;
	bottom: -15px;
}
.lt-cont {
	width: 1080px;
	margin: 65px auto 0;
}
.lt-cont li {
	width: 510px;
	margin-right: 30px;
	float: left;
	position: relative;
}
.lt-cont li::before {
	content: "";
	width: 385px;
	height: 240px;
	position: absolute;
	top: -30px;
	left: -30px;
	background: url(../images/dot.png) left top repeat;
	background-size: 8px auto;
}
.lt-cont-inr {
	position: relative;
	padding: 0 60px;
}
.lt-cont-inr::before {
	content: "";
	width: 380px;
	height: 190px;
	position: absolute;
	top: 20px;
	left: 20px;
	background: #FFFFFF;
}
.lt-cont .lt-ttl {
	font-size: 20px;
	padding: 60px 0 25px 5px;
	position: relative;
}
.lt-cont .lt-ttl img {
	height: 39px;
	width: auto;
	margin: 0 0 5px -5px;
}
.lt-cont .lt-ttl::before {
	content: "";
	width: 310px;
	height: 140px;
	border-left: 1px solid #1a1a1a;
	border-top: 1px solid #1a1a1a;
	position: absolute;
	top: 0;
	left: -60px;
}
.lt-cont .thumb {
	position: relative;
	margin-bottom: 20px;
}
.lt-cont .txt {
	color: #FFFFFF;
}

/* =========================================================
utility
========================================================= */

.pB-5 {
    padding-bottom: 5px !important;
}
.pB-10 {
    padding-bottom: 10px !important;
}
.pB-15 {
    padding-bottom: 15px !important;
}
.pB-20 {
    padding-bottom: 20px !important;
}
.pB-25 {
    padding-bottom: 25px !important;
}
.mB-5 {
    margin-bottom: 5px !important;
}
.mB-10 {
    margin-bottom: 10px !important;
}
.mB-15 {
    margin-bottom: 15px !important;
}
.mB-20 {
    margin-bottom: 20px !important;
}
.mB-25 {
    margin-bottom: 25px !important;
}
.mB-30 {
    margin-bottom: 30px !important;
}
.mB-40 {
    margin-bottom: 40px !important;
}
.mB-50 {
    margin-bottom: 50px !important;
}
.mB-60 {
    margin-bottom: 60px !important;
}
.mB-70 {
    margin-bottom: 70px !important;
}
.mB-80 {
    margin-bottom: 80px !important;
}


.pT-5 {
    padding-top: 5px !important;
}
.pT-10 {
    padding-top: 10px !important;
}
.pT-15 {
    padding-top: 15px !important;
}
.pT-20 {
    padding-top: 20px !important;
}
.pT-25 {
    padding-top: 25px !important;
}
.mT-5 {
    margin-top: 5px !important;
}
.mT-10 {
    margin-top: 10px !important;
}
.mT-15 {
    margin-top: 15px !important;
}
.mT-20 {
    margin-top: 20px !important;
}
.mT-25 {
    margin-top: 25px !important;
}
.mT-30 {
    margin-top: 30px !important;
}
.mT-40 {
    margin-top: 40px !important;
}
.mT-50 {
    margin-top: 50px !important;
}
.mT-60 {
    margin-top: 60px !important;
}
.mT-70 {
    margin-top: 70px !important;
}
.mT-80 {
    margin-top: 80px !important;
}

/*.all_header {
	padding: 15px 15px 0;
    line-height: 0;
}*/

/*--------------------------------------------------------------
# our-vision
--------------------------------------------------------------*/
.our-vision-wrap{
	background-color: #fff;
	color: #333;
	width: 100%;
	padding: 80px 0;
	display: flex;
	justify-content: center;
}
.our-vision-wrap.is-add-border{
	padding-top: 0;
	margin-top: 80px;
}

.our-vision-head{
	width: 140px;
	height: 40px;
}

.our-vision-wrap.is-add-border .our-vision{
border-top: 1px solid #e5e5e5;
	padding-top: 80px;
}

.our-vision-body{
	display: flex;
	margin-top: 20px;
}

.our-vision-thum{
	margin-right: 60px;
}

.our-vision-text-area-heading{
	font-size: 25px;
	line-height: 1.4;
	text-align: left;
}

.our-vision-text-wrap{
	margin-top: 20px;
}

.our-vision-text-wrap > * + * {
	margin-top: 8px;
}

.our-vision-text{
	font-size: 14px;
	line-height: 2;
	text-align: left;
}

/* =========================================================
review
========================================================= */
.review{
	margin-top: 95px;
	padding-bottom: 80px;
}

.review-heading{
	font-weight: 700;
	font-size: 26px;
	text-align: center;
	line-height: 1;
}
.review-body{
	margin: 30px auto 0;
	width: 1000px;
}
.review-body > * + * {
	margin-top: 20px;
}
.review-box{
	box-sizing: border-box;
	width: 100%;
	background-color: #fafafa;
	padding: 60px 100px;
}

.review-box-head{
	display: flex;
	justify-content: space-between;
}

.review-box-heading{
	display: flex;
	align-items: center;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.03em;
}

.review-box-heading span{
	font-weight: 700;
}
.review-box-heading svg{
	margin-right: 20px;
}
.review-box-heading .small-text{
	font-size: 18px;
}

.review-box-star-list > * + * {
	margin-top: 15px;
}

.review-box-star-item{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.review-box-star-item-text{
	font-size: 14px;
	margin-right: 20px;
	font-weight: 700;
	letter-spacing: 0;
}
.review-box-star{
	display: flex;
	align-items: center;
}
.review-box-star svg{
	margin-right: 10px;
}
.review-box-star-num{
	font-size: 14px;
	font-weight: 700;
}
.review-box-body{
	border-top: 1px solid #cfcfcf;
	margin-top: 35px;
	padding-top: 25px;
}
.review-box-subheading{
	font-size: 22px;
	font-weight: 700;
}
.review-box-text-wrap{
	margin-top: 15px;
}

#vantan-header {
	background-color: white;
	padding: 0 18px 18px;
  }
  #vantan-header #kadokawa-logo {
	padding: 6px 0 4px;
	font-family: sans-serif;
	display: flex;
	justify-content: flex-end;
	align-items: center;
  }
  #vantan-header #jpx-logo {
	line-height:1;
	width:40px;
	margin: 0 8px 0 0;
	flex-basis: 40px;
  }
  #vantan-header #jpx-logo img{
	width:40px;
  }
  #vantan-header #jpx-cap {
	text-align: left;
	font-size: 9px;
	line-height:1.5;
	flex-basis: auto;
	margin: 0 30px 0 0;
  }
  #vantan-header #kadokawagroup-logo {
	text-align: right;
	line-height:1;
	flex-basis: 101px;
	width: 101px;
	margin: 0 0 0 auto;
  }
  #vantan-header #kadokawagroup-logo img{
	width: 101px;
	height: 11px;
  }
  #vantan-header #vantan-logo {
	display: block;
	padding-top: 12px;
	border-top: solid 1px #e5e5e5;
	margin: 0 auto;
    max-width: 1404px;
    padding-top: 18px;
  }
  #vantan-header #vantan-logo img {
	display: block;
	width: auto;
	height: 40px;
  }
  #vantan-header #vantan-logo span{
	line-height:1;
	display: block;
	font-family: sans-serif;
	color: #000;
  }
  #vantan-header #vantan-logo a{
	text-decoration: none;
  }
  #vantan-header #vantan-logo span.tagline{
	font-size:12px;
	font-weight: bold;
	padding-bottom: 12px;
  }
  #vantan-header #vantan-logo span.location{
	font-size:13px;
	font-weight: normal;
	padding-top: 18px;
	width: 433px;
	text-align: right;
  }


/*--------------------------------------------------------------
add 2023.9
--------------------------------------------------------------*/
.sec01-cont dd sup{
	font-size:70%;
	vertical-align:top;
}
.add-caution2023{
	max-width:1080px;
	margin:-70px auto 0;
	padding:0 0 50px;
	position:relative;
	color:#fff;
}
.caution2023-info dt{
	font-size:14px;
}
.caution2023-info dd{
	padding-top:.4em;
}
.caution2023-info .is-lead{
	font-size:14px;
}
.caution2023-info .is-lead + .is-lead{
	padding-top:.6em;
}
.caution2023-info .is-lead-sub{
	padding:0 0 0 1em;
	font-size:14px;
	text-indent:-1em;
}

/*--------------------------------------------------------------
add 2023.12
--------------------------------------------------------------*/
.add-caution2023-bottom{
	max-width:1080px;
	margin:0 auto;
	padding:20px 0 0;
	position:relative;
	color:#000;
}