@charset "utf-8";
/* CSS Document */

.container{
	width:auto;
	margin:0 auto 60px;
}

/* ---------------------------------------------
　keyvisual
------------------------------------------------ */

.keyvisual{
	min-width:1300px;
}
.keyvisual .slide a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.keyvisual .slide a span {
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    top: 14%;
    right: 10%;
	margin: auto;
	font-family: 'Barlow Semi Condensed', "游ゴシック体", "Yu Gothic", YuGothic, 'Noto Sans Japanese', sans-serif;
	text-align: center;
    text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
    font-size: 60px;
    color: #333;
	font-weight: bold;
}
.bx-wrapper {
  position: relative;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.bx-wrapper img {
  width:100%;
  display: block;
	margin:0 auto;
}
.bxslider {
  margin: 0;
  padding: 0;
}
ul.bxslider {
  list-style: none;
}
.bx-viewport {
  -webkit-transform: translatez(0);
}
.bx-wrapper .bx-loading {
  min-height:50px;
  background:url(../../images/bx_loader.gif) center center no-repeat #fff;
  height:100%;
  width:100%;
  position:absolute;
  top:0;
  left:0;
  z-index:2000;
}
.bx-wrapper .bx-pager {
  color:#60b5ca;
  font-size:.85em;
  font-family:Arial;
  font-weight:bold;
	text-align:center;
	position:absolute;
	left:58px;
	bottom:-73px;
	margin:0;
	z-index:999;
}
.bx-wrapper .bx-pager.bx-default-pager a {
	border:1px solid #60b5ca;
  text-indent:-9999px;
  display:block;
  width:11px;
  height:11px;
  margin:0 6px;
  outline:0;
  border-radius:50%;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background:#60b5ca;
}
.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display:inline-block;
  vertical-align:bottom;
  *zoom:1;
  *display:inline;
}
.bx-wrapper .bx-pager-item {
  font-size:0;
  line-height:0;
}
.bx-wrapper .bx-controls-direction a.disabled {
  display:none;
}

/* ---------------------------------------------
　content
------------------------------------------------ */

/* ------ concept-area ------------------------- */

.concept-area{
	position:relative;
	border-bottom: 1px solid #60b5ca;
}
.concept-area::before{
	background:#f2f9fb;
	content:"";
	position:absolute;
	top:0;
	bottom:215px;
	left:50%;
	right:0;
	z-index:-1;
}
.concept-area::after{
	background:rgba(94,180,201,0.2);
	content:"";
	height:240px;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	visibility:visible;
	z-index:-1;
}
.concept-area .inner{
	position:relative;
	padding:0 0 42px;
}
.concept-area .inner::before{
	background:#f2f9fb;
	content:"";
	position:absolute;
	top:0;
	left:225px;
	right:0;
    bottom: 218px;
	z-index:-1;
}
.concept-area h2{
	background:url(/themes/main/images/bg_h1.png) no-repeat 50% 0;
	font-family:'Barlow Semi Condensed', "游ゴシック体", "Yu Gothic", YuGothic, 'Noto Sans Japanese', sans-serif;;
	text-align:center;
	text-shadow:0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff;
	letter-spacing:3px;
	line-height:1.2;
	position:absolute;
	top:-157px;
	left:50%;
	min-height:225px;
	white-space:nowrap;
	margin:0;
	transform:translate(-50%, 0);
	padding:91px 0 0;
	z-index: 999;
	font-size:60px;
}
.concept-area h2 span{
	display:block;
	line-height: 1em;
}
.concept-area h2 .mcopy{
	padding: 17px 0;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .concept-area h2 .mcopy{ padding-top: 30px; }
}
.concept-area h2 .en{
	font-size:20px;
	font-weight:500;
	letter-spacing:1px;
}
.concept-area h2 .vision{
	color:#5eb4c9;
	font-size:25px;
	text-shadow:none;
	letter-spacing:1px;
}
.concept-area ul{
	color:#333;
	display:flex;
	justify-content:space-between;
	font-size:113%;
	font-weight:bold;
	position:relative;
	margin:0;
	padding:96px 0 0;
}
.concept-area ul li{
	text-align:center;
	width:310px;
	margin:0 30px;
}
.concept-area ul li img{
	display:block;
	border-radius:10px;
	margin:0 0 24px;
}
.concept-area .btn-more{
	font-size:125%;
	font-weight:600;
	text-align:center;
	width:9em;
	height:43px;
	line-height:43px;
	position:absolute;
	bottom:-22px;
	left:50%;
	margin:0;
	transform:translate(-50%,0);
}
.concept-area .btn-more a{
	border-radius:21px;
	border:1px solid #ccc;
	display:block;
}
.concept-area .btn-more a:link,
.concept-area .btn-more a:visited{
	background:#fafafa;
  color:#333;
	text-decoration:none;
}
.concept-area .btn-more a:hover,
.concept-area .btn-more a:active{
	background:#ccc;
  color:#fff;
	text-decoration:none;
}

.concept-area .sdgs {
	margin: 20px auto;
}

.concept-area .sdgs a {
	display: inline-block;
	background: #fff;
	border: 2px solid #60b5ca;
	padding: 10px;
}
/* ------ top-wrap-01 -------------------------- */

.top-wrap-01{
	width:1300px;
	margin:72px auto 0;
}


/* ------ about-area --------------------------- */

.about-area{
	float:right;
	width:420px;
}
.about-area h2{
	margin:0;
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
}
.about-area h2 span{
	font-size:48px;
}
.about-area h2 a{
	background:url(../images/bg_aboutus_001.png) no-repeat 50% 50%;
	display:block;
	text-align:center;
	width:420px;
	height:258px;
	padding-top:162px;
}
.about-area h2 a,
.about-area h2 a:link,
.about-area h2 a:visited,
.about-area h2 a:hover,
.about-area h2 a:active {
	color:#000;
  text-decoration:none;
}

/* ------ construction-area -------------------- */

.construction-area{
	float:left;
}
.construction-area h2{
	background:#ddaa10;
	border-radius:25px;
	position:relative;
	overflow:hidden;
	margin:0;
	font-size:100%;
}
.construction-area h2 a{
	display:block;
	position:relative;
}
.construction-area h2 div{
	border-radius:20px;
	color:#fff;
	font-size:16px;
	font-weight:bold;
	text-align:center;
	width:244px;
	height:40px;
	line-height:40px;
	position:absolute;
	bottom:30px;
	left:50%;
	transform:translate(-50%,0);
}
.construction-area h2 div span{
	font-size:13px;
}
.construction-area h2 a:link img,
.construction-area h2 a:visited img{
	transform:scale(1);
	transition:all 0.2s;
	opacity:1;
}
.construction-area h2 a:hover img,
.construction-area h2 a:active img{
	transform:scale(1.1);
	transition:all 0.2s;
	opacity:0.5;
}
.construction-area h2 a:link div,
.construction-area h2 a:visited div{
	background:rgba(94,180,201,0.9);
	transition:all 0.2s;
}
.construction-area h2 a:hover div,
.construction-area h2 a:active div{
	background:rgba(221,170,16,0.9);
	transition:all 0.2s;
}

/* ------ introduction-area -------------------- */

.introduction-area{
	clear:both;
	width:1200px;
	margin: 100px auto 0;
}
.introduction-area .message{
	background: url(../images/bn_card.jpg) no-repeat 50% 50%;
	border-radius:25px;
	color:#333;
	float:left;
	font-weight:700;
	text-align:center;
	line-height:1.8;
	width:380px;
	height:380px;
	padding:20px;
}
.introduction-area .message p{
	background: #fff;
	opacity: 0.9;
	padding: 97px 30px;
	margin: 0;
	border-radius:25px;
	font-size: 24px;
	text-align: center;
	height: 185px;
}
.introduction-area .message p span{
	display: block;
	color: #5eb4c9;
	font-size: 20px;
	margin-bottom: 20px;
}

.introduction-link:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
.introduction-link li{
	width: 270px;
	float: left;
	text-align: center;
	margin: 0 40px 40px 0;
}

.introduction-link li:nth-child(4){
	margin-right: 0;
}

.introduction-link li a, 
.introduction-link li a:link, 
.introduction-link li a:visited, 
.introduction-link li a:hover, 
.introduction-link li a:active{
	text-decoration: none;
}

.introduction-link li dt img{
	width: 100%;
	border-radius: 10px 10px 0 0;
}

.introduction-link li dd.title{
	background: #f2f9fb;
	padding: 10px 0 30px;
	font-weight: bold;
	color: #60b5ca;
	border-radius: 0 0 10px 10px;
}

.introduction-link li dd.btn{
	margin: -20px  auto 0;
	border-radius: 2em;
	border: 1px solid #60b5ca;
	padding: 5px 20px;
	width: 40%;
	background: #60b5ca;
	color: #fff;
	font-size: 87%;
}
.introduction-link li dd.btn.openwin{
	background:#60b5ca url(../../top/images/icon_openwin.png) no-repeat 90% 50%;
}

.introduction-link li a:hover dd.btn{
	color: #60b5ca;
	background: #fff;
}

.introduction-link li a:hover dd.btn.openwin{
	background:#fff url(../../top/images/icon_openwin_b.png) no-repeat 90% 50%;
}

.sp .introduction-link li{
	width: 100%;
}

/*
.introduction-area ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.introduction-area li {
    width: 420px;
    border-radius: 25px;
    position: relative;
    overflow: hidden;
	margin-bottom: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #fff;
}
.introduction-area li:nth-child(1) {
	border: 3px solid #5EB4C9;
}
.introduction-area li:nth-child(2) {
	border: 3px solid #D9E137;
}
.introduction-area li:nth-child(5) {
	border: 3px solid #0100A5;
}
.introduction-area li:nth-child(6) {
	border: 3px solid #AA1C33;
}
.introduction-area  ul.refuko {
	justify-content: left;
}
.introduction-area .refuko li {
    width: 420px;
	margin-right: 15px;
}
.introduction-area li h2 {
    color: #449acc;
    font-size: 50px;
    font-weight: 700;
	line-height: 1.2;
    margin: 0;
    height: 100%;
    width: 100%;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.introduction-area li.ttl {
	background-repeat: no-repeat;
	background-position: center;
    display: block;
    text-align: center;
}
.introduction-area .hikari li.ttl {
	background-image: url(../images/bg_hikari.png);
}
.introduction-area .refuko li.ttl {
	width:431px ;
}
.introduction-area .refuko li h2 {
	color: #eb7771;
}
.introduction-area .refuko li a {
    display: block;
    position: relative;
}
.introduction-area li a {
    display: block;
    position: relative;
}
.introduction-area .hikari li a {
	background: #ddaa10;
}
.introduction-area .hikari li:nth-child(1) a {
	background: #5EB4C9;
}
.introduction-area .hikari li:nth-child(2) a {
	background: #D9E137;
}
.introduction-area .hikari li:nth-child(5) a {
	background: #0100A5;
}
.introduction-area .hikari li:nth-child(6) a {
	background: #AA1C33;
}
.introduction-area .refuko li a {
	background: #eb7771;
}
.introduction-area li a:link img,
.introduction-area li a:visited img {
    transform: scale(1);
    transition: all 0.2s;
    opacity: 1;
}
.introduction-area li a:hover img,
.introduction-area li a:active img {
    transform: scale(1.1);
    transition: all 0.2s;
    opacity: 0.5;
}
.introduction-area li a:link div,
.introduction-area li a:visited div {
    background: rgba(94,180,201,0.9);
    transition: all 0.2s;
}
.introduction-area li a div img {
	vertical-align: middle;
    margin-left: 5px;
}
.introduction-area li a:link div img,
.introduction-area li a:visited div img,
.introduction-area li a:hover div img,
.introduction-area li a:active div img {
    transform: none;
    transition: none;
    opacity: 1;
}
.introduction-area li div {
    border-radius: 20px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    width: 164px;
    height: 40px;
    line-height: 40px;
    letter-spacing: -1px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%,0);
    background: rgba(94,180,201,0.9);
}
.introduction-area .hikari li a:hover div,
.introduction-area .hikari li a:active div {
    background: rgba(221,170,16,0.9);
    transition: all 0.2s;
}
.introduction-area .refuko li a:hover div,
.introduction-area .refuko li a:active div {
    background: rgba(235,119,113,0.9);
    transition: all 0.2s;
}
.introduction-area .hikari li:nth-child(2) div,
.introduction-area .hikari li:nth-child(3) div,
.introduction-area .refuko li:nth-child(2) div{
	width:244px;
}
.introduction-area .refuko li:nth-child(3) div,
.introduction-area .refuko li:nth-child(4) div{
	line-height:17px;
}
.introduction-area li div span {
    font-size: 13px;
}
*/

/* ------ group-area --------------------------- */

.group-area{
	background:#ecf5fa;
	clear:both;
	margin:10px 0 0;
	padding:10px 0 15px;
}
.group-area .inner{
	display:flex;
	justify-content:space-between;
	width:1300px;
}
.group-area h2{
	background:#fff;
	border-radius:25px;
	color:#449acc;
	font-size:50px;
	font-weight:700;
	text-align:center;
	line-height:200px;
	width:431px;
	height:200px;
	margin:0;
}
.group-area ul{
	display:flex;
	justify-content:flex-start;
	width:874px;
	margin:0 0 0 16px;
}
.group-area ul li{
	background:#293f68;
	border-radius:25px;
	position:relative;
	overflow:hidden;
	margin-right: 15px;
}
.group-area ul li a{
	display:block;
	position:relative;
}
.group-area ul li a:link img,
.group-area ul li a:visited img{
	transform:scale(1);
	transition:all 0.2s;
	opacity:1;
}
.group-area ul li a:hover img,
.group-area ul li a:active img{
	transform:scale(1.1);
	transition:all 0.2s;
	opacity:0.5;
}
.group-area ul li a:link div img,
.group-area ul li a:visited div img,
.group-area ul li a:hover div img,
.group-area ul li a:active div img{
	transform:none;
	transition:none;
	opacity:1;
}
.group-area ul li div{
	border-radius:20px;
	color:#fff;
	font-size:16px;
	font-weight:bold;
	text-align:center;
	width:164px;
	height:40px;
	line-height:40px;
	position:absolute;
	bottom:20px;
	left:50%;
	transform:translate(-50%,0);
}
.group-area ul li a:link div,
.group-area ul li a:visited div{
	background:rgba(68,154,204,0.9);
	transition:all 0.2s;
}
.group-area ul li a:hover div,
.group-area ul li a:active div{
	background:rgba(41,63,104,0.9);
	transition:all 0.2s;
}
.group-area ul li div img{
	vertical-align:middle;
	margin-left:2px;
}


/* ------ news-area ---------------------------- */

.news-area{
	margin:49px auto 0;
}
.news-area h2{
	color:#000;
	font-size:188%;
	font-weight:normal;
	text-align:center;
	letter-spacing:3px;
	line-height:1;
	margin:0;
}
.news-area ul{
	border-bottom:1px solid #ccc;
	margin:28px 0 0;
}
.news-area ul li{
	border-top:1px solid #ccc;
}
.news-area ul li a{
	display:block;
	padding:12px 16px;
}
.news-area ul li a,
.news-area ul li a:link,
.news-area ul li a:hover,
.news-area ul li a:visited,
.news-area ul li a:active {
  text-decoration:none;
}
.news-area ul li a:hover,
.news-area ul li a:active {
  background: #f5f8f9;
}
.news-area ul dl {
	display:flex;
	line-height:30px;
}
.news-area ul dl dt {
	margin-right:25px;
}
.news-area ul a:link dl dt,
.news-area ul a:visited dl dt{
  color:#0d0c0c;
}
.news-area ul dl dd.category{
	border-radius:15px;
	color:#fff;
	font-size:88%;
	font-weight:bold;
	text-align:center;
	width:10em;
	height:30px;
	margin-right:27px;
}
.news-area ul dl dd.category.cat1{ background:#5eb4c9; }
.news-area ul dl dd.category.cat2{ background:#ddaa10; }
.news-area ul dl dd.title{
	flex:1;
	line-height:1.5;
}
.news-area ul a:link dl dd.title,
.news-area ul a:visited dl dd.title{
  color:#0d0c0c;
}
.news-area .btn-more{
	font-size:88%;
	text-align:center;
	width:12em;
	height:43px;
	letter-spacing:3px;
	line-height:43px;
	margin:30px auto 0;
}
.news-area .btn-more a{
	border-radius:21px;
	border:1px solid #ccc;
	display:block;
}
.news-area .btn-more a:link,
.news-area .btn-more a:visited{
	background:#fafafa;
  color:#333;
	text-decoration:none;
}
.news-area .btn-more a:hover,
.news-area .btn-more a:active{
	background:#ccc;
  color:#fff;
	text-decoration:none;
}

/* ------ blog-area ---------------------------- */

.blog-area{
	margin:65px auto 0;
}
.blog-area h2{
	color:#000;
	font-size:188%;
	font-weight:normal;
	text-align:center;
	letter-spacing:3px;
	line-height:1;
	margin:0;
}
.blog-area ul{
	display:flex;
	justify-content:space-between;
	margin:37px 0 0;
}
.blog-area ul li{
	width:270px;
}
.blog-area ul li a{
	display:block;
}
.blog-area ul li a,
.blog-area ul li a:link,
.blog-area ul li a:visited,
.blog-area ul li a:hover,
.blog-area ul li a:active {
  text-decoration:none;
}
.blog-area ul dl {
	position:relative;
	padding:183px 0 0;
}
.blog-area ul dl dt {
	font-size:94%;
	line-height:1.73;
}
.blog-area ul a:link dl dt,
.blog-area ul a:visited dl dt{
  color:#666;
}
.blog-area ul a:hover dl dt,
.blog-area ul a:active dl dt{
  color:#999;
}
.blog-area ul dl dd.image{
	width:270px;
	height:170px;
	overflow:hidden;
	position:absolute;
	top:0;
	left:0;
	right:0;
}
.blog-area ul dl dd.image img{
	width: 270px;
}
.blog-area ul dl dd.date{
	font-size:88%;
	margin:1px 0 0;
}
.blog-area ul a:link dl dd.date,
.blog-area ul a:visited dl dd.date{
  color:#999;
}
.blog-area ul a:hover dl dd.date,
.blog-area ul a:active dl dd.date{
  color:#ccc;
}
.blog-area .btn-more{
	font-size:88%;
	text-align:center;
	width:12em;
	height:43px;
	letter-spacing:3px;
	line-height:43px;
	margin:32px auto 0;
}
.blog-area .btn-more a{
	border-radius:21px;
	border:1px solid #ccc;
	display:block;
}
.blog-area .btn-more a:link,
.blog-area .btn-more a:visited{
	background:#fafafa;
  color:#333;
	text-decoration:none;
}
.blog-area .btn-more a:hover,
.blog-area .btn-more a:active{
	background:#ccc;
  color:#fff;
	text-decoration:none;
}


/* ------ recruit-area ------------------------- */

.recruit-area{
	margin:58px auto 0;
}
.recruit-area a{
	display:block;
	position:relative;
}
.recruit-area .inner{
	width:auto;
	max-width:1400px;
}
.recruit-area a::before{
	background:#5eb4c9;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	content:"";
	position:absolute;
	top:29px;
	left:0;
	right:0;
	bottom:29px;
	z-index:-1;
}
.recruit-area a:hover::before{
	background:#ddaa10;
}
.recruit-area h2{
	text-align:center;
}
.recruit-area h2 img{
	max-width:100%;
	height:auto;
}
