@charset "UTF-8";
h2 {
  font-size: 2.2em;
  font-weight: 500;
}
h3 {
  font-size: 2em;
  font-weight: 500;
}
  .h302 {
    background: #2e7392;
    color: #FFF;
    text-align: left;
    padding: 10px;
    font-size: 1.1rem;
  }
video {
  max-width: 100%;
}
.flex.type02 > div{
  order: 1;
}
.flex.type02 > figure{
  order: 2;
}

/*===================================
              ハンバーガーメニュー 
=====================================*/
.hamburger {
  left: 10px;
  top: 20px;
  z-index: 9999;
  display: none;
}
  .hamburger.type02 {
    /*display: block;*/
  }
  .hamburger.fix{
    /*left: 10px;*/
    top: 70px;
    z-index: 9999;
    display: block;
  }
  .hamburger.active {
    color: #004363;
    top: 50px;
    left: 50px;
    position: fixed;
  }
.hamwrap {
  position: relative;
  height: 50px;
  max-width: 1000px;
  width: 100%;
  margin: auto;
  margin-bottom: -50px;
}
/*===================================
              サブメニュー 
=====================================*/
.uHNav {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
 box-sizing: border-box ;
}
  .uHNav.fix {
    position: fixed;
    width: 100%;
    top:0;
    left: 0;
    height: 65px;
    z-index: 999;
  }
  .uHNav::before {
    content: "";
    display: block;
    position: absolute;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 64, 99, 0.5);
    mix-blend-mode: multiply;
    z-index: 1;
  }
  .uHNav .wrap{
    position: relative;
  }
  .uHNav ul{
    display: flex;
    justify-content: center;
    color: #FFF;
    position: relative;
    z-index: 2;
  }
  .uHNav li {
    border-right: solid 1px #CCC;
    padding: 0 20px;
  }
  .uHNav a {
    color: #FFF;
  }

/*===================================
              mainImg 
=====================================*/
#mainImg {
	position: relative;
}
.mainImg {
  width: 100%;
	background: url(../img/top/imgMain01.jpg) no-repeat center center;
	background-size: cover;
	z-index: 1;
	height: calc(100vh - 125px);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
	flex-direction: column;
	line-height: normal;
	text-align: center;
	box-sizing: border-box;
	padding: 10px;
}
.page01 .mainImg {
  background: url(../img/page01/imgMain.jpg) no-repeat center center;
  background-size: cover;
}
.page02 .mainImg {
  background: url(../img/page02/imgMain.jpg) no-repeat center center;
  background-size: cover;
}
.page03 .mainImg {
  background: url(../img/page03/imgMain.jpg) no-repeat center center;
  background-size: cover;
}
.page04 .mainImg {
  background: url(../img/page04/imgMain.jpg) no-repeat center center;
  background-size: cover;
}
.page05 .mainImg {
  background: url(../img/page05/imgMain.jpg) no-repeat center center;
  background-size: cover;
}
.page06 .mainImg {
  background: url(../img/page06/imgMain.jpg) no-repeat center center;
  background-size: cover;
}
.page07 .mainImg {
  background: url(../img/page07/imgMain.jpg) no-repeat center center;
  background-size: cover;
}
.page08 .mainImg {
  background: url(../img/page08/imgMain.jpg) no-repeat center center;
  background-size: cover;
}




iframe {
	width: 100%;
	margin-bottom: 0;
}
.lead {
	font-size: 1.8em;
	font-weight: normal;
}

.bgbl {
	background: #e8f1f8;
	padding: 60px 0;
}
.bgwh {
  padding: 60px 70px;
  background: #FFF;
  box-sizing: border-box;
}


.sec01 {
	position: relative;
}


.sec01 .wrap {
  position: static;
}
.page08 .sec04 .h401 {
  text-align: left;
  width: 335px;
}
.page08 .sec04 .fl1 {
  font-size: 0.9em;
}



/*===================================
                h2背景
=====================================*/
	.h2Ph {
		width: 100%;
		height: 600px;
		color: #FFF;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background: url(../img/page01/bg01.jpg) center center no-repeat;
		background-size: cover;
	}
    .page01 .sec02 .h2Ph {
      background: url(../img/page01/bg02.jpg) center center no-repeat;
      background-size: cover;
    }
    .page01 .sec04 .h2Ph {
      background: url(../img/page01/bg03.jpg) center center no-repeat;
      background-size: cover;
    }
    .page01 .sec05 .h2Ph {
      background: url(../img/page01/bg04.jpg) center center no-repeat;
      background-size: cover;
    }

    .page02 .h2Ph {
      background: url(../img/page02/bg01.jpg) center center no-repeat;
      background-size: cover;
    }
    .page02 .sec02 .h2Ph {
      background: url(../img/page02/bg02.jpg) center center no-repeat;
      background-size: cover;
    }
    .page02 .sec03 .h2Ph {
      background: url(../img/page02/bg03.jpg) center center no-repeat;
      background-size: cover;
    }
    .page02 .sec04 .h2Ph {
      background: url(../img/page02/bg04.jpg) center center no-repeat;
      background-size: cover;
    }

    .page03 .h2Ph {
      background: url(../img/page03/bg01.jpg) center center no-repeat;
      background-size: cover;
    }
    .page03 .sec02 .h2Ph {
      background: url(../img/page03/bg02.jpg) center center no-repeat;
      background-size: cover;
    }
    .page03 .sec03 .h2Ph {
      background: url(../img/page03/bg03.jpg) center center no-repeat;
      background-size: cover;
    }
    .page03 .sec04 .h2Ph {
      background: url(../img/page03/bg04.jpg) center center no-repeat;
      background-size: cover;
    }

    .page04 .h2Ph {
      background: url(../img/page04/bg01.jpg) center center no-repeat;
      background-size: cover;
    }
    .page04 .sec02 .h2Ph {
      background: url(../img/page04/bg02.jpg) center center no-repeat;
      background-size: cover;
    }
    .page04 .sec03 .h2Ph {
      background: url(../img/page04/bg03.jpg) center center no-repeat;
      background-size: cover;
    }
    .page04 .sec04 .h2Ph {
      background: url(../img/page04/bg04.jpg) center center no-repeat;
      background-size: cover;
    }

    .page05 .h2Ph {
      background: url(../img/page05/bg01.jpg) center center no-repeat;
      background-size: cover;
    }
    .page05 .sec02 .h2Ph {
      background: url(../img/page05/bg02.jpg) center center no-repeat;
      background-size: cover;
    }
    .page05 .sec03 .h2Ph {
      background: url(../img/page05/bg03.jpg) center center no-repeat;
      background-size: cover;
    }
    .page05 .sec04 .h2Ph {
      background: url(../img/page05/bg04.jpg) center center no-repeat;
      background-size: cover;
    }

    .page06 .h2Ph {
      background: url(../img/page06/bg01.jpg) center center no-repeat;
      background-size: cover;
    }
    .page06 .sec02 .h2Ph {
      background: url(../img/page06/bg02.jpg) center center no-repeat;
      background-size: cover;
    }
    .page06 .sec03 .h2Ph {
      background: url(../img/page06/bg03.jpg) center center no-repeat;
      background-size: cover;
    }
    .page06 .sec04 .h2Ph {
      background: url(../img/page06/bg04.jpg) center center no-repeat;
      background-size: cover;
    }

    .page07 .h2Ph {
      background: url(../img/page07/bg01.jpg) center center no-repeat;
      background-size: cover;
    }
    .page07 .sec02 .h2Ph {
      background: url(../img/page07/bg02.jpg) center center no-repeat;
      background-size: cover;
    }
    .page07 .sec03 .h2Ph {
      background: url(../img/page07/bg03.jpg) center center no-repeat;
      background-size: cover;
    }
    .page07 .sec04 .h2Ph {
      background: url(../img/page07/bg04.jpg) center center no-repeat;
      background-size: cover;
    }

    .page08 .h2Ph {
      background: url(../img/page08/bg01.jpg) center center no-repeat;
      background-size: cover;
    }
    .page08 .sec02 .h2Ph {
      background: url(../img/page08/bg02.jpg) center center no-repeat;
      background-size: cover;
    }
    .page08 .sec03 .h2Ph {
      background: url(../img/page08/bg03.jpg) center center no-repeat;
      background-size: cover;
    }
    .page08 .sec04 .h2Ph {
      background: url(../img/page08/bg04.jpg) center center no-repeat;
      background-size: cover;
    }

  .dlTb {
    display: grid;
    grid-template-columns: 3em auto;
    max-width: 430px;
    margin-left: auto;
    margin-right: auto;
  }


	@media screen and (max-width:768px) {
  .mainImg {
   position: relative ;
    height: calc(100vh - 70px);
  }
  .mainImg img {
    width: 80%;
  }
  h2 {
    font-size: 1.5rem;
  }
  h3 {
    font-size: 1.3rem;
  }
  .uHNav {
    
  }
  .uHNav .wrap{
    z-index: 10 ;
    width: 95% ;
    overflow-x: auto ;
    /* padding-bottom: 15px ; */
    overflow-x: scroll;
  }
  .uHNav .wrap::-webkit-scrollbar{
    display: none;
  }
  .uHNav .wrap ul{
   margin: 0 0 ;
   justify-content: flex-start ;
   width: 700px ;
  }
    .sec01 {
			position: static;
		}
		#mainImg .slideCont{
			font-size: 1.7em;
		}
		.bgbl {
			padding: 10px;
		}
		figure {
			width: 100%;
		}
		.h2Ph {
			height: 300px;
		}
    .bgbl {
      background: #e8f1f8;
      padding: 60px 0;
    }
    .bgwh {
      padding: 50px 10px;
      background: #FFF;
      box-sizing: border-box;
    }

    .flex.type02 > div{
      order: 2;
    }
    .flex.type02 > figure{
      order: 1;
    }
		
	}


/* page07
------------------------------*/
.page07 .sec03 .flex,
.page07 .sec04 .flex{
 justify-content: space-between ;
}

.page07 .sec03 .flex figure,
.page07 .sec04 .flex figure{
 flex-basis: 350px ;
}

.page07 .sec03 .flex div,
.page07 .sec04 .flex div{
 flex-basis: calc( 100% - 380px) ;
}

@media screen and (max-width:768px) {
 .page07 .sec03 .flex figure,
 .page07 .sec04 .flex figure{
  flex-basis: 100%;
 }

 .page07 .sec03 .flex div,
 .page07 .sec04 .flex div{
  flex-basis: 100%;
 }

}


/* privacy
------------------------------*/
.privacy{}

.privacy dl{
 width: 100% ;
 display: flex ;
 flex-wrap: wrap ;
 justify-content: space-between ;
}

.privacy dl dt{
 flex-basis: 300px ;
 color: #004363 ;
 font-size: 1.5rem ;
 margin-bottom: 2rem ;
}

.privacy dl dd{
 flex-basis: calc( 100% - 330px) ;
 margin-bottom: 2rem ;
}

@media screen and (max-width:768px) {
 .privacy dl dt{
  flex-basis: 100%;
  margin-bottom: 1.5rem ;
 }

 .privacy dl dd{
  flex-basis: 100%;
 }
}

/* contact
------------------------------*/
.contact{}

.contact dl{
 width: 100% ;
 max-width: 600px ;
 margin: 0 auto ;
 display: flex ;
 flex-wrap: wrap ;
 align-items: baseline ;
 justify-content: space-between ;
}

.contact dl dt{
 flex-basis: 140px ;
 text-align: right ;
}

.contact dl dt span{
 color: #f39800 ;
}

.contact dl dd{
 flex-basis: calc( 100% - 150px) ;
 margin-bottom: 2rem ;
}

.contact dl dd input[type=text],
.contact dl dd input[type=tel],
.contact dl dd input[type=email],
.contact dl dd select{
 width: 100% ;
 padding: 10px ;
 box-sizing: border-box ;
 border: 1px solid #6d98b2 ;
}

.contact dl dd input[type=checkbox]{
 border: 1px solid #6d98b2 ;
 padding: 10px ;
 box-sizing: border-box ;
}

.contact dl dd textarea{
 width: 100% ;
 height: 200px ;
 border: 1px solid #6d98b2 ;
}

.contact .btn{
 text-align: center ;
 margin: 0 auto 3rem ;
}

.contact .btn input{
 background: #6d98b2 ;
 color: #ffffff ;
 width: 150px ;
 padding: 15px ;
 box-sizing: border-box ;
 border: none ;
 appearance: none;
 -webkit-appearance: none;
}

.contact .btn input[type=reset]{
 background: #555555 ;
 cursor: pointer ;
}

.contact .tel{
 font-size: 1.8rem ;
 color: #6d98b2 ;
}

.contact div#mfp_hidden {
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0px;
	margin: 0px;
}

.contact div.mfp_err {
	color:#f39800;
}

.contact div#mfp_loading_screen,
.contact div#mfp_loading_screen,
.contact div#mfp_overlay_background,
.contact div#mfp_overlay{
	 display:none;
}

@media screen and (max-width:768px) {
 .contact dl dt{
  text-align: center ;
  flex-basis: 100%;
  margin-bottom: 10px ;
 }

 .contact dl dd{
  flex-basis: 100%;
 }
}