@charset "UTF-8";

#loadArea{ position:fixed;width:100%;height:100%;background:#fff;z-index:1000000; }
	
#loadArea .visual{ display:none;}
#loadArea #logo{ position:fixed;width:auto;top:50%;left:50%;margin-top: -145px; margin-left: -145px; z-index:2;}

#mainArea{
    display:none;
    position: relative;
    width: 100%;
}

.main_visual {
  position: relative;
  width: 100%;
	text-align: center;
}

.main_visual::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  -webkit-animation: load 1.5s ease 0s 1 normal forwards;
  animation: load 1.5s ease 0s 1 normal forwards
}

.main_visual>ul {
  color: #fff;
  height: 100%;
}

.main_visual>ul li {
  position: relative;
  overflow: hidden;
  height: 100%
}

.main_visual>ul li div {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
}

.main_visual_txt {
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -154px;
	margin-left: -154px;
	z-index: 10;
}

.main_visual_txt .mlogo {
	width: 308px;
	height: auto;
	margin: auto;
	text-align: center;
	pointer-events: none;
}

.main_visual_txt .mlogo img {
	width:100%;
	height:auto;
}

.main_visual_txt .mlogo {
	-webkit-animation: fadeIn 1s linear 1s 1 normal forwards;
	animation: fadeIn 1s linear 1s 1 normal forwards
}


.main_visual_maru {
	position: absolute;
    right: 200px;
	bottom: 3%;
	margin-top: -154px;
	margin-left: -154px;
	z-index: 11;
}

.main_visual_maru p.sp {
	display: none;
}

.main_visual_maru p {
    position: relative;
    display: inline-block;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background-color: rgba(48,164,222,0.8);
}

.main_visual_maru p span {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    color:#fff;
    font-size:14px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width :140px;
    text-align:center;
}

.main_visual_maru p.pc strong {
    font-size:15px;
    font-weight:bold;
}
.main_visual_maru p a {
	display: block;
}

.news {
	position: relative;
	z-index: 100;
}

.news .news_btn {
	position: absolute;
	top: -100px;
	right: 100px;
	z-index: 10;
	color: #fff;
}
.news .news_btn p{
    display: inline-block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    text-align:center;
    vertical-align: middle;
    line-height: 80px;
	color: #fff;
	font-size: 0.9rem;
	font-family: 'Lato', sans-serif;
	letter-spacing: .03em;
    background-color: rgba(40,117,188,0.8);
	/*padding:0.5em 3.8em;*/
	position: relative;
}

.news .news_btn p:after {
	content: '';
	position: absolute;
	bottom: 10px;
	left: 50%;
	border: solid #fff;
	border-width: 2px 0px 0px 2px;
	width: 0.32em;
	height: 0.32em;
	transform: rotate(-135deg);
    margin-left:-2px;
}

.news .news_btn p.active:after {
	bottom: 10px;
	border-width: 0px 2px 2px 0px;
}

.news .newsList {
	position: relative;
	z-index: 100;
	width: 100%;
	background: #084a95;
	padding: 40px 0 40px;
}

.news .newsList dl {
	width: 768px;
	margin: 0 auto;
	display:table;
}

.news .newsList dl {height: 1%;}
.news .newsList dl {display: block; overflow: hidden;}

.news .newsList dl{
	padding:2px 0;
	font-size:16px;
	line-height:2.4;
}
.news .newsList dt{
	color:#fff !important;
	text-align:left;
	float:left;
	width:100px;
	display:inline-block;
	vertical-align: top;
	line-height: 1.6;
}
.news .newsList dd{
	color:#fff !important;
	float:left;
	display:inline-block;
	width:628px;
	line-height: 1.6;
}

.news .newsList a{color:#fff;}
.news .newsList a:hover{
	color:#fff200;
}


@media screen and (min-width:769px) {
	.main_visual_maru p:hover {
		margin-right: 1.26413vw;
		-webkit-transition: margin-right .5s ease;
		transition: margin-right .5s ease;
		cursor: pointer;
		background-color: rgba(48,164,222,1);
	}
	.news .news_btn:hover p {
		margin-right: 1.26413vw;
		-webkit-transition: margin-right .5s ease;
		transition: margin-right .5s ease;
		cursor: pointer;
		background-color: rgba(40,117,188,1);
	}
}

@media screen and (max-width:1024px) {
    .news .news_btn {
        right:60px;
    }
    .main_visual_maru {
        right:150px;
    }
}

@media screen and (max-width:640px) {
     .news .news_btn {
        right:40px;
    }
    .main_visual_maru {
        right:130px;
    }
}

.slick-list, .slick-list .slick-track, .slick-list .slick-track .slick-slide>div {
  height: 100%!important
}
.slick-slide {
  position: relative;
}

.slick-slide .caption br {
    display:none;
}
.slick-slide .caption {
  position: absolute;
  width:100%;
  left: 0;
  bottom: 0;
  z-index: 2;
  padding: 50px 20px 30px 100px;
  color: #fff;
  font-size: 18px;
  opacity: 0;
  transition: .3s ease;
  text-align:left;
  background: url(../images/top/mv_footer_bg.png) repeat-x left top;
}
.slick-current .caption {
  opacity: 1;
  transition-delay: .5s;
}

@media screen and (max-width:980px) {
    .slick-slide .caption {
        padding:60px 20px 30px 40px;
        font-size: 16px;
    }
}

@media screen and (max-width: 736px) and (orientation: landscape) {
     .slick-slide .caption {
        padding:60px 20px 30px 40px;
        font-size: 16px;
    }
}

@media screen and (max-width:640px) {
    .slick-slide .caption {
        padding:60px 20px 20px 30px;
    }
    .slick-slide .caption br {
        display:block;
    }
}

@media screen and (max-width:480px) {
    .slick-slide .caption {
         font-size: 0.9rem !important;
        padding:60px 20px 20px 20px;
    }
}

@media screen and (max-width:380px) {
    .slick-slide .caption {
        font-size: 0.8rem !important;
        padding:60px 20px 20px 16px;
    }
}


.cover {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #FFF;
	z-index: 102 !important;
	-webkit-transform-origin: right;
	-moz-transform-origin: right;
	transform-origin: right;
}

.loader {
	position: fixed;
	top: 50%;
	margin-top: -81px;
	left: 0;
	z-index: 103 !important;
	width: 100%;
	text-align: center;
	opacity: 0;
}

.loader_logo {
}

.loader_spin {
	margin-top: 30px;
}

/* leadBox */
.leadBox {
	width: 100%;
	background: #2875bc;
}
.leadBox .inner {
	width: 90%;
	max-width: 768px;
	padding:52px 0;
}

.leadBox .inner h2 {
	color:#fff;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.3em
}

.leadBox .inner p {
	color:#fff;
	font-size: 17px;
	line-height: 1.8;
	margin-top: 30px;
}

/* COMMON */
figure.content_ttl {
	position: relative;
	width:100%;
   padding: 96px 0 !important;
	background-size: cover;
	background-position: center;
	text-align: center;
}

figure.content_ttl h2 {
	width: 100%;
	font-size: 38px;
	color: #fff;
	margin: 0 auto;
	text-align: center;-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,-10px,0);
	transform: translate3d(0,-10px,0);
	letter-spacing:0.08em;
}

.content02 figure.content_ttl h2,
.content04 figure.content_ttl h2,
.content06 figure.content_ttl h2{
	color: #084a95;
}

.content02 figure.content_ttl,
.content04 figure.content_ttl,
.content06 figure.content_ttl {
	background:#d1dbe1;
}

figcaption p.btn:after {
	content: '';
	position: absolute;
	top: 42%;
	right: 0.8em;
	border: solid #084a95;
	border-width: 0px 0px 2px 2px;
	width: 0.28em;
	height: 0.28em;
	transform: rotate(-135deg);
}

figcaption p.waku {
	border: 1px solid #084a95;
}

figcaption p.btn01:hover:after {
	content: '';
	position: absolute;
	top: 42%;
	right: 0.8em;
	border: solid #fff;
	border-width: 0px 0px 2px 2px;
	width: 0.28em;
	height: 0.28em;
	transform: rotate(-135deg);
}

figcaption p.btn {
	position: relative;
	width: 200px;
	height: 40px;
	line-height: 40px;
	font-weight: bold;
	text-align: center;
	display: inline-block;
	text-decoration: none !important;
	color: #084a95;
}

.content05 figcaption p.btn,
.content06 figcaption p.btn {
		line-height: 1.3 !important;
		height: 56px;
		padding-top: 6px;
}

figcaption p.btn a {
	display: block;
}

figcaption p span {
	font-size: 16px;
	font-family: 'Lato', sans-serif !important;
	font-weight:400;
	font-style: italic;
	letter-spacing:0.08em;
}

figcaption p.btn01:hover span {
	text-shadow: 0 0 0 #fff;
}

figcaption p.btn01 {
    background-color: #fff;
		color: #084a95 !important;
    background-size: 200% 100%;	
    background-image: -webkit-linear-gradient(left, transparent 50%, rgba(8, 74, 149, 1) 50%);	
    background-image: linear-gradient(to right, transparent 50%, rgba(8, 74, 149, 1) 50%);
    -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
}

figcaption p.btn01:hover {
	background-color: #084a95;
	color: #fff !important;
	background-position: -100% 100%;
}

.content06 figcaption {
	text-align: center;
}

.content_txt {
	background: #d1dbe1;
}
.content_txt .inner {
	width: 1000px;
	background: #fff;
	overflow: hidden;
	padding: 64px 100px 100px;
}

.content_txt .inner h2 {
	text-align: center;
	font-size: 34px;
	color: #084a95;
	line-height: 1.6;
	margin-bottom: 60px;
	letter-spacing:0.20em;
}

.content06 .content_txt .inner h2 {
	margin-bottom: 20px;
}

.content_txt .inner h2 span {
	display: block;
	font-size: 22px;
	font-family: 'Lato', sans-serif;
	font-weight:300;
	font-style: italic;
	letter-spacing:0.08em;
	color: #000;
}

.content_txt .inner .photo {
	width: 280px;
	float: left;
}

.content_txt .inner .photo p {
	line-height: 1.8;
	font-size: 26px;
	color: #084a95;
	letter-spacing:0.12em;
}

.content_txt .inner .photo p span {
	display: block;
	font-size: 38px;
	font-family: 'Lato', sans-serif;
	font-weight:300;
	font-style: italic;
}

.content04 .content_txt .inner .photo img {
	max-width: 180px;
	height: auto;
}

.content_txt .inner .txt {
	width: 520px;
	float: right;
	text-align: justify;
	text-justify: inter-ideograph;
}

.content_txt .inner .txt p {
	font-size: 14px;
	line-height: 2.0;
}

.content_txt .inner .txt.logo p {
	font-size: 13px;
	line-height: 2.4;
}

.content_txt .inner .txt.logo .spImg {
	display: none;
}
.content_txt .inner .txt.logo .pcImg img {
	width: 100%;
	max-width: 540px;
}

.content_txt .inner .txt.logo p span {
	color:#084a95;
	font-weight: bold;
}
.content_txt .inner .txt.logo p strong {
	font-weight: bold;
}

.content_txt .inner .txt.logo .txtBle {
	margin-top: 30px;
}
.content_txt .inner .txt.logo .txtBle p {
	font-size: 12px;
	color: #084a95;
	line-height: 1.6;
	font-weight: bold !important;
}
.content_txt .inner .txt.logo .txtBle br.n480 {
	display: none;
}

.content_txt .inner .txt p.midashi { margin-bottom: 10px; }
.content_txt .inner .txt p.midashi.mt { margin-top: 40px; }
.content_txt .inner .txt p.midashi span {
	font-weight: bold;
	padding-bottom: 3px;
	color: #084a95;
	border-bottom: 2px solid #084a95;
}

.content_txt .inner .year {
	clear: both;
	padding-top: 50px;
}
.content_txt .inner .year span {
	display: block;
	font-size: 78px;
	line-height: 78px;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-style: italic;
	letter-spacing:0.08em;
	float: left;
	color: #084a95;
}

.content_txt .inner .year span:first-child {
	padding-right: 150px;
	background: url(../images/top/content01_arrow.png) no-repeat right bottom 20px;
}

.content_txt .inner .year span:last-child {
	padding-left: 30px;
}

@media screen and (min-width:769px), print {
  .pc {
    display: block;
  }
  .sp {
    display: none;
	}

	.content03 figure.content_ttl {
		background-position: center top;
	}
	.content07 figure.content_ttl {
		background-position: center top;
	}
}

@media screen and (max-width:1000px) {
	.content_txt .inner {
		width: 90%;
		margin:0 5%;
		padding: 54px 60px 60px;
	}

	.content_txt .inner h2 {
		margin-bottom: 40px;
	}
	
	.content_txt .inner .photo {
		width: 24%;
		margin-right: 6%;
	}
	.content_txt .inner .txt {
		width: 70%;
		float: right;
	}
	.content_txt .inner .photo img {
		width: 100%;
	}
		
	.content_txt .inner .photo p {
		font-size: 22px;
		margin-top: 10px;
	}

	.content_txt .inner .photo p span {
		font-size: 25px;
	}
	.content_txt .inner .year {
		padding-top: 50px;
	}
	.content_txt .inner .year span {
		font-size: 58px;
		line-height: 58px;
	}

	.content_txt .inner .year span:first-child {
		padding-right: 150px;
		background: url(../images/top/content01_arrow.png) no-repeat right bottom 20px;
	}

	.content_txt .inner .year span:last-child {
		padding-left: 30px;
	}
	
}

@media screen and (max-width: 736px) and (orientation: landscape) {

	.content_txt .inner .year span {
		font-size: 42px;
		line-height: 42px;
	}

	.content_txt .inner .year span:first-child {
		padding-right: 150px;
		background: url(../images/top/content01_arrow.png) no-repeat right bottom 10px;
	}

	.content_txt .inner .year span:last-child {
		padding-left: 30px;
	}
	
	#loadArea #logo{ margin-top: -70px; margin-left: -70px; }
	#loadArea #logo img { width: 140px; height: 140px; }
	
	.main_visual_txt {
		margin-top: -70px;
		margin-left: -70px;
	}
	.main_visual_txt .mlogo {
		width: 140px;
		height: 140px;
	}
	

}

@media screen and (max-width:768px) {
	
	figure.content_ttl h2 {
		font-size: 5.087vw;
	}
	
	.content_txt .inner h2 {
		font-size: 4.287vw;
	}
	.content_txt .inner h2 span {
		font-size: 2.887vw;
	}
	
	#loadArea #logo{ margin-top: -100px; margin-left: -100px; }
	#loadArea #logo img { width: 220px; height: 220px; }

	.main_visual_txt {
		margin-top: -100px;
		margin-left: -100px;
	}

	.main_visual_txt .mlogo {
		width: 220px;
		height: 220px;
	}
	.slider .vs_05 div {
		background-position: left top;
	}
	
	.news .newsList dl {
		width: 90%;
		margin: 0 5%;
		line-height:1.6;
	}

	.news .newsList dt {
		vertical-align:top;
		width:20%;
	}
	.news .newsList dd{
		width:80%;
	}
	
	.leadBox .inner h2 {
		font-size: 24px;
		letter-spacing: 0.3em;
	}

	.leadBox .inner p {
		font-size: 16px;
		line-height: 1.6;
	}
	
	.content_txt .inner .photo {
		width: 100%;
		margin-right: 0;
		float: none;
		text-align: center;
	}
	.content_txt .inner .txt {
		width: 100%;
		float: none;
		margin-top: 30px;
	}
	.content_txt .inner .photo img {
		max-width: 150px;
	}

}


@media screen and (max-width:640px) {
	.content_txt .inner {
		padding: 54px 40px 60px;
	}

	.content_txt .inner .year span {
		font-size: 38px;
		line-height: 38px;
	}

	.content_txt .inner .year span:first-child {
		padding-right: 150px;
		background: url(../images/top/content01_arrow.png) no-repeat right bottom 10px;
	}

	.content_txt .inner .year span:last-child {
		padding-left: 20px;
	}
	.content_txt .inner .txt.logo p {
		line-height: 1.8;
		font-size: 14px;
	}
	.content_txt .inner .txt.logo .txtBle br.n480 {
		display: block;
	}
	.content_txt .inner .txt.logo .txtBle p {
		margin-bottom: 10px;
	}
	
	.content_txt .inner .txt.logo .pcImg {
		display: none;
	}
	.content_txt .inner .txt.logo .spImg {
		display: block;
	}

	.content_txt .inner .txt.logo .spImg img {
		width:90%;
	}
}

@media screen and (max-width:540px) {
    .main_visual_maru {
    	position: absolute;
        right: 40px;
    	bottom: 45px;
    	margin-top: -154px;
    	margin-left: -154px;
    	z-index: 11;
    }
    
	.main_visual_maru p.pc {
		display: none;
	}
	.main_visual_maru p.sp {
		display: block;
	}
    .main_visual_maru p {
        position: relative;
        display: inherit;
        width: 140px;
        height: 70px;
        border-radius: inherit;
        background-color: rgba(48,164,222,0.9);
    }
    
    .main_visual_maru p span {
        position: absolute;
        display: inline-block;
        left: 0;
        top: 50%;
        color:#fff;
        font-size:14px;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width :140px;
        text-align:center;
    }

    .news .news_btn {
    	top: -40px;
    }
    .news .news_btn p{
        display:inherit;
        border-radius: inherit;
        width: 140px;
        height: 40px;
        text-align:center;
        vertical-align: middle;
        line-height: 40px;
        background-color: rgba(8,74,149,1);
    	color: #fff;
    	font-size: 1rem;
    }
    .news .news_btn p:after {
        bottom:inherit;
    	top: 41%;
        left:inherit;
    	right: 0.8em;
        margin-left:0;
    }
    .news .news_btn p.active:after {
        bottom:inherit;
    	top: 43%;
    }
}


@media screen and (max-width: 736px) and (orientation: landscape) {
    .main_visual_txt .mlogo {
		width: 160px;
		height: 160px;
	}
    .main_visual_maru {
        bottom: 20px;
    }
    .main_visual_maru p {
        width: 120px;
        height: 120px;
    }
    .main_visual_maru p span {
        width :120px;
    }
}

@media screen and (max-width:480px) {
	
	#loadArea #logo{ margin-top: -100px; margin-left: -76px; }
	#loadArea #logo img { width: 160px; height: 160px; }
	
	.main_visual_maru {
        right: 20px;
    }
    .news .news_btn {
    	right: 20px;
    }
	
	.main_visual_txt {
		margin-top: -100px;
		margin-left: -76px;
	}
	.main_visual_txt .mlogo {
		width: 160px;
		height: 160px;
	}
	
	.slider .vs_01 div {
		background-position: left -200px top;
	}
	.slider .vs_03 div {
		background-position: left -220px top;
	}
	
	.slider .vs_09 div {
		background-position: right -100px top;
	}
	.slider .vs_10 div {
		background-position: left -100px top;
	}
	.news .newsList dl{
		line-height:1.8;
		font-size:14px;
	}
	.news .newsList {
		padding: 30px 0;
	}
	
	.leadBox .inner h2 {
		font-size: 20px;
		letter-spacing: 0.2em;
	}

	.leadBox .inner p {
		font-size: 15px;
		line-height: 1.6;
		margin-top: 20px;
	}
	
	.content_txt .inner {
		padding: 34px 20px 40px;
	}
	figure.content_ttl {
		padding: 46px 0 !important;
	}
	
	figure.content_ttl h2 {
		font-size: 6.887vw;
	}
	
	.content_txt .inner h2 {
		font-size: 6.287vw;
	}
	.content_txt .inner h2 span {
		font-size: 4.887vw;
	}
	
	.content_txt .inner .photo p {
		font-size: 20px;
	}

	.content_txt .inner .photo p span {
		font-size: 22px;
	}
	
	.content_txt .inner .year span {
		font-size: 26px;
		line-height: 26px;
	}

	.content_txt .inner .year span:first-child {
		padding-right: 60px;
		background: url(../images/top/content01_arrow.png) no-repeat right bottom 10px;
		background-size: 40% auto;
	}

	.content_txt .inner .year span:last-child {
		padding-left: 10px;
	}
	
	.content_txt .inner .photo img {
		max-width: 120px;
	}
	
	.content04 .content_txt .inner .photo img {
		width: 140px;
	}
	
	.news .newsList dt {
		width:28%;
		padding-right:2%;
	}
	.news .newsList dd{
		width:72%;
	}
}


@media screen and (max-width:360px) {
    .main_visual_maru {
        right: 10px;
    }
    .main_visual_maru p {
        width: 120px;
    }
    .main_visual_maru p span {
        font-size: 0.7rem !important;
        width: 120px;
    }
	.main_visual_maru p strong {
       font-size: 0.9rem !important;
    }
    .news .news_btn {
    	right: 10px;
    }
    .news .news_btn p{
		width: 120px;
		font-size: 0.8rem !important;
    }
}

@media screen and (max-width:340px) {
	
	.p-loader-title img{width:180px !important; margin-left: 40px !important;}
	
	.slider .vs_01 div {
		background-position: left -220px top;
	}
	.slider .vs_03 div {
		background-position: left -300px top;
	}
	
	.slider .vs_09 div {
		background-position: right -100px top;
	}
	.slider .vs_10 div {
		background-position: left -100px top;
	}
	
	.leadBox .inner h2 {
		font-size: 18px;
	}

	.leadBox .inner p {
		font-size: 14px;
		line-height: 1.6;
	}
	
	.main_visual_maru p {
        width: 100px;
    }
    .main_visual_maru p span {
        font-size: 0.6rem !important;
        width: 100px;
    }
	.main_visual_maru p strong {
       font-size: 0.8rem !important;
    }

    .news .news_btn p{
		width: 100px;
		font-size: 0.8rem !important;
    }
}