@charset "utf-8";
/***********************************************************************************************************************
* 基本構造
***********************************************************************************************************************/
html {
    width: 100%;
}

body{
	font-size: 1.6rem;/*基準*/
	line-height: 1.875em;
	color:#313131;
}
body.noduration *{
	transition-duration:  0s !important;
}


*{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.wrap{
	max-width: 1270px;
	padding: 0 20px;
	margin:0 auto;
}

.conts{
	max-width: 1150px;
	margin: 0 auto;
	padding:0;
}

.section{
	margin:65px 0 90px;
}
.case .section {
    margin: 65px 0 70px;
}

/*アンカー*/
a{
	cursor: pointer;
	text-decoration: none;
	-webkit-transition: opacity .2s ease;
	transition: opacity .2s ease;
	opacity: 1;
}

a:hover{
	opacity: 0.5;
}
	.link{ color:#0068b7;}

	.under{
		text-decoration: underline;
	}

	a[href^="tel:"] {
	    pointer-events: none;
	}

/*画像切り替えなど*/
.sp{ display: none !important; }
.pc{ display:block !important; }

/*カラー設定*/


.ft-crim{
	font-family: 'Crimson Text', serif !important;
	font-weight: 700;
}



img{ max-width: 100%; height: auto;}

/*画像幅100%*/
img.wide{ width: 100%; height: auto;}

/*ローディング*/
#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 9999;
}


#loader {
  display: block;
  position: absolute;
  top: 50%;
  width: 100%;
  height: 60px;
  left: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-align: center;
  z-index: 10000;
}

/*ローダー・サークル*/
.loader1{
  width:45px;
  height:45px;
  border-radius:50%;
  border:2px solid rgba(0,0,0,0.2);
  border-top-color:rgba(0,0,0,0.4);
  /* border-top-color:#00468C; */
  box-sizing:border-box;
  display: inline-block;
  animation:loading 0.6s linear infinite;
  -webkit-animation:loading 0.6s linear infinite;
}
	@keyframes loading{
	  0%{transform:rotate(0deg)}
	  100%{transform:rotate(360deg)}
	}
		@-webkit-keyframes loading{
		  0%{-webkit-transform:rotate(0deg)}
		  100%{-webkit-transform:rotate(360deg)}
		}

#all-wrap{
	opacity: 0;
}
/***********************************************************************************************************************
* パーツ
***********************************************************************************************************************/
.headline-lg {
	font-size: 3rem;
	font-weight: normal;
}

.headline-lg em{
	padding-right: 40px;
	font-size: 9rem;
	color:#004986;
	font-weight: bold;
	font-weight: 700 !important;
	display: inline-block;
	vertical-align: middle;
}
.headline-lg span{
	padding-right: 10px;
	font-weight: bold;
	font-size: 3.6rem;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin-top: 0px;
}

.movie-area{
	padding:0 45px;
}
.movie-area .movie-ttl{
	font-size: 6rem;
	display: inline-block;
	color:#004986;
	padding-right: 80px;
	background-image:url(../img/icon-movie.png);
	background-repeat: no-repeat;
	background-position: 100% 55%;
}

.movie-area .movie-list{
}
	.movie-area .movie-list>li{
		width: 31.46%;
		margin-right: 2.8%;
		margin-bottom: 20px;
		text-align: center;
	}
	.movie-area .movie-list>li:nth-child(3n){
		margin-right: 0;
	}
		.movie-area .movie-list>li>p{
			line-height: 1.3em;
			padding: 23px 0;
			font-size: 2.4rem;
		}
		.movie-area .movie-list>li>p em{
			color:#0068b7;
			padding-right: 0.3em;
		}

.common-block1{
	margin-bottom: 70px;
}
.common-block1>.box{
	padding-right: 15px;
}
.common-block1>.box p.para{
	max-width:1000px;
	margin: 60px auto 30px;

}
.common-block1>.box p.author{
	max-width:1000px;
	margin: 0px auto 30px;
}

header {
	position: fixed;
	height: 58px;
	z-index: 100;
}
header .page-ttl{
	position: fixed;
	height: 100vh;
	width: 100px;
	background: #fff;
	left:0;
	top:0;
}
header .page-ttl p{
	position: absolute;
	display: inline-block;
	margin-top: 0px;
	top: 50%;
	left: 35px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-align:center;
	text-align:center;
	white-space: nowrap;
	display: block;
	font-size: 1.4rem;
}

header .logo{
	position: fixed;
	right: 100px;
	top: 35px;
	display: inline-block;
	padding: 5px 30px;
}


header nav{
	position: fixed;
	right:0;
	width: 100px;
	height: 100vh;
}


header nav .page-nation{
	position: absolute;
	width:100%;
	top: 50%;
	left: 20px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-align:center;
	width: 20px;
	height: 20px;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: space-around;
	flex-direction:  column;
}

header nav .page-nation>li>a{
	padding: 10px 20px;
	width: 100%;
	display: block;
}


header nav .page-nation>li>a>span.dot{
	display: block;
	width: 10px;
	height: 10px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #b5b5b5;
}
header nav .page-nation>li>a.current>span.dot{
	background: #000;
}



footer{
	font-size: 1.8rem;
	padding: 70px 0 30px;
	line-height: 1.9em;
	border-top:1px solid #535353;
}

footer .title{
	font-weight:bold;
}
footer .copyright{
	text-align: right;
	font-size: 1.4rem;
}

footer .corp a{
	color: #00479d;
	font-weight: bold;
	font-size: 1.8rem;

}
.top-main{

}
.top-visual{
	position: relative;
	padding: 0 100px;
	padding-top: 58px;
}
.top-visual .catch-arw-layer{
	position: absolute;
	right:0;
	bottom:0;
	z-index: 100;
}

.top-visual .slide-area{
	position: relative;
	z-index: 1;
}


.top-visual .swiper-slide{
	position: relative;
	height: -webkit-calc( 100vh - 108px);
	height: calc( 100vh - 108px);
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 40px;
}

.top-visual .swiper-slide .inr{
	height: -webkit-calc( 100vh - 68px);
	height: calc( 100vh - 68px);
	background-repeat: no-repeat;
	background-size: cover;
}
.top-visual .catch{
	position: absolute;
	left:0;
	top:0px;
	z-index: 101;
}

.lum-lightbox{
	z-index: 100;
}


/***********************************************************************************************************************
*トップ
***********************************************************************************************************************/
#greetings{
	background: #f2f7f8;
	position: relative;
	z-index: 2;
}
#greetings .wrap{
	margin: 0 auto;
	max-width: 1260px;
	padding-top: 100px;
}
#greetings .bg-layer-top{
	position: absolute;
	background: #f2f7f8;
	left:0;
	top:0;
	width: 100%;
	z-index: 1;
}
#greetings .bg-layer-btm{
	position: absolute;
	left:0;
	bottom:0;
	width: 100%;
	background: #f2f7f8;
	z-index: 1;
}



#greetings .greetings-area{
	position: relative;
	z-index: 3;
}

#greetings .movie-area{
	position: relative;
	z-index: 3;
}

#greetings .greetings-block{
	position: relative;
	z-index: 1;
	margin: 0 auto 0px;
	border:1px solid  #271c85;
	padding-bottom: 0px;
}

/*greetings*/
#greetings .greetings-box{
	position: relative;
	margin-left:0px;
}


#greetings .greetings-box .greetings-ttl {
    font-size: 3rem;
    position: relative;
    line-height: 1.6em;
    margin-bottom: 25px;
}


#greetings .greetings-box .txt-layer p{
	font-size: 1.55rem;

}

#greetings .greetings-box .author{
	margin-top: 20px;
}

#greetings .greetings-block{
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;

}

#greetings .greetings-box{
	width: 54%;
	padding: 45px 40px;
}


#greetings .greetings-block .img-box{
	width: 46%;
	padding: 50px 40px;
}

/*flow*/
#flow{
	margin: 70px auto;
}

/*talksession*/

#talksession{
	padding-top: 70px;
}
/*welcome*/
#welcome{
	position: relative;
	width: 100%;
	overflow: hidden;
	/*background: #f2f7f8;*/
	background-size: 100% auto;
	z-index: 1;
	margin-bottom: 2px;
}
#welcome::before{
	content:"";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top:0;
	left:0;
	background: #f2f7f8;
	z-index: -1;
}

#welcome .headline-lg{
	padding-top: 70px;
}
#welcome>div{
	position: relative;
	z-index: 2;
}

#welcome .welcome-area {
    position: relative;
    z-index: 3;
    margin-bottom: 60px;
}

#welcome .bg-layer-top{
	position: absolute;
	z-index: 2;
	width: 100%;
	left:0;
	top:-1px;
	background: #f2f7f8;
}

#welcome .bg-layer-btm{
	position: absolute;
	width: 100%;
	z-index: 1;
	left:0;
	bottom:0;
}
#welcome .bg-layer-btm::after{
	content:"";
	position: absolute;
	display: block;
	width: 100%;
	height:5px;
	bottom:-5px;
	left:0;
	background: #fff;
}
#welcome .bg-layer-btm img {
	vertical-align: bottom;
}

#welcome .movie-area {
    margin-bottom: 30px;
}

#welcome .common-block1>.box p.para {
    margin-bottom:0;
}
#welcome .common-block1>.box p.author {
    margin-top:0;
}
#welcome .common-block1 {
    margin-bottom: 0px;
}

#welcome .common-block1>.box p.author {
    max-width: 1000px;
    margin: 0px auto 0;
}

#gallery{
	position: relative;
	z-index: 1;
	padding-top: 70px;
	overflow: visible;
}

#gallery .para{
	margin: 50px 0;
}

#gallery .voice{
	text-align: center;
	margin: 50px 0;
	color:#004986;
}

/*#gallery*/
#gallery .title{
	font-size: 3.6rem;
	text-align: center;
	margin-bottom: 55px;
	color:#004986;
}
#gallery .voice{
	text-align: center;
}
#gallery .voice .caption{
	font-size: 3rem;
	font-weight: bold;
}

#gallery .photo-gallery{
	max-width: 1154px;
	margin:0 auto;
}
#gallery .photo-gallery>li{
	width: 29.33%;
	margin-right: 6%;
	margin-bottom: 50px;
}
#gallery .photo-gallery>li:nth-child(3n){
	margin-right: 0;
}

#gallrey-area{
	padding: 64px 0;
	background: url(../img/dot.png);
}


.lum-lightbox-inner img {
    max-width: 100%;
    max-height: 100%;
}
/***********************************************************************************************************************
* 横サイズ1439px以下
***********************************************************************************************************************/
@media screen and (max-width: 1439px){

	.wrap{
		padding-left: 50px;
	}

	header .page-ttl {
	    width: 50px;
	}

	header .page-ttl p {
	    left: 15px;
	}

	header nav {
	    width: 70px;
	}

	.top-visual {
	    padding: 58px 50px 0;

	}

	.top-visual .catch{
		width: 50%;
	}

}/**/

/***********************************************************************************************************************
* 横サイズ1200px以下
***********************************************************************************************************************/
@media screen and (max-width: 1200px){
	.headline-lg {
	    font-size: 2.5rem;
	    font-weight: normal;
	}

	.headline-lg em {
	    padding-right: 20px;
	    font-size: 6rem;
	}
	.headline-lg span {
	    font-size: 2.8rem;
	}

	#greetings .greetings-box {
	    width: 60%;
	    padding: 45px 0 40px 30px;
	}
	#greetings .img-box {
	    width: 40%;
	}

	#greetings .greetings-box .greetings-ttl {
	    font-size: 2.2rem;
	    margin-bottom: 25px;
	}

	#talksession {
	    padding-top: 70px;
	}

	.movie-area .movie-list>li>p {
	    font-size: 2rem;
	}

}
