@charset "UTF-8";

/* =　Index Pages
-------------------------------------------------------------- */
@keyframes f_fadeG{
	0%{	background-color:rgb(2,52,216);	}
	100%{	background-color:rgb(255,255,255);	}
}
@-o-keyframes f_fadeG{
	0%{	background-color:rgb(2,52,216);}
	100%{	background-color:rgb(255,255,255);}
}
@-ms-keyframes f_fadeG{
	0%{	background-color:rgb(2,52,216);}
	100%{background-color:rgb(255,255,255);}
}
@-webkit-keyframes f_fadeG{
	0%{	background-color:rgb(2,52,216);}
	100%{	background-color:rgb(255,255,255);}
}
@-moz-keyframes f_fadeG{
	0%{background-color:rgb(2,52,216);}
	100%{background-color:rgb(255,255,255);}
}
a.btn_wh {
  display: inline-block;
  margin: 0 auto;
  padding: 15px;
  min-width: 200px;
  border: solid 1px #fff;
  text-decoration: none; }

a.btn_wh:hover {
  background-color: rgba(255, 255, 255, 0.2);
  text-decoration: none; }

.mainVisual {
    position: relative;
}
	.mainVisual .scrollDown {
		position: absolute;
		left: 0;
		bottom: 0px;
		width: 100%;
		text-align: center;
		background-color: #F4F5F9;
		padding: 5px 0;
	}
.mainVisual .scrollDown a {
    color: #233D87;
    display: block;
    margin: 0 auto;
    padding-left: 2px;
    width: 30px;
    height: 30px;
    line-height: 15px;
    border-radius: 100%;
	border: solid 1px #233D87;
    font-size: 3.0rem;
    text-align: center;
}
/* アニメーション設定 */
.arrowWrap a {
   color: #fff;
   letter-spacing: 0.05rem;
   font-size: 1.2rem;
}
	.arrowWrap a:hover {
		text-decoration:none;
	}
.arrowWrap {
	filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.6));
}
.arrow {
  width: 2px;
  height: 50px;
  margin: 10px auto 0;
  background-color: transparent;
  position: relative;
  overflow: hidden;
}
	.arrow::before {
		content: '';
		width: 2px;
		height: 50px;
		margin: 50px auto 0;
		background-color: #fff;
		position: absolute;
		top: -80px;
		left: 1px;
	  -webkit-animation: arrow 2.5s ease 0s infinite normal;
	  animation: arrow 2.5s ease 0s infinite normal;
	}
.arrowInner {
    line-height: 100%;
}
@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}
.mainVisual .slide {
  opacity: 0;
  transition: opacity .3s linear; }
.mainVisual .slide.slick-initialized {
  opacity: 1; }
.mainVisual .slick-dots {
  bottom: 0; }
.mainVisual .slick-dotted.slick-slider {
  margin-bottom: 0; }
.mainVisual li {
  width: 100%;
  height: calc(100vh - 70px);
/*  height: calc(100vh - 120px); */
  overflow: hidden;
}
@media screen and (min-width: 769px) and (orientation: portrait) {
    .mainVisual li {
      height: 50vh;
	}
}
@media screen and (orientation: landscape) {
    /* 横向きの場合のスタイル */
}
@media screen and (max-width: 768px) {
    .mainVisual li {
      height: 450px;
	}
}
@media screen and (max-width: 420px) {
    .mainVisual li {
      height: 250px;
	}
}
.mainVisual .wrap {
  display: flex;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
@media screen and (max-width: 768px) {
    .mainVisual .wrap {
      height: 450px;
	}
}
@media screen and (max-width: 420px) {
    .mainVisual .wrap {
      height: 250px;
	}
}
.mainVisual video#bg-video {
  position: absolute;
  left: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  background-size: cover;
}
@media screen and (max-width: 769px) {
	.mainVisual video#bg-video {
	height: 100%;
	}
	.mainVisual .slide01 {
		background: url(./img/index/mainVisual01_sp.png) no-repeat;
		background-size: cover;
	}
}
.mainVisual .header-title {
  position: relative;
  	top: 44%;
  margin-left: 20%;
  width: 60%;
  color: #fff;
  font-size: 3.6rem;
  line-height: 180%;	
/*	text-shadow: 1px 1px 5px rgba(0, 0, 0, 1.0); */
	text-shadow: 
		rgba(0, 0, 0, 0.5) 1px 1px 3px, rgba(0, 0, 0, 0.5) -1px 1px 3px,
		rgba(0, 0, 0, 0.5) 1px -1px 3px, rgba(0, 0, 0, 0.5) -1px -1px 3px;
}
@media screen and (max-width: 1025px) {
    .mainVisual .header-title {
      font-size: 24px; }
}
@media screen and (max-width: 769px) {
    .mainVisual .header-title {
      top: 25%;
      margin-left: 0;
      padding: 0 15px;
	  width: 100%;
      font-size: 1.6rem; }
}
.mainVisual .slide05 .header-title {
 top: 46%;
 margin-left: 10%;
}
@media screen and (max-width: 769px) {
	.mainVisual .slide01 .header-title {
	 top: 17%;
	}
	.mainVisual .slide05 .header-title {
	 top: 46%;
	 margin-left: 0;
	}
}
/*
.mainVisual .scrollDown a:hover {
  background-color: rgba(82, 91, 164, 0.8); }
.mainVisual .scrollDown a {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  background-color: #233d87;
  color: #fff;
  text-align: center;
  font-size: 48px;
  line-height: 48px;
  z-index: 1; }
*/

h2.blockTitle {
  position: relative;
  margin-top: 0.5em;
  margin-bottom: 1.5em;
  font-size: 28px;
  text-align: center; }
  @media screen and (max-width: 769px) {
    h2.blockTitle {
      color: #233d87;
      font-size: 20px; } }
h2.blockTitle span {
  position: relative; }
h2.blockTitle span:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -10px;
  margin-left: -100px;
  width: 200px;
  height: 2px;
  background-color: #fff; }
  @media screen and (max-width: 769px) {
    h2.blockTitle span:after {
      margin-left: -80px;
      width: 160px;
      background-color: #233d87; } }

#index04 h2.blockTitle span:after {
  width: 300px;
  margin-left: -150px; }

.newsArea {
  margin-top: -70px;
  padding-top: 100px;
  padding-bottom: 3.0em; }
.newsArea .container {
  width: 1140px;
  max-width: 100%;
  margin: 0 auto; }
.newsArea h2.blockTitle {
  color: #233d87; }
.newsArea h2.blockTitle span:after {
  background-color: #233d87; }
.newsArea .newsWrap {
  padding: 0 15px; }
  @media screen and (max-width: 769px) {
    .newsArea .newsWrap {
      padding: 0; } }
.newsArea .newsWrap .btn_area {
  width: 100%;
  margin: 2.0em 0 0 0; }
.newsArea .newsWrap .btn_area li {
  text-align: center; }
.newsArea .newsWrap .btn_area li a {
  display: block;
  width: 250px;
  max-width: 90%;
  margin: 0 auto;
  border: solid 1px;
  height: 30px;
  line-height: 30px; }

.index_section {
  position: relative;
  padding: 2.0em 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #fff; }
  @media screen and (max-width: 769px) {
    .index_section {
      background-image: none !important;
      padding: 50px 0 0 0; } }

.index_section:before {
  content: "";
  display: block;
  padding-top: 33%; }
  @media screen and (max-width: 769px) {
    .index_section:before {
      padding-top: 0; } }

.index_section .container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center; }
  @media screen and (max-width: 769px) {
    .index_section .container {
      position: static;
      display: block; } }
.index_section .container .textBox {
  top: 2.0em;
  padding: 20px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  width: 35%;
  max-width: 450px;
  min-width: 350px; }
  @media screen and (max-width: 769px) {
    .index_section .container .textBox {
      padding: 0 0 50px 0;
      color: #233d87;
      background-color: unset;
      width: 100%;
      min-width: unset; } }
@media screen and (max-width: 769px) {
  .index_section .container .textBox p {
    
    letter-spacing: 0.05rem; } }
.index_section .container .textBox a {
  color: #fff; }
  @media screen and (max-width: 769px) {
    .index_section .container .textBox a {
      color: #233d87; } }
.index_section .container.box_center {
  justify-content: center; }
.index_section .container.box_left {
  justify-content: flex-start; }
.index_section .container.box_right {
  justify-content: flex-end; }
.index_section .container .textBox p.slogan {
  font-size: 1.8rem; }
  @media screen and (max-width: 769px) {
    .index_section .container .textBox p.slogan {
      font-size: 1.6rem;
      color: #233d87; } }

.newsWrap article {
  align-items: flex-start;
  color: #233d87;
}
	.archive .newsWrap article {		
		border-bottom: dashed 1px #ddd;
		padding-bottom: 1.0em;
	}
.newsWrap article a {
  color: #233d87; }

.newsWrap .catArea { display: flex;flex-wrap:nowrap; }
.newsWrap .catArea span {
  margin: 5px 10px;
  padding: 4px 5px;
  line-height: 100%;
	min-width: 120px;
	background-color: #233d87;
	color: #fff;
	font-size: 1.0rem;
	text-align: center;
	overflow: hidden;
}
.newsWrap p {
  margin-bottom: 0; }
.archive .newsWrap p {
    margin-bottom: 0;
    font-weight: 700;
}
#index05 {
  background-position: center 80%; }

#index06.index_section {
  background-color: transparent;
  padding: 0; }
#index06.index_section:before {
  padding-top: 0; }
#index06.index_section .container {
  position: relative;
  min-height: 500px; }
  @media screen and (max-width: 769px) {
    #index06.index_section .container {
      padding-top: 2.0em;
      min-height: unset; } }
@media all and (-ms-high-contrast: none) {
  #index06.index_section {
    /* IE11 */ }
    #index06.index_section *::-ms-backdrop, #index06.index_section .container {
      padding-top: 50px; } }
#index06.index_section .slide_image {
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0; }
#index06.index_section .textBox {
  width: 100%;
  max-width: 800px;
  background-color: transparent;
  text-align: center; }
#index06.index_section .textBox .btn_area {
  padding: 3.0em 0;
  line-height: 100%; }
#index06.index_section div {
  background-size: cover !important;
  background-position: center center !important; }
  @media screen and (max-width: 769px) {
    #index06.index_section div {
      background-size: auto 100% !important; } }
@media screen and (max-width: 769px) {
  #index06.index_section .container .textBox {
    padding: 0;
    color: #fff; }
  #index06.index_section .textBox p.slogan {
    color: #fff; }
  #index06.index_section .container .textBox a {
    color: #fff; }
  #index06.index_section h2.blockTitle {
    color: #fff; }
  #index06.index_section h2.blockTitle span:after {
    background-color: #fff; } }
.sectionWrap02 {
    width: 960px;
    max-width: 100%;
    margin: 0 auto;
}
.pageHeader {
	position: relative;
	background-color: #F4F5F9;
    color: #233d87;
	background-color: #233d87;
    color: #fff;
    display: flex;
		align-items: center;
		justify-content: center;
	height: 150px;
    background-position: center center;
    background-size: cover;
}
	.pageHeader.has_thumb {
		color: #fff;
		letter-spacing: 0.3rem;
		height: 450px;
	}
	.pageHeader.has_thumb h1 {
		text-shadow:0px 0px 3px #000000;
	}
	.pageHeader h1 {
		position: relative;
		z-index: 10;
		font-size: 3.8rem;
	}
	.pageHeader span.small {
		display: block;
		font-size: 1.4rem;
	}
	.pageHeader .overlay {display: none;}
	.pageHeader.has_thumb .overlay {
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
		z-index: 1;
		background: rgba(0,0,0,0.2);
	}
@media screen and (max-width: 769px) {
	.pageHeader,
	.pageHeader.has_thumb {;
		height: 110px;
		background-size: cover;
		background-position: center center;
	}
	.pageHeader h1 {
		font-size: 2.2rem;
	}
}
.btn.btn_index {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 3.0rem -10px 0 -10px;
	padding: 0;
}
	.btn.btn_index a {
		display: block;
		margin: 0 10px 15px 10px;
		padding: 1.0rem;
		border: solid 1px;
		font-size: 1.4rem;
		line-height: 100%;
	}
.aboutArea .textBox {
	margin: 0 auto;
	width: 440px;
	max-width: 100%;
}
	.aboutArea .textBox h2{
		color: #233D87;
		font-size: 2.8rem;
		margin-bottom: 3.0rem;
	}
		.aboutArea .textBox h2 span{
			display:block;
			margin-bottom:2.0rem;
			font-size:1.4rem;
		}
#index06.aboutArea .textBox h2.blockTitle {
    position: relative;
    margin-top: 0.5em;
    margin-bottom: 1.5em;
    text-align: center;
	color: #fff;
}
#index06.aboutArea .textBox h2.blockTitle span{
	font-size: 2.8rem;
}
#index02 .btn.btn_index a,
#index04 .btn.btn_index a,
#index05 .btn.btn_index a {
    width: calc(50% - 20px);
}
#index03 .btn.btn_index a {
    width: calc(33.3% - 20px);
}
.pd-0 {padding:0;}
	
@media screen and (min-width: 768px) {
    .pd-md-0 {padding:0;}	
	.aboutArea .imgArea img {
		height: 100%;
		max-width: none;
	}
	.aboutArea .imgArea {
		height: 400px;
		overflow: hidden;
	}
}
@media screen and (max-width: 768px) {
	
	.newsWrap {
		font-size: 1.4rem;
	}
	.newsWrap .panel-group {
		margin-bottom: 2.0rem;
		min-height: 50px;
	}
	.textBox {
	    padding: 30px 15px;
	}
	#index02 .btn.btn_index a {width:100%;}
	#index05 .btn.btn_index a {
		width: calc(100% - 20px);		
	}
}