@charset "utf-8";

/* ---------------------------------------------------------------------- */
/*  HTML Redefinition & Basic Structure
/* ---------------------------------------------------------------------- */

* {
  -webkit-font-smoothing: antialiased;
  border-radius: 0!important;
}

body, html { height: 100%; }
body {
  background-color: #fff;
  font-size: 16px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Osaka", sans-serif;
  font-weight: 400;
  color: #000;
  overflow-x: hidden;
  overflow-y : scroll;
  -webkit-overflow-scrolling : touch;
  letter-spacing: .1em;
}
h1, h2, h3, h4 {
  margin: 0;
  font-weight: 700;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  -webkit-backface-visibility: hidden;
 }
p {
  line-height: 1.9!important;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  -webkit-backface-visibility: hidden;
}

.hide { display: none; }
.lead { margin-bottom: 35px;}
.perspective {
  -webkit-perspective: 1280px;
  -moz-perspective: 1280px;
  -ms-perspective: 1280px;
  -o-perspective: 1280px;
  perspective: 1280px;
}

img {
	max-width: 100%;
	height: auto;
}


/* ---------------------------------------------------------------------- */
/*  Common
/* ---------------------------------------------------------------------- */

#wrapper {
  width: 100%;
  height: 100%;
}
.section-title {
	display: inline-block;
  margin-bottom: 30px;
}
.section-title.text-center {
	display: block;
}
.block { padding: 70px 0; }

#footer {
  padding: 30px 0;
  background: #1F5683;
}
#footer .logoWrap{
  border-bottom:1px dashed #FFF;
  overflow: hidden;
  margin-bottom: 5px;
  padding-bottom: 5px;
}
#footer .logoWrap img {
  float: left;
}
#footer .logoWrap p {
  float: right;
  margin-bottom: 0;
}
#footer p,
#footer small,
#footer a{
  text-indent: inherit;
  color: #FFF;
  font-size: 13px;
}
#footer a{
	text-decoration:underline;
}
/* ---------------------------------------------------------------------- */
/*  Contents - cover
/* ---------------------------------------------------------------------- */

#cover {
  height: 100%;
  width: 100%;
  text-align: center;
}

#cover .logo {
  position: absolute;
  top: 28px;
  left: 48px;
}

#cover #top-text {
	position: relative;
  height: 260px;
	width: 100%;
  margin-bottom:20px;
  background-image: url(../img/text01-01.png);
  background-repeat: no-repeat;
  background-position: center 8%;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  -webkit-transition: background-color 2s ease-out 0.5s,background-image 1s ease-out 0;
  -moz-transition: background-color 2s ease-out 0.5s,background-image 1s ease-out 0;
  -ms-transition: background-color 2s ease-out 0.5s,background-image 1s ease-out 0;
  -o-transition: background-color 2s ease-out 0.5s,background-image 1s ease-out 0;
  transition: background-color 2s ease-out 0.5s,background-image 1s ease-out 0;
  box-sizing: border-box;
  z-index: 1;
}
#cover #top-text.trancecol {
  background-position:8% 8%;
}

#cover #top-text .top-text-next {
	position: absolute;
	top: 5px;
	left: 0;
	height: 100%;
	width: 100%;
	background-image: url(../img/text01-02.png);
	background-repeat: no-repeat;
	background-position: center 70%;
	-webkit-transform: translate3d(0,0,0);
	-webkit-transition: background-image 1s ease-out;
	-moz-transition: background-image 1s ease-out;
	-ms-transition: background-image 1s ease-out;
	-o-transition: background-image 1s ease-out;
	transition: background-image 1s ease-out;
}
#cover #top-text .top-text-next.trancecol {
  background-image: url(../img/text01-02.png);
}


#cover .bg {
  height: 100%;
  width: 100%;
  text-align: center;
  background: url(../img/img_photo01.jpg);
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  background-position: 50% top;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  -webkit-backface-visibility: hidden;
}

#cover .content {
  display: table;
  height: 100%;
  width: 100%;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  -webkit-backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-perspective: 1280px;
  -moz-perspective: 1280px;
  -ms-perspective: 1280px;
  -o-perspective: 1280px;
  perspective: 1280px;
  pointer-events: none;
}
#cover .inner {
  display: table-cell;
  height: 100%;
  vertical-align: middle;
}
#cover .ended {
  display: none;
}
#cover .text {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%,0%);
  -moz-transform: translate(-50%,0%);
  -ms-transform: translate(-50%,0%);
  -o-transform: translate(-50%,0%);
  transform: translate(-50%, 0%);
}
#cover .arrow {
  text-align: center;
  width: 100%;
  position: absolute;
  bottom: 10px;
	left: 0;
	z-index: 5;
}

/* ---------------------------------------------------------------------- */
/*  Contents - about
/* ---------------------------------------------------------------------- */

#about {
  display: table;
  height: 100%;
  width: 100%;
  background-color: #3385cf;
  color: #fff;
  position: relative;
}
#about .container {
  display: table-cell;
  height: 100%;
  vertical-align: middle;
}
#about .arrow {
  position: absolute;
  bottom: 50px;
	left: 0;
  width: 100%;
  text-align: center;
}
#about {
  display: table;
  height: 100%;
  width: 100%;
  background-color: #FFF;
  color: #666;
  position: relative;
}
#about .col-md-12 {
  text-align: center;
}
#about p {
  font-size: 16px;
	margin: 1em 0;
  /*text-indent: 1em;*/
}
#about .lead p {
  font-size: 18px;
  font-weight: bold;
}

#about02 {
  width: 100%;
  min-height:70%;
  text-align: center;
  background: url(../img/img_photo06.jpg) no-repeat left center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  position: relative;
}

#about img,
#about02 img {
	max-width:90%;
}

/* ---------------------------------------------------------------------- */
/*  Contents - section01 - 14
/* ---------------------------------------------------------------------- */
#section01,
#section02,
#section03,
#section04,
#section05,
#section06,
#section07,
#section08,
#section09,
#section10 {
  padding-left: 0;
  padding-right: 0;
  position: relative;
  overflow: hidden;
}
#section01 h2,
#section02 h2,
#section03 h2,
#section04 h2,
#section05 h2,
#section06 h2,
#section07 h2,
#section08 h2,
#section09 h2,
#section10 h2 {
  font-size: 22px;
  line-height: 1.5;
  margin: 1em 0;
}

.bgWhite {
  background: #FFF;
  color: #666;
}
.bgDeepBlue {
  background: #246498;
  color: #FFF;
}
.bgSkyBlue {
  background: #cae5fc;
  color: #666;
}
.bgWhite h2,
.bgSkyBlue h2 {
  color: #246498;
}
.imgRight {
  margin-left: -15px;
  margin-right: -55px;
}
.imgLeft {
  margin-left: -55px;
  margin-right: -15px;
}
.col-md-5 p,
#section04 .col-md-12 p {
  font-size: 16px;
  margin: 1em 0;
	/*text-indent: 1em;*/
}
.col-md-5 .colored {
	background: #e0f491;
	color: #000;
}
#section01 .col-md-6,
#section02 .col-md-6,
#section03 .col-md-6,
#section04 .col-md-6,
#section05 .col-md-6,
#section06 .col-md-6,
#section07 .col-md-6,
#section08 .col-md-6,
#section09 .col-md-6,
#section10 .col-md-6 {
  padding-top: 100px;
  padding-bottom: 100px;
}
.imgLeft .col-md-5 {
  padding-right: 8.33333333%;
}
.imgRight .col-md-5 {
  padding-left: 8.33333333%;
}
.imgRight .col-md-6.col-fluid {
  position: absolute;
  right: 0;
  top: 0;
  padding-top: 0;
  width: 50%;
  height: 100%;
}
.imgLeft .col-md-6.col-fluid {
  position: absolute;
  left: 0;
  top: 0;
  padding-top: 0;
  width: 50%;
  height: 100%;
}
#section01 .col-md-6.col-fluid .picture {
  background: url(../img/img_photo03.jpg) center no-repeat;
  background-size: cover;
}
#section02 .col-md-6.col-fluid .picture {
  background: url(../img/img_photo04.png) center no-repeat;
}
#section03 .col-md-6.col-fluid .picture {
  background: url(../img/img_photo05.png) center no-repeat;
}
.imgRight .col-md-6.col-fluid .picture {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  -webkit-backface-visibility: hidden;
}
.imgLeft .col-md-6.col-fluid .picture {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  -webkit-backface-visibility: hidden;
}
.endName {
  font-weight: bold;
  margin-top: 4em;
  text-align: center;
}
.endName span {
  display: inline-block;
  border: solid 1px #333;
  padding: 15px 30px 15px 15px;
}

.endName span img{
	display:inline-block;
	margin:0 20px 0 0;
	width:80px;
}


@media only screen and (max-width:991px){
	.endName span {
		font-size:13px;
		line-height:1.5;
	}
	
	.endName span img{
		width:50px;
		float:left;
	}
}

/* ---------------------------------------------------------------------- */
/*  Contents - button
/* ---------------------------------------------------------------------- */

#button01 {
	background: #cae5fc;
  padding-top: 50px;
  padding-bottom: 50px;
}

/* ---------------------------------------------------------------------- */
/*  Contents - form
/* ---------------------------------------------------------------------- */
#form {
	background: #F7F7F7;
	border-top: 120px solid #1F5683;
}
#form .row {
	margin-bottom: 60px;
}
#form .container {
	margin-top: -100px;
}
#form .section-title {
	display: block;
  color: #FFF;
}
#form span {
	display: none;
}


@media (max-width: 400px) {
	#form .col-xs-3 {
		float: none;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		width: 100%;
	}
  #form .section-title {
    color: #333;
  }
	#form .col-xs-9 {
		float: none;
		margin-left: auto;
		margin-right: auto;
		width: 100%;
	}
	#form .col-xs-9 img {
		display: none;
	}
	#form .col-xs-9 span {
		display: block;
	}
}


/* ---------------------------------------------------------------------- */
/*  Responsive Styles
/* ---------------------------------------------------------------------- */

@media (max-width: 768px) {
  #about .arrow img { width: 20%; }
  #about .arrow { bottom: 20px; }
}
@media only screen and (min-width : 321px) {
  #cover .arrow img,
  #about .arrow img { width: initial !important; }
}
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
  
  #cover #top-text {
	  -webkit-background-size: contain;
		-moz-background-size: contain;
		-o-background-size: contain;
		-ms-background-size: contain;
		background-size: contain;
  }
  
  #cover .arrow img,
  #about .arrow img { width: initial !important; }
}

@media (max-width: 991px) {
	#section11 .picture {
	  -webkit-background-size: contain!important;
		-moz-background-size: contain!important;
		-o-background-size: contain!important;
		-ms-background-size: contain!important;
		background-size: contain!important;
	}
	  #cover #top-text {
    max-width: 80%;
}
  
  #about img,
  #about02 img,
	#about03 img,
	#about04 img,
	#about05 img,
	#about06 img {
    width: 100%;
		height: auto;
  }
  .arrow img {
		width: 20%;
		max-width: 67px !important;
	}
	   #section10 .col-md-6.col-fluid .picture{
	   background-size:contain !important;
}
  .imgLeft .col-md-5 {
    padding-right: 20px;
  }
  .imgRight .col-md-5 {
    padding-left: 20px;
  }
}

@media (max-width: 767px) {
  #cover .bg {
    background-color: #FFF;
    background-size: contain;
    background-position: 50% 50%;
  }
  #cover .logo {
    text-align: left;
    top: 25px;
    left: 25px;
  }
  #cover .logo img {
    width: 50%;
    height: auto;
  }

  #cover #top-text {
	  -webkit-background-size: contain;
		-moz-background-size: contain;
		-o-background-size: contain;
		-ms-background-size: contain;
		background-size: contain;
	}
  /*#about02.block {
		padding: 30px 20px;
	}*/
  #about02 {
    padding-bottom: 90px;
  }
  #about02 p {
		text-align: left;
  }
  #about02 br {
    display: none;
	}
		
  #section01 .col-md-6.col-fluid,
  #section02 .col-md-6.col-fluid,
  #section03 .col-md-6.col-fluid,
  #section04 .col-md-6.col-fluid,
  #section05 .col-md-6.col-fluid,
  #section06 .col-md-6.col-fluid,
  #section07 .col-md-6.col-fluid,
  #section08 .col-md-6.col-fluid,
  #section09 .col-md-6.col-fluid,
  #section10 .col-md-6.col-fluid,
  #section11 .col-md-6.col-fluid,
  #section12 .col-md-6.col-fluid,
  #section13 .col-md-6.col-fluid {
    position: relative;
    top: 0;
    width: 100%;
    padding-top: 60%;
  }
  #section01 .col-md-5 img,
  #section02 .col-md-5 img,
  #section03 .col-md-5 img,
  #section04 .col-md-5 img,
  #section05 .col-md-5 img,
  #section06 .col-md-5 img,
  #section07 .col-md-5 img,
  #section08 .col-md-5 img,
  #section09 .col-md-5 img,
  #section10 .col-md-5 img,
  #section11 .col-md-5 img,
  #section12 .col-md-5 img,
  #section13 .col-md-5 img { width: 100%; height: auto; }

  #section01,
  #section02,
  #section03,
  #section04,
  #section05,
  #section06,
  #section07,
  #section08,
  #section09,
  #section10,
  #section11,
  #section12,
  #section13 { padding-bottom: 40x; }

  #section01,
  #section02,
  #section03,
  #section04,
  #section05,
  #section06,
  #section07,
  #section08,
  #section09,
  #section10,
  #section11,
  #section12,
  #section13 { padding-top: 0px; }

  #section01 .col-md-5,
  #section02 .col-md-5,
  #section03 .col-md-5,
  #section04 .col-md-5,
  #section05 .col-md-5,
  #section06 .col-md-5,
  #section07 .col-md-5,
  #section08 .col-md-5,
  #section09 .col-md-5,
  #section10 .col-md-5,
  #section11 .col-md-5,
  #section12 .col-md-5,
  #section13 .col-md-5 { padding-top: 32px; }

  #section01 .row,
  #section02 .row,
  #section03 .row,
  #section04 .row,
  #section05 .row,
  #section06 .row,
  #section07 .row,
  #section08 .row,
  #section09 .row,
  #section10 .row,
  #section11 .row,
  #section12 .row,
  #section13 .row {
    margin-left: -15px;
    margin-right: -15px;
  }

  #pagetop {
    right: 10px !important;
    bottom: 10px !important;
  }
   #section10 .col-md-6.col-fluid .picture{
	   background-size:contain !important;
}

}
@media (min-width: 768px) and (max-width: 991px) {
  #cover .bg {
    background-color: #FFF;
    background-size: contain;
    background-position: 50% 50%;
  }
  #section01 .col-md-6.col-fluid,
  #section02 .col-md-6.col-fluid,
  #section03 .col-md-6.col-fluid,
  #section04 .col-md-6.col-fluid,
  #section05 .col-md-6.col-fluid,
  #section06 .col-md-6.col-fluid,
  #section07 .col-md-6.col-fluid,
  #section08 .col-md-6.col-fluid,
  #section09 .col-md-6.col-fluid,
  #section10 .col-md-6.col-fluid,
  #section11 .col-md-6.col-fluid,
  #section12 .col-md-6.col-fluid,
  #section13 .col-md-6.col-fluid {
    position: relative;
    top: 0;
    left: -17%;
    width: 133%;
    padding-top: 60%;
  }
  #section01 .col-md-5 img,
  #section02 .col-md-5 img,
  #section03 .col-md-5 img,
  #section04 .col-md-5 img,
  #section05 .col-md-5 img,
  #section06 .col-md-5 img,
  #section07 .col-md-5 img,
  #section08 .col-md-5 img,
  #section09 .col-md-5 img,
  #section10 .col-md-5 img,
  #section11 .col-md-5 img,
  #section12 .col-md-5 img,
  #section13 .col-md-5 img { width: 100%; height: auto; }

  #section01,
  #section02,
  #section03,
  #section04,
  #section05,
  #section06,
  #section07,
  #section08,
  #section09,
  #section10,
  #section11,
  #section12,
  #section13 { padding-bottom: 40px; }

  #section01,
  #section02,
  #section03,
  #section04,
  #section05,
  #section06,
  #section07,
  #section08,
  #section09,
  #section10,
  #section11,
  #section12,
  #section13 { padding-top: 0px; }

  #section01 .col-md-5,
  #section02 .col-md-5,
  #section03 .col-md-5,
  #section04 .col-md-5,
  #section05 .col-md-5,
  #section06 .col-md-5,
  #section07 .col-md-5,
  #section08 .col-md-5,
  #section09 .col-md-5,
  #section10 .col-md-5,
  #section11 .col-md-5,
  #section12 .col-md-5,
  #section13 .col-md-5 { padding-top: 32px; }

  #section01 .row,
  #section02 .row,
  #section03 .row,
  #section04 .row,
  #section05 .row,
  #section06 .row,
  #section07 .row,
  #section08 .row,
  #section09 .row,
  #section10 .row,
  #section11 .row,
  #section12 .row,
  #section13 .row {
    margin-left: -15px;
    margin-right: -15px;
  }

}
@media (max-width: 640px) {
	#cover #top-text {
		height: 180px;
	}
}
@media (max-width: 480px) {
  #footer {
    padding: 80px 0;
  }
  
	#cover #top-text {
		height: 150px;
		background-position: center 5%;
		background-size: 90%;
	}
	.picture {
	  -webkit-background-size: 90%!important;
		-moz-background-size: 90%!important;
		-o-background-size: 90%!important;
		-ms-background-size: 90%!important;
		background-size: 90%!important;
	}
  #about02,
  #about05 {
		height: auto;
	}


  
  #about04 {
    padding-bottom: 150px;
  }
  #about04 .section-title {
	  margin-bottom:15px;
  }
  
  #about04 .section-title img {
    margin-bottom: 0;
  }
  #about04 p {
    margin-bottom: 1em;
  }
  #about04 .lead {
	  margin-bottom:15px;
  }
  
  #about04 .lead p {
    display: block;
  }
    #about04 .lead img{
		margin-bottom:0;
	}
	
  #about05 {
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    -ms-background-size: contain;
    background-size: contain;
    padding-bottom: 100px;
  }
  #section01 .picture{
	  background-size: contain !important;
  }
}
@media (max-width: 480px) and (orientation:landscape) {
	#cover #top-text {
		height: 120px;
		background-size: 60%;
	}
	#cover .arrow {
		bottom: 5px;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {  }
@media (min-width: 1200px) {  }


/* ---------------------------------------------------------------------- */
/*  Others Styles
/* ---------------------------------------------------------------------- */

#pagetop {
  display: none;
  background: url(../img/btn_pagetop.png) no-repeat;
  width: 138px;
  height: 57px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  cursor: pointer;
  z-index: 2;
}
@media (max-width: 768px) {
	#pagetop {
	  -webkit-background-size: contain;
		-moz-background-size: contain;
		-o-background-size: contain;
		-ms-background-size: containt;
		background-size: contain;
		width: 20%;
		max-width: 100px;
		height: 60px;
	}
}

@media (max-width: 1140px) {
  #about02{
	  background-position:center center;
	  position:relative;
  }
  /*#about02:before{
	  content:'';
	  bottom:0;
	  top:0;
	  left:0;
	  right:0;
	  background-color:rgba(0,0,0,0.6);
	  position:absolute;
  }*/
}


#Loader{
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 9998;
  pointer-events:none;
}
#LoadingImg{
  background: #fff;
  width: 181px;
  height: 175px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -90.5px;
  margin-top: -87.5px;
}

/* add */

.text_link a{
	display: inline-block;
  background: #428bca;
  color: #FFF;
  padding: 15px;
  border-radius: 10px !important;
}
.text_link a:hover{
	opacity:.9;
}

/*animation*/

#cover .ended{
	position:relative;
}

.bnr{
	position:relative;
}
