@charset "UTF-8";
/* ================================================
  Layout
================================================ */
/* Body
---------------------------------------*/
body{
	width:100% ;
	-webkit-text-size-adjust: 100%;
	font-size:15px;
	line-height: 1.5em;
	font-family: "Shippori Mincho",'游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
input,textarea,select,button {
	font-family: "Shippori Mincho",'游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
	color: #707070;
}
select {
	background: #FFF;
}
.Mincho {
	font-family: 'Cinzel','ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
}

/* Base
---------------------------------------*/
.wrap{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;}

small{
 font-size: 0.8rem ;}

/* Header
---------------------------------------*/
.sp,.sp1 {display: none !important;}

.ovfH {overflow: hidden;}
.hover {
	display: none;
	position: absolute;}

.flex {display: flex;}
.grid {display: grid;}
.gtc2{grid-template-columns: repeat(2, 1fr);}
.gtc3{grid-template-columns: repeat(3, 1fr);}
.gtc4{grid-template-columns: repeat(4, 1fr);}
.gtc5{grid-template-columns: repeat(5, 1fr);}
.gtcMM200{grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))}
.fdC {flex-direction: column;}
.flexNW {display: flex;}
.flex.Jsb {justify-content: space-between;}
.flexNW.Jsb {justify-content: space-between;}
.flex.Jcn {justify-content: center;}
.flex.Jsa {justify-content: space-around;}
.flex.Jfe {justify-content: flex-end;}
.grid.Jic {justify-items: center;}
.alIfs {align-items: flex-start;}
.alIfe {align-items: flex-end;}
.alIcn {align-items: center;}
.alIbl {align-items: baseline;}
.alCfe {align-content: flex-end; margin-top: auto;}
.alignL {text-align: left;}
.alignC {text-align: center;}
.alignR {text-align: right;}
.mt0 {margin-top: 0px;}
.mt10,.umt10 > *{margin-top: 10px;}
.mt20,.umt20 > *{margin-top: 20px;}
.mt30,.umt30 > *{margin-top: 30px;}
.mt40,.umt40 > *{margin-top: 40px;}
.mt50,.umt50 > *{margin-top: 50px;}
.mt60{margin-top: 60px;}
.mt70{margin-top: 70px;}
.mt80{margin-top: 80px;}
.mt90{margin-top: 90px;}
.mt100{margin-top: 100px;}
.mt110{margin-top: 110px;}
.mt120{margin-top: 120px;}
.mt150{margin-top: 150px;}
.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb60{margin-bottom: 60px;}
.mb70{margin-bottom: 70px;}
.mb80{margin-bottom: 80px;}
.mb90{margin-bottom: 90px;}
.mb100{margin-bottom: 100px;}
.mb110{margin-bottom: 110px;}
.mb120{margin-bottom: 120px;}
.mb150{margin-bottom: 150px;}
.mr1p,.umr1p > * {margin-right: 1%;}
.mr10,.umr10 > * {margin-right: 10px;}
.mr20,.umr20 > * {margin-right: 20px;}
.mr30,.umr30 > * {margin-right: 30px;}
.mr40,.umr40 > * {margin-right: 40px;}
.mr50,.umr50 > * {margin-right: 50px;}
.mlAt {margin-left: auto;}
.gp3 {gap: 3px;}
.gp10 {gap: 10px;}
.gp20 {gap: 20px;}
.gp30 {gap: 30px;}
.gp30 {gap: 30px;}
.gp40 {gap: 40px;}
.gp50 {gap: 50px;}
.gp60 {gap: 60px;}
.gp150 {gap: 150px;}
.gp180 {gap: 180px;}
.gpR10 {row-gap: 10px;}
.gpR20 {row-gap: 20px;}
.gpR30 {row-gap: 30px;}
.gpR40 {row-gap: 40px;}
.gpR50 {row-gap: 50px;}
.fl1 {flex:1;}
.lh0 {
	line-height: 0;
}
.lh1 {
	line-height: 2.5;
}
.fCl01 {color: #13B7C2;}
iframe {
	width: 100%;
}
.fontL {
	font-size: 1.8em;
	font-weight: bold;
	line-height: normal;
}
.dBlock {
	display: block;
}


.flex.fwrap { flex-wrap: wrap;}
.Jsb.uw33.fwrap::after {
	content: "";
	display: block;
	width: 32%;
}
.Jsb.uw25.fwrap::before {
	content: "";
	width: 23%;
	order: 1;
}
.Jsb.uw25.fwrap::after {
	content: "";
	width: 23%;
}
.w30, .uw30 > * {width: 29%;}
.w33, .uw33 > * {width: 32%;}
.w50, .uw50 > * {width: 49%;}
.w20, .uw20 > * {width: 19%;}
.w25, .uw25 > * {width: 23%;}
.w40, .uw40 > * {width: 39%;}
.w60, .uw60 > * {width: 59%;}
.w70, .uw70 > * {width: 69%;}
.w75, .uw75 > * {width: 75%;}
.w100 {width: 100%;}
.wh130 {
	width: 230px;
	max-width: 100%;
	height: 230px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	margin: auto;
}
.lead {font-size: 1.1em;line-height: 1.8;font-weight: bold;}
.red {color: #CE0000;}
.orange {color: #E86D21;}
.blue {color: #004363;}

.icored {
	background: #AD0C0C;
	color: #FFF;
	display: inline-block;
	font-size: 0.75em;
	margin-right: 30px;
	padding: 5px 10px;
}
.icoblue {
	background: #1F4893;
	color: #FFF;
	display: inline-block;
	font-size: 0.75em;
	margin-right: 30px;
	padding: 5px 10px;
}


main {
	text-align: left;
}

img {
	max-width: 100%;
 width: 100% ;
	height: auto ;}
img.imgWaH100,
.imgWaH100 img{
	max-width: inherit;
	width: auto;
	height: 100%;
}

ul {list-style: none;}



main ol{
  counter-reset: item;
	list-style-type: decimal;
  padding-left: 4em;
	margin-left: 0;
	margin: 0;
}

a:hover {
	transition: 0.3s;
	/*text-decoration: underline;*/
}
table {
	border-collapse: collapse;
	width: 100%;
	box-sizing: border-box;
	border-top: solid 1px #6d98b2;
}
.scrollBox table{
 border-top: 0 ;
 }

	
	table tr {
		width: 100%;
		border-top: solid 1px #6d98b2;
	}
	.stickyWrap {
  	border-top: 1px solid #989898;
		max-height: 424px;
		overflow-y: scroll;
	}
	
	table th{
		background: #f4f9fc;
		padding: 20px 40px;
		border-bottom: solid 1px #6d98b2;
		color: #004363;
		vertical-align: middle;
		font-weight: normal;
		
	}
	thead th {
		background: #98b6ca;
		padding: 10px 20px;
		color: #FFF;
		border-right: solid 1px #6d98b2;
		font-weight: normal;
	}
	thead th:last-child {
		border-right: 0;
	}
	table td{
		padding: 20px 40px;
		border-bottom: solid 1px #6d98b2;
		background: #FFF;
	}
	table.typeB td{
		padding: 5px 15px;
		border-right: solid 1px #6d98b2;
	}
	table.typeB td:last-child{
		border-right: 0;
		text-align: center;
	}
	table.typeB tr:nth-child(even) td {
		background: #f5f9fc;
	}


.btnH01{
	display: inline-block;
	width: auto;
	width: 180px;
	padding: 7px 1.2em;
	background: #196b8a;
	color: #FFF;
	text-align: center;
	line-height: normal;
	text-decoration: none;
	box-sizing: border-box;
}
.btnH02{
	display: inline-block;
	width: auto;
	width: 180px;
	padding: 7px 1.2em;
	background: #196b8a;
	color: #FFF;
	text-align: center;
	line-height: normal;
	text-decoration: none;
	box-sizing: border-box;
}
.btn01{
	display: inline-block;
	width: 100%;
	padding: 10px;
	background: #FFF;
	color: #196b8a;
	text-align: center;
	line-height: normal;
	text-decoration: none;
	box-sizing: border-box;
	font-size: 2.5em;
}

header {
	width: 100%;
	background: #014263;
	color: #FFF;
	height: 125px;
	display: flex;
	align-items: center;
}
	header .flex {
		gap: 20px;
	}
	header .wrap {
		width: 95%;
		max-width: 1450px;
		box-sizing: border-box;
	}
	header .hLogo {
		margin: 20px 0;
		max-width: 350px;
		flex: 1;
	}

	header nav a{
		color: #FFF;
	}
	header .flex{
		align-items: center;
	}
	/* .hamburger {
		display: none;
	} */

	.hamburger {
		display : none;
		position: absolute;
		z-index : 9999;
	  width : 42px;
	  height: 42px;
	  cursor: pointer;
	  text-align: center;
		top: -40px;
		left: 0;
	}
	.uHNav .hamburger {
    position: absolute;
    top: -15px;
    left: 20px;
  }
	.hamburger.fix {
	  display : block;
	  position: fixed;
	  z-index : 9999;
	  width : 42px;
	  height: 42px;
	  cursor: pointer;
	  text-align: center;
		top: 70px;
		left: 5vw;
	}
	.hamburger > span {
	  display : block;
	  position: absolute;
	  width   : 25px;
	  height  : 1px ;
	  left    : 6px;
	  background : #b2b2b2;
	  -webkit-transition: 0.3s ease-in-out;
	  -moz-transition   : 0.3s ease-in-out;
	  transition        : 0.3s ease-in-out;
	}
	.hamburger > span:nth-child(1) {
	  top: 10px;
	}
	.hamburger > span:nth-child(2) {
	  top: 18px;
	}
	/* .hamburger > span:nth-child(3) {
	  top: 30px;
	} */

	/* ナビ開いてる時のボタン */
	.hamburger.active {
		color: #004363;
		top: 50px;
		left: 50px;
		position: fixed;
	}
	.hamburger.active > span:nth-child(1) {
	  top : 16px;
	  left: 6px;
	  background :#004363;
	  -webkit-transform: rotate(-45deg);
	  -moz-transform   : rotate(-45deg);
	  transform        : rotate(-45deg);
	}

	.hamburger.active > span:nth-child(2) {
	  top: 16px;
	  background :#004363;
	  -webkit-transform: rotate(45deg);
	  -moz-transform   : rotate(45deg);
	  transform        : rotate(45deg);
	}
		.hamburger p span.open ,
		.hamburger.active p span.close{
			display: block;
			position: absolute;
			bottom: -10px;
			left: 0;
			font-size: 12px;
			right: 0;
			margin: 0 auto;
			text-align: center;
			width: 40px;
			color: #004363;

		}
		.hamburger p span.open{
			color: #b2b2b2;
		}

		.hamburger.active p span.close{
				color: #004363;
		}
		.hamburger.active p span.open,
		.hamburger p span.close {
			display: none;
		}



.hideNav {
	display: none;
	padding: 180px;
	background: #FFF;
	position: fixed;
	z-index: 1000;
	height: 100vh;
	top: 0;
	left: 0;
	width: 80%;
	box-sizing: border-box;
	box-shadow: 6px 0px 10px 0px rgba(0, 67, 99, 0.4);
	
}
.hideNav .scroll {
	overflow-y: scroll;
	height: calc(100vh - 180px);
}
	.hideNav.active {
		display: block;
	}
.hideNav li {
	margin-bottom: 20px;
}
.hideNav .lTitle,
.hideNav .lTitle a {
	font-weight: normal;
	color: #004363 !important;
}
.hideNav .tel a{
	font-weight: normal;
	color: #004363 ;
	font-size: 1.1em;
}
.hideNav .scroll::-webkit-scrollbar{
	display: none;
}



h2 {
	color: #004363;
	font-size: 2.75em;
	font-weight: normal;
	text-align: center;
	line-height: normal;
}

h3 {
	color: #004363;
	font-size: 2.18em;
	font-weight: normal;
	text-align: center;
	line-height: normal;
}

.h401 {
	color: #004363;
	font-size: 1.5em;
	font-weight: normal;
	text-align: center;
	line-height: normal;
}


footer {
	background: #004363;
	color: #FFF;
	padding: 40px 0 80px;
	text-align: center;
}
	.copy {
		font-size: 0.75em;
	}


.pageTop {
	/* display: none; */
	height: 50px;
	width: 50px;
	background: url(../img/pageTop.svg) no-repeat center center;
	margin-top: 30px;
	cursor: pointer;
	position: fixed;
	z-index: 20;
	right: 20px;
	bottom: 30px;
}

.anmBlock {
	opacity: 0;
}
.fadein {
  opacity: 0;
  animation-name: fadein;
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
@keyframes fadein {
  0% {
     opacity: 0;
  }
  100% {
     opacity: 1;
  }
}

@media screen and (max-width:1025px) {
	.wrap{
		width:95%;
	}
	header .flex{
		padding-right: 0;
		gap: 10px;
	}
	
	header .hNav ul{
		font-size: 0.8em;
		gap: 10px;
	}
	.btnH01 {
		max-width: 130px;
		font-size: 0.9em;
	}
	.hideNav {
		padding: 180px 50px;
	}
}

@media screen and (max-width:768px) {
	.sgtc1{grid-template-columns: repeat(1, 1fr); justify-items: center;}
	.sgtc2{grid-template-columns: repeat(2, 1fr);}
	.sgtc3{grid-template-columns: repeat(3, 1fr);}
	.sgtc4{grid-template-columns: repeat(4, 1fr);}
	.sgtc5{grid-template-columns: repeat(5, 1fr);}

	.sgp10{gap: 10px;}
	.sgp20{gap: 20px;}
	.sgp30{gap: 30px;}
	.sgp40{gap: 40px;}
	.sgp50{gap: 50px;}

	.wrap{
		width:95%;
  	max-width: 100% ;
	}
	.sWrap100 {
		width: 100%;
	}
	.fl1 {
		flex: auto;
	}
	.smt0 {margin-top: 0;}

	.sidebnr {
		display: none;
	}
	.sp {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
	.flex {
		flex-wrap: wrap;
		justify-content: center;
	}
	.btn01 {
		font-size: 2em;
	}
	body {
		font-size: 14px;
	}
	h2 {
		font-size: 1.5em;
	}
	h3 {
		font-size: 1.3em;
	}

	header {
  	display: flex ;
		margin-bottom: 0;padding: 0;
		height: 70px;
	}
	header .hLogo img {
    width: 80%;
}
	header .flex {
		padding-right: 0;
	}

	.hamburger {
	  /*display : block;*/
	  position: absolute;
	  z-index : 9999;
	  right : 13px;
	  top   : 100px;
	  width : 42px;
	  height: 42px;
	  cursor: pointer;
	  text-align: center;
	}
	.hamburger.fix {
		top   : 15px;
	}
	

	/*  nav  */
	.hamburger.active {
		top: 10px;
		left: 10px;
		}
	header nav{
		display: none !important;
	}
	header .btnH01 {
		display: none;
	}
	.hideNav {
		padding: 100px 10px;
		top: 0;
		left: 0;
		width: 80%;
		box-sizing: border-box;
	}
	.hideNav .flex {
		flex-direction: column;
		width: 100%;
	}
	.hideNav .scroll {
		overflow-y: scroll;
		height: calc(100vh - 150px);
	}
		.hideNav.active {
			display: block;
		}
	.hideNav li {
		margin-bottom: 20px;
	}
	

	.footmap iframe{
		height: 200px;
	}
	footer {
		padding: 30px 0;
	}
	footer .fLogo {
		max-width: 200px;
		margin-bottom: 30px;
	}
	footer .wrap {
		width: 95%;
		/* text-align: center; */
		justify-content: center!important;
	}
	footer .copy {
		margin-top: 50px;
	}
	footer .flex {
		display: block;
		margin-bottom: 30px;
	}
	footer ul li::before {
		display: none;
	}
		footer .flex li {
		border: 0;
		margin-bottom: 10px;
		text-align: center;
		}

	.sJcn {
		justify-content: center;
	}
	.w30,.uw30 > * {width: 100%;}
	.w33, .uw33 > *{width: 100%;}
	.w50, .uw50 > * {width: 100%;}
	.w25, .uw25 > * {width: 100%;}
	.w40, .uw40 > * {width: 100%;}
	.w60, .uw60 > * {width: 100%;}
	.w70, .uw70 > * {width: 100%;}
	.w75, .uw75 > * {width: 100%;}
	.sw100 {
		width: 100%;
	}
	.suw33 > * {width: 33%;}
	.suw50 > * {width: 48%;}

	/* table th,
	table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 10px;
		border: 0;
		
	} */
	/* table td {
		border-top: 0;
	}
	table th {
		border-bottom: 0;
	} */
	.tableScroll {
		height: auto;
		overflow: inherit;
	}
	 

	.smt10,.sumt10 > *{margin-top: 10px;}
	.smt20,.sumt20 > *{margin-top: 20px;}
	.smt30,.sumt30 > *{margin-top: 30px;}
	.smt40{margin-top: 40px;}
	.smt50{margin-top: 50px;}
	.smt90{margin-top: 90px;}
	.smA{margin-left: auto;margin-right: auto;}
	.scrollBox {
		width: 100%;
		box-sizing: border-box;
		overflow-x: auto;
	}

	.scrollBox > * {
			min-width: 600px;
			table-layout: fixed;
    }
	.scrollBox table {
		border-top: #004363;
	}
	.scrollBox > .typeB {
		min-width: 900px;
	 }
	/* .scrollBox table th,
	.scrollBox table td{
		display: table-cell;
		width: initial;
		border-bottom: solid 1px #004363;
	}
	.scrollBox table th {
		width: 180px;
	} */
	.scrollBox table td {
		border-top: 0;
	}
	.tablepc {display: none !important;}
	.fw25 > *,
	.fw33 > *{width: 49%;}
	.fw50 > *{width: 100%;}
	.flex.wid475 div{
		width: 100%;
		margin-bottom: 20px;
	}
	.flex.sJcn {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.flex.sJfs {
		justify-content: flex-start;
	}
	.flex.sJcn > * {
		margin-left: auto;
		margin-right: auto;
	}
	.flex.flexNW {
		flex-wrap: nowrap;
	}

}



/* other
--------------------------------------------------*/

