@charset "utf-8";

body{
	font-family: 'Noto Sans JP', sans-serif;
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
}
html{
	font-size:62.5%;
}

.font-serif{
	font-family: 'Noto Serif JP', serif;
}

.font-sans-serif{
	font-family: 'Noto Sans JP', sans-serif;
}

img{
  max-width: 100%;
  line-height: 0;
	vertical-align: bottom;
}
*{ box-sizing: border-box;}
table{border-collapse:collapse;border-spacing:0;}
a{outline:none !important;}
a:focus{outline:none !important;}
a:link{color: #000; text-decoration:none;}
a:visited{color: #000; text-decoration:none;}
a:hover{color: #000; text-decoration:underline;}
a:active{color: #000; text-decoration:underline;}


.w100{
  width: 100%;
}

.hidden-title{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  border: 0px none;
}

.color-accent{
	color:#40B7BD;
}

.relative{
		position: relative;
}
.bold{
	font-weight: bold;
}
section{
	position: relative;
	overflow: hidden;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 hover
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.over input,
.over a{
  text-decoration: none;
}
#page-top > img:hover,
.over input:hover,
.over a:hover,
.over li a:hover{
	filter: alpha(opacity=70);
	moz-opacity: 0.5;
	opacity: 0.5;
  transition: opacity 0.3s;
  text-decoration: none;
}
.txt-c{text-align:center;}
.txt-r{text-align:right;}
.txt-l{text-align:left;}


.txt-box{
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}


#page-top > img{
	cursor: pointer;
}

header{
	position: relative;
}


.page-404{
	padding: 80px 16px;
}

.page-404 h2{
	font-size: 2rem;
	margin-bottom: 1em;
}

.eff-fadeup2 {
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px);
	transition: .8s;

}
.fadeup2 {
	opacity: 1.0;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}


@-webkit-keyframes zoomUp {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}

@keyframes zoomUp { /* 1.15倍させる指定 */
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}


.swiper-slide {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  
    -webkit-animation: zoomUp 10s linear 0s;
    animation: zoomUp 10s linear 0s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards ;
  
  
}

.slide-img img{
  display: block;
  width: 100%;
}

#page-top{
	display: block;
	width: 48px;
	height: 48px;
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 10;	
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 PC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/

@media screen and (min-width: 769px) {
  .sp{display:none !important;}
  .inner{
    max-width: 1232px;
    padding: 0px 16px;
    margin: 0 auto;
  }
  
	.anc{
	  margin-top:-130px;
	  padding-top:130px;
	}  
  
  main{
	  padding-top: 130px;
	  padding-bottom: 50px;
  }
  header{
	  width: 100%;
    background-color: #ffffff;
    position: fixed;
    z-index: 999;
  }
	
  
  .header-area{
	  display: flex;
	  justify-content: space-between;
	  align-items: center;
	  position: relative;
	  height: 80px;
	  width: 100%;
  }
  .header-area .logo{
	  display: flex;
	  align-items: center;
	  padding: 0.5em 1em;
  }
  .header-area a{
	   display: block;
		text-decoration: none;
  }
	header h1{
		font-size: 3.0rem;
		font-weight: 400;
	}
	header .logo img{
		width:150px;
		margin-right: .5em;
	}
	
	header .link-area{
		padding: 0 1em;
		text-align: center;
	}

	header .link-area .info{
		font-size: 1.3rem;
		font-weight: 300;
	}	
	header .link-area .tel{
		font-size: 2.4rem;
		font-weight: 700;
	}	
	header .link{
		display: flex;
		align-items: center;

	}
	
	header .nav{
		background-color: #051367;
	}
	header .main-nav{
		display: flex;
		justify-content:space-between;
		align-items: center;
		font-size: 1.6rem;
		height: 50px;
	}
	
	header .main-nav > li{
		width: calc(100% / 5);
		text-align: center;
	}
	header .main-nav > li > a{
		color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 400;
		border-right: 1px solid #D8D8D8;
		text-decoration: none;
		transition: color .3s;
		height: 50px;
	}
	header .main-nav > li:first-child a{
		border-left: 1px solid #D8D8D8;
	}
	header .main-nav > li > a.active,
	header .main-nav > li > a:hover{
		color: #55eeff;
	}
	
	footer{
		background-color: #051367;
		padding: 40px 0 20px;
		font-size: 1.3rem;
	}
	
	footer a:hover,
	footer a{
		color: #ffffff !important;
		font-weight: 300;
	}
	footer .link1 img{
		width: 150px;
		margin-right: 0.5em;
	}
	footer p{
		color: #ffffff;
		font-weight: 300;
	}
	footer .title{
		font-size: 3rem;
		font-weight: 400;
	}
	
	footer .link1 a{
		display: flex;
		align-items: center;
		margin-bottom: 1em;
		text-decoration: none;

	}
	footer .link1{
		min-width: 350px;
	}
	footer .link2{
		min-width: 8em;
	}
	footer .link3{
		min-width: 11em;
	}

	footer .link4{
		min-width: 13em;
	}

	footer .links-wrap{
		display: flex;
		justify-content:space-between;
		margin-bottom: 65px;
	}
	footer .link2,
	footer .link3,
	footer .link4{
		border-left: 1px solid #9f9f9f;
		padding-left: 1em;		
	}


	footer li{
		margin-bottom: 0.5em;
	}

	footer .copy{
		font-size: 1.2rem;
		color: #d0d0d0;
		text-align: center;
	}
	
	.bg-img .catch{
		padding-left: 20%;
	}
	
	.dropdown-lists {
    display: none;
    width: 100%;
    position: absolute;
    top: 50px;
    left: 0;
    background-color: rgba(5, 19, 103, 0.68);
		padding: 1em 0;
	}
	
	.gnavi-list:hover .dropdown-lists {
	    display: block;
	}
	.gnavi-list {
	    transition: all .3s;
	    position: relative;
	}

	.dropdown-lists a{
		color: #fff;
		padding: 0.5em 1em;
		display: block;
		text-decoration: none;
		
	}
	.dropdown-lists a:hover{
		color: #55eeff;
	}

		
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 SP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/

@media screen and (max-width: 768px) {

  html {
   font-size: 1.3333vw;
  }

  body{
    font-size: 2.4rem;
  }
  body img{width:100%;}
  .pc{display:none !important;
  }
	.anc{
	  margin-top:-12vw;
	  padding-top:12vw;
	}
	main{
		padding-top: 12vw;
		margin-bottom: 12vw;
	}
  .inner{
    padding: 0 4vw;
    margin: 0 auto;
  }
  
  section{
    overflow: hidden;
  }
  
  header{
    width: 100%;
    height: 12vw;
    background-color: rgba(255, 255, 255, 1);
    position: fixed;
    z-index: 999;
  }
  
 	header h1{
		font-size: 4rem;
		font-weight: 400;
	} 
	header .logo img{
		width:16vw;
		margin-right: 0.5em;
	}
	.header-area{
		display: flex;
		align-items: center;
		justify-content: space-between;
    height: 12vw;
    padding: 0 3.7333vw;
	}

  .header-area .logo{
	  display: flex;
	  align-items: center;
  }
  .header-area a{
	   display: block;
		text-decoration: none;
  }

  .btn-menu{
    display: block;
    position: relative;
    width: 6.4vw;
    height: 6.4vw;
    background-color: rgba(255, 255, 255, 1);
  }

  
  .btn-menu span{
    position: absolute;
    width: 6.4vw;
    height: 2px;
    background-color: #051367;
    -webkit-transition: transform .4s;
    transition: transform .4s;
  }
  .btn-menu span:nth-of-type(1){
    top:0.8vw;
  }
  .btn-menu span:nth-of-type(2){
    top:calc(50% - 1px);
  }
  .btn-menu span:nth-of-type(3){
    bottom:0.8vw;
  }
  .btn-menu.active span:nth-of-type(1) {
    transform: translateY(2.2667vw) rotate(-315deg);
  }
  .btn-menu.active span:nth-of-type(2) {
    opacity: 0;
    transition:opacity 0.3s ease-in-out;
  }
  .btn-menu.active span:nth-of-type(3) {
    transform: translateY(-2.2667vw) rotate(315deg);
  }


  header .nav{
    display: block;
    position: absolute;
    transition: 0.5s ease-in-out;
    overflow: hidden;
		width: 100%;
    left:0;
    top:12vw;
    background-color: rgba(255, 255, 255, 1);
    white-space: nowrap;
    max-height: 0;
    overflow-y: auto;
 }
  
  header .nav .inner{
    padding: 2em 0;
  }

  header .nav.active{
    max-height: 100vh;
  }

  header .nav li{
    text-align: center;
    margin-bottom: 0;
  }
  header .nav li > a {
		display: block;
    text-decoration: none;
    color: #757575;
    padding: 1em 0;
    font-size: 2.8rem;
  }
  
  header .nav li > a.active,
  header .nav li > a:hover {
    color: #2D31FA;
  }

	footer{
		background-color: #051367;
		padding: 6vw 0;
	}
	
	footer a:hover,
	footer a{
		color: #ffffff !important;
		font-weight: 300;
		text-decoration: none;
	}	
	footer .links-wrap{
		display: flex;
		flex-wrap: wrap;	
		font-size: 2.4rem;
	}
	
	footer .link1 img{
		width:16vw;
		margin-right: 0.5em;
	}	
	footer .title{
		font-size: 3rem;
		font-weight: 400;
	}
	footer p{
		color: #ffffff;
		font-weight: 300;
	}	
	
	footer .link1 a{
		display: flex;
		align-items: center;
		margin-bottom: 1em;

	}	
	
	footer .link1{
		text-align: left;
		width: 100%;
		margin-bottom: 2em;
		border-bottom: 1px solid #ffffff;
		padding-bottom: 1em;
	}
	footer .link4,
	footer .link3,
	footer .link2{
		width: 50%;
		margin-bottom: 1em;
	}
	

	footer li{
		margin-bottom: 1em;
	}
	footer .copy{
		font-size: 2rem;
		color: #d0d0d0;
		text-align: center;
	}
		
	.bg-img{
		justify-content: center;
	}
	.bg-img .catch{
		text-align: center;
		padding: 1em;
	}
	
	#page-top{
		display: block;
		width: 8vw;
		height: 8vw;
		right: 5.3333vw;
		bottom: 5.3333vw;
	}	
}

h2{
	font-size: 2.4rem;
	color: #051367;
	margin-bottom: 0.5em;
}

h2.title.c-line{
	font-size: 4.2rem;
	position: relative;
	display: inline-block;
	margin-bottom: 1.5em;
	padding-top: 0;
}

h2.title.c-line:after{
	content: "";
	display: block;
	position: absolute;
	background-color: #051367;
	width: 490px;
	height: 4px;
	top:0;
	left: 50%;
	transform: translate(-50%, 1.6em);
}

h2.title.c-line2{
	font-size: 4.2rem;
	position: relative;
	display: inline-block;
	margin-bottom: 1.5em;
	padding-top: 0;
}

h2.title.c-line2:after{
	content: "";
	display: block;
	position: absolute;
	background-color: #051367;
	width: 840px;
	height: 4px;
	top:0;
	left: 50%;
	transform: translate(-50%, 1.6em);
}


h3{
	font-size: 2.2rem;
	color: #051367;
}

.sub-page li{
	font-size: 1.8rem;
	font-weight: 300;
	margin-bottom: 1em;
}
p{
	font-size: 1.8rem;
	font-weight: 300;
	margin-bottom: 1em;
}
footer p,
header p{
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	h2.title.c-line:after{
		width: 65.3333vw;
	}

	h2.title.c-line2:after{
		width: 65.3333vw;
		top:1.6em;
	}

	h3{
		font-size: 3.4rem;
	}

	p{
		font-size: 3rem;
	}
}

.btn{
	display: inline-block;
	text-decoration: none !important;
	position: relative;
}
.btn span{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	width: 320px;
	height: 60px;
	border: 1px solid #707070;
	border-radius: 30px;
	background-color: #ffffff;
	color: #051367;
	font-weight: 500;
	transition: background-color .3s,color .3s;

}

.btn:before{
	content: '';
	position: absolute;
	top:32px;
	right: 20px;
	width: 50px;
	height: 1px;
	background:#051367;
	transition: background-color .3s,color .3s,width .5s,right .5s;

}
.btn:after{
	content: '';
	position: absolute;
	top:27px;
	right:20px;
	width: 15px;
	height:1px;
	background:#051367;
	transform: rotate(35deg);
	transition: background-color .3s,color .3s,right .5s;
}

.btn:hover:before{
	background:#ffffff;
	width: 60px;
	right: 10px;
}

.btn:hover:after{
	background:#ffffff;
	right: 10px;
}

.btn:hover .btn-submit,
.btn:hover span{
	background-color: #051367;
	color: #ffffff;
}

.bottom-area ul{
	display: flex;
	flex-wrap: wrap;	
	justify-content:space-around;
	align-items: center;
}

.bottom-area .btn-tel,
.bottom-area .btn-mail{
	color: #ffffff;
	background-color: #5D8BF4;
	width: 500px;
	height: 96px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 48px;
	text-align: center;
	margin: 0 10px 20px;
}

.bottom-area .btn-tel > div,
.bottom-area .btn-mail > div{
	font-size: 3.2rem;
	line-height: 1em;
	color: #ffffff;
}

.bottom-area .btn-tel > div{
	font-size: 4rem;
	line-height: 0.5em;
}


.bottom-area .s-title{
	font-size: 2rem;
	position: relative;
	top:-0.7em;
}

.bottom-area .btn-mail{
	display: flex;
	justify-content: center;
	align-items: center;
}

.bottom-area .btn-mail img{
	width: 43px;
	margin-right: 0.5em;
}

@media screen and (max-width: 768px) {
	.btn .btn-submit,
	.btn span{
		font-size: 3rem;
		width: 64vw;
		height: 12vw;
		border-radius: 6vw;
	}
		
	.btn:before{
		top:6.4vw;
		right: 4vw;
		width: 10vw;
	}
	.btn:after{
		top:5.4vw;
		right:4vw;
		width: 3vw;
	}
	
	.btn:hover:before{
		width: 12vw;
		right: 2vw;
	}
	
	.btn:hover:after{
		right: 2vw;
	}

	.bottom-area .btn-tel,
	.bottom-area .btn-mail{
		width: 66.6667vw;
		height: 12.8vw;
		border-radius: 6.4vw;
		margin: 0 0 4vw;
	}

	.bottom-area .btn-mail img{
		width: 5.7333vw;
	}
}


.breadcrumb{
	font-size: 14px;
	padding: 16px 0;
	font-weight: 300;
}
.breadcrumb a{ 
	display: block;
}
.breadcrumb ul{
	display: flex;
	align-items: center;
	height: 16px;
}

.breadcrumb ul li{
	position: relative;
}
.breadcrumb .home{
	margin-right: 24px;
}
.breadcrumb .home img{
	display: block;
	width: 13.24px;
}

.breadcrumb .home:after{
	display: block;
	height: 16px;
	position: absolute;
	top:0;
	right: -16px;
	content: ">";
	font-size: 14px;
	line-height: 1em;
	
}


.mv-img{
	width: 100%;
	height: 250px;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}


.mv-img:before{
  /* 透過した黒を上から重ねるイメージ */
  background-color: rgba(0,0,0,0.4);
  /* 自由に位置指定 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ' ';
}

.top-title{
	width: 100%;
	text-align: center;
	display: block;
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	font-size: 3.2rem;
	color: #ffffff;
}



@media screen and (max-width: 768px) {
	.mv-img{
		height: 33.3333vw;
	}
	.top-title{
		font-size: 4.8rem;
	}
}

.p-link .inner-link{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 2em;
	margin-bottom: 1em;
}
.p-link .inner-link>li{
	width: 33.333%;
	margin-bottom: 2em;
}
.p-link .inner-link.box4>li{
	width: 25%;
}


.p-link .inner-link>li a{
	display: block;
	font-size: 1.9rem;
	padding: 1em 0;
	color: #051367;
	text-decoration: none;
	transition: background-color .3s,color .3s;
	border-top: 1px solid #051367;
	border-left: 1px solid #051367;
	border-bottom: 1px solid #051367;
}

.p-link .inner-link>li:last-child a{
	border-right: 1px solid #051367;
}


.p-link .inner-link>li a:hover{
	background-color: #051367;
	color: #ffffff;
}


.title-area{
	padding: 2.4em 0 2em;
	background-color: #051367;
	color: #ffffff;
	margin-bottom: 1em;
	text-align: center;
}

.title-area h2{
	color: #ffffff;
	font-size: 3.2rem;
	margin-bottom: 0.5em;
}

.title-area h2 + p{
	color: #5D8BF4;
}

.sub-page{
	text-align: left;
}

section.sub-page{
	margin-bottom: 5em;
}

.sub-page h3{
	padding: 1em 0;
}

.sub-page .box h3{
	padding: 0;
	text-align: center;
	margin-bottom: 1em;
}


.sub-page p{
	padding: 0 1em;
}

.sub-page .title + p{
	margin-bottom: 4em;
}

.sub-page h3 + p{
	margin-bottom: 4em;
}
.sub-page .box h3 + p{
	margin-bottom: 0;
}


.sub-page .box{
	text-align: left;
}


.dl-table{
	display: flex;
	flex-wrap: wrap;	
	border:	1px solid #051367;
	border-bottom: none;
	margin-bottom: 2em;
}

.dl-table > dd,
.dl-table > dt{
	padding: 1em 2em;
	border-bottom: 1px solid #051367;
	display: flex;
	flex-wrap: wrap;	
	align-items: center;
	font-size: 1.8rem;
	
}


.dl-table > dt{
	width: 20%;
	background-color: #F2F2F2;
	border-right: 1px solid #051367;
}
.dl-table > dd{
	width: 80%;
	font-weight: 300;
}
.dl-table > dd > span{
	width: 50%;
}

.dl-table > dd > span.num{
	text-align: right;
}

.flex2{
	display: flex;
	max-width: 900px;
	margin: 0 auto 3em;
	border: 1px solid #b7b7b7;
	padding: 1em 1em;
	
}

.flex2 > div{
	width: 50%;
}

.flex2 > .img{
	text-align: left;
}

.flex2  img{
	width: 100%;
}
.flex3{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.emp{
	color:#ec008c;
}

.popup-link{
	color:#ec008c !important;
	text-decoration: underline !important;
	
}
img.alignright { display: block; margin: 0 0 0 auto; width: 50%; }/* 配置位置 右 */
img.alignleft { display: block; margin: 0 auto 0 0;  width: 50%;}/* 配置位置 左 */
img.aligncenter { display: block; margin: 0 auto;  width: 50%;}/* 配置位置 中央 */


.p-box2 p,
.p-box p{
	text-align: left;
	display: inline-block;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2em;
}

.p-box2 p{
	max-width: 840px;
}

@media screen and (max-width: 768px) {
	.title-area p{
		text-align: left;
	}
/*
	.sub-page h3 > span{
		display: block;
		font-size: 2.6rem;
		padding-left: 0;
	}*/
	.dl-table > dd,
	.dl-table > dt{
		width: 100%;
		font-size: 3rem;
	}	
	.dl-table > dt{
		border-right:none;
	}

	img.alignright { display: block; margin: 0 0 0 auto; width: 100%; }/* 配置位置 右 */
	img.alignleft { display: block; margin: 0 auto 0 0;  width: 100%;}/* 配置位置 左 */
	img.aligncenter { display: block; margin: 0 auto;  width: 100%;}/* 配置位置 中央 */
	.sub-page .sp-left{
		text-align: left;
	}
	
}