@charset "utf-8";

/* for Common & Smartphone*/
html,body{
	position:relative;
	height:100%;
}
html {
  scroll-behavior: smooth;
  /*font-size: 62.5%;10px基準*/
	}

@media screen and  (max-width:767px){
  /* スマートフォン 767px以下 */
  :target {
    scroll-margin-top: 75px;
  }
}
@media screen and (min-width:768px){
  :target {
    scroll-margin-top: 100px;
  }
}

body{
	position:relative;
	-webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
	background: #fff;
	font-family:YakuHanJP_Noto, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 400;
	color:#222;
	line-height:1.8;
}
@media screen and (max-width:320px) {
	html{
		/*font-size: 50%;*//*8px基準*/
	}
}
/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 840px) and (orientation:portrait) {
/*縦向きのみの記述*/
	
}
/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 834px) and (orientation:portrait) {
/*縦向きのみの記述 --- iPad Pro12.9はPC表示*/
	html{
		/*font-size: 50%;*//*8px基準*/
	}
}

#page{
	height: 100%;
}

.sp{display:block;}
.pc{display:none;}

.spIL{display:inline;}
.pcIL{display:none;}

.conSP{
	margin-left: 5.33vw !important;/*20px*/
	margin-right: 5.33vw !important;
}

/*リンク 
*/
a:link{
	color:#222;
	text-decoration: none;
	}
a:visited{
	color:#222;
	}

a:active/*,
a:hover*/{
	color:#222;
	}
.disabled{
	cursor:default;
}
.txtUL{
	text-decoration: underline !important;
}
.linkTxt{
  color: #0e69a0 !important;
}

img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
}
img[src$=".svg"] {
    width: 100%;
}
.img100{
	width:100%;
}

.relative{
	position:relative;
	}
.static{
	position:static !important;
	}
.hide{
	display:none;
	}

/*font*/
.normal{
	font-family:YakuHanJP_Noto, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 400;
	}
.bold{
	font-family:YakuHanJP_Noto, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight:bold;
	font-weight: 700;
	}

.fMin{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝","MS PMincho", "ＭＳ 明朝", serif !important;
	font-weight: normal;
	font-weight: 300;
	}
.fMin.bold{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6" , HiraMinProN-W6 , "ヒラギノ明朝 Pro W6" , HiraMinPro-W6, "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho", serif !important;
	font-weight:bold;
	font-weight: 700;
	}
.fEn{
	font-family: "Jost", sans-serif;
  font-weight: 500;
	}

/*txt*/
.tCol00{
	color: #222;
}
.tCol01{
	color: #c00;
}
.tCol99{
	color: #fff;
}

/* for PC*/
@media print, screen and (min-width:768px) {
	.sp{display:none;}
	.pc{display:block;}

	.spIL{display:none;}
	.pcIL{display:inline;}

	.conSP{
		margin-left:0 !important;
		margin-right:0 !important;
	}
	.conPC{
		max-width:1100px;/*1080px*/
    width: auto !important;
		margin-left:auto !important;
		margin-right:auto !important;
		padding-left: 10px;
		padding-right: 10px;
	}
	.conPCS{
		max-width:1100px;
		margin-left:auto !important;
		margin-right:auto !important;
	}

	a:link,
	a:visited{}
	a:active,
	a:not(.disabled):hover{
		text-decoration:none;
		}
	a,
	.hover{
		-webkit-transition: .3s;
		transition: .3s;
		}
	a:not(.noRO):hover,
	.hover:hover{
		opacity:0.7;
		}
	.disabled{
		text-decoration:none;
	}

}

/*
header
*/
.header{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
  background: rgba(255,255,255,0.95);
  z-index: 999;
}
.header > div{
  display: flex;
  justify-content: space-between;
  align-items: center;
	width: 100%;
	height: 100%;
}
.header a{
	display: block;
  line-height: 1.0;
}
.header a:hover{
	opacity: 1;
}
.header .logo{
	width: 43%;
  margin: 0 0 0 10px;
  max-width: 200px;
  opacity: 1;
	}


/* for PC*/
@media print, screen and (min-width:768px) {
	.header{
		height: 90px;
	}
  .header .logo{
    margin-left: 0;
    max-width: 300px;
    }
}




/*
gNav
*/
.gNav {}
.gNav ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.gNav li {
  font-size: clamp(calc(13px * 0.7), calc(13vw / 3.75), 13px);/*13 / 16*/
  text-align: center;
  line-height: 1.0;
}
.gNav li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 0.7em;
}
.gNav li a:hover{
  opacity: 1;
  color: #54adf1;
}
.gNav li.btnTel {
  width: 46px;
  height: 46px;
  background: url("../images/ico_tel.svg") no-repeat center center;
  background-size: cover;
  text-align: left;
  text-indent: -200vw;
}
.gNav li.btnTel {
  padding: 0;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .gNav {}
  .gNav ul {}
  .gNav li {
    font-size: clamp(calc(16px * 0.7), calc(16vw / 11.00), 16px);/*13 / 16*/
  }
  .gNav li a {}
  .gNav li a:hover{}
  .gNav li.btnTel {
    width: auto;
    height: 40px;
    background-size: contain;
    text-align: left;
    text-indent: 0;
  }
  .gNav li.btnTel {
    padding: 0 0 0 20px;
    background-position: left center;
  }
  .gNav li.btnTel{
    font-size: clamp(calc(30px * 0.7), calc(30vw / 11.00), 30px);
  }
  .gNav li.btnTel a{
    color: #0e69a0;
    pointer-events: none;
  }

	
}






/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 834px) and (orientation:portrait) {
/*縦向きのみの記述 --- iPad Pro12.9はPC表示*/
	
}





/*
footer
*/
.footer{
  padding: 30px 0 0 0;
}
.footer a{
	display: block;
}


.footer .address{
  text-align: center;
}
.footer .address .logo{
  width: 70%;
  max-width: 300px;
  margin: 0 auto;
}
.footer .address p{
  font-size: clamp(calc(14px * 0.7), calc(14vw / 3.75), 14px);/*14 / 16*/
  line-height: 1.0;
}
.footer .tel{
  margin: 20px 0 0 0;
  font-size: clamp(calc(14px * 0.7), calc(14vw / 3.75), 14px);/*14 / 16*/
}
.footer .tel a{
  margin: 0 0 5px 0;
  color: #0e69a0;
  font-size: 200%;
  line-height: 1.0;
}
.footer .copyright{
  margin: 30px 0 0 0;
  padding: 10px 0;
  background: #222;
	color: #fff;
	font-size: 11px;
	text-align: center;
	line-height: 1.2;
}


/* for PC*/
@media print, screen and (min-width:768px) {
  .footer{
    padding-top: 50px;
  }
  .footer a{}


  .footer .address{}
  .footer .address .logo{}
  .footer .address p{
    font-size: clamp(calc(16px * 0.7), calc(16vw / 11.00), 16px);/*14 / 16*/
    line-height: 1.0;
  }
  .footer .tel{
    margin: 20px 0 0 0;
    font-size: clamp(calc(16px * 0.7), calc(16vw / 11.00), 16px);/*14 / 16*/
  }
  .footer .tel a{
    font-size: 300%;
    pointer-events: none;
  }
  .footer .copyright{
    margin-top: 50px;
    padding: 15px 0;
    font-size: 12px;
  }
}



/*btnPageTop*/
.btnPageTop{
	position:fixed;
  top: auto;
  bottom: 30px;
  left: auto;
  right: 10px;
  width: 40px;
  height: 40px;
  background-color: rgba(51, 51, 51, 0.8);
  border-radius: 50%;
	z-index:500;
	}
.btnPageTop a{
  display: block;
  width: 100%;
  height:100%;
  border-radius: inherit;
	}
.btnPageTop a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  margin-top: -3px;
  margin-left: -6px;
  content: " ";
  border-top: 1px #fff solid;
  border-left: 1px #fff solid;
  transform: rotate(45deg);
}


/* for PC*/
@media print, screen and (min-width:768px) {
  .btnPageTop{
    bottom: 70px;
    width: 80px;
    height: 80px;
    }
  }



/*
contents
*/
main{
	display: block;
}
.contents{
  margin-top: 60px;
  overflow: hidden;
}
.sec{
  padding: 50px 0;
}
.sec.-type01{
  margin: 0 0 30px 0;
  padding: 0;
}

.br{
  display: inline-block;
}

.taLC{
  text-align: left;
}

.ttl01{
  position: relative;
  display: inline-block;
  width: auto;
  margin: 0 auto 1.5em auto;
  padding: 0 0 1.0em 0;
  /*border-bottom: 4px solid #54adf1;*/
  font-size: clamp(calc(26px * 0.7), calc(26vw / 3.75), 26px);/*26 / 32*/
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.ttl01::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  display: block;
  width: 100%;
  height: 10px;
  background-image: repeating-linear-gradient(130deg, #54adf1, #54adf1 1px, transparent 1px, transparent 4px);
  transform: translate(-50%,0);
}

.ttl02{
  position: relative;
  margin: 0 0 1.0em 0;
  padding: 5px 0 5px 15px;
  border-left: 6px solid #54adf1;
  font-size: clamp(calc(20px * 0.7), calc(20vw / 3.75), 20px);/*20 / 28*/
  text-align: left;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
/*.ttl02::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 10px;
  height: 100%;
  background-image: repeating-linear-gradient(130deg, #54adf1, #54adf1 1px, transparent 1px, transparent 4px);
}*/


.copy01{
  margin: 0 0 1.5em 0;
  font-size: clamp(calc(22px * 0.7), calc(22vw / 3.75), 22px);/*22 / 30*/
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
/*lead*/

.lead01{
  margin-bottom: 30px;
  font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*16 / 18*/
  letter-spacing: 0.05em;
}
.lead02{
  margin-bottom: 30px;
  font-size: clamp(calc(14px * 0.7), calc(14vw / 3.75), 14px);/*14 / 15*/
  letter-spacing: 0.05em;
}

.cap{
  font-size: 10px;
}

/*マーカー*/
.marker {
  background:linear-gradient(transparent 60%, #ff6 60%);
}
/*bg*/
.bg00{
  background: #fff;
}
.bg99{
  background: #222;
}


/* for PC*/
@media print, screen and (min-width:768px) {
	.contents{
    margin-top: 90px;
  }
  
  .sec{
    padding: 100px 0;
  }
  .sec.-type01{
    margin-bottom: 50px;
    padding: 0;
  }
  
  .taLC{
    text-align: center;
  }

  .ttl01{
    /*border-bottom: 4px solid #54adf1;*/
    font-size: clamp(calc(32px * 0.7), calc(32vw / 11.00), 32px);/*26 / 32*/
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .ttl01::after {
    height: 15px;
  }

  .copy01{
    margin: 0 0 1.5em 0;
    font-size: clamp(calc(30px * 0.7), calc(30vw / 11.00), 30px);/*22 / 30*/
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  
  
  /*lead*/
  .lead01{
    margin-bottom: 50px;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 11.00), 18px);/*16 / 18*/
    letter-spacing: 0.05em;
  }
  .lead02{
    margin-bottom: 50px;
    font-size: clamp(calc(15px * 0.7), calc(15vw / 11.00), 15px);/*14 / 15*/
    letter-spacing: 0.05em;
  }
}


/*set aos
--------------------------------- */
/*custom animation*/
/*fade*/
* [data-aos="ca-fade"] {
	opacity: 0;
	}
* [data-aos="ca-fade"].aos-animate {
  opacity: 1;
}
/*slide-up*/
* [data-aos="ca-slideup"] {
	transform: translateY(30px);
	/*transition-delay: .3s;*/
	}
* [data-aos="ca-slideup"].aos-animate {
	transform: translateY(0);
}
/*fade-up*/
* [data-aos="ca-fadeup"] {
	transform: translateY(10px);
	opacity: 0;
	}
* [data-aos="ca-fadeup"].aos-animate {
	transform: translateY(0);
  opacity: 1;
}

/*ca-fadeup02*/
* [data-aos="ca-fadeup02"] {
	transform: translateY(60px);
}
* [data-aos="ca-fadeup02"].aos-animate {
	transform: translateY(0);
}
* [data-aos="ca-fadeup02"] img {
	 opacity: 0;
  transition-duration: .6s;
}
* [data-aos="ca-fadeup02"].aos-animate img {
	opacity: 1;
}



/*slide-left*/
* [data-aos="ca-slideleft"] {
	transform: translateX(30px);
	/*transition-delay: .3s;*/
	}
* [data-aos="ca-slideleft"].aos-animate {
	transform: translateX(0);
}

/*fade-left*/
* [data-aos="ca-fadeleft"] {
	transform: translateX(10px);
	opacity: 0;
	}
* [data-aos="ca-fadeleft"].aos-animate {
	transform: translateX(0);
	opacity: 1;
}

/*slide-right*/
* [data-aos="ca-slideright"] {
	transform: translateX(-30px);
	/*transition-delay: .3s;*/
	}
* [data-aos="ca-slideright"].aos-animate {
	transform: translateX(0);
}

/*fade-right*/
* [data-aos="ca-faderight"] {
	transform: translateX(-10px);
  opacity: 0;
	/*transition-delay: .3s;*/
	}
* [data-aos="ca-faderight"].aos-animate {
	transform: translateX(0);
  opacity: 1;
}


/* for pc*/
@media screen and (min-width: 768px) {
	/*custom animation*/
	* [data-aos="ca-slideup"] {
		transform: translateY(40px);
	}
  /*fade-up*/
  * [data-aos="ca-fadeup"] {
    transform: translateY(20px);
    }
  
	/*slide-left*/
	* [data-aos="ca-slideleft"] {
		transform: translateX(80px);
		}
  /*fade-left*/
  * [data-aos="ca-fadeleft"] {
    transform: translateX(20px);
    }
  
	/*slide-right*/
	* [data-aos="ca-slideright"] {
		transform: translateX(-80px);
		}
  /*fade-right*/
  * [data-aos="ca-faderight"] {
    transform: translateX(-20px);
    }
	
}






/*for ios*/
.ios a:hover{
	opacity: 1 !important;
}