@charset "utf-8";
html{
	width:100%;
/*	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;*/
	font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝" , "Yu Mincho" , YuMincho , "MS P明朝", "MS PMincho", serif;
}
body{
	width:100%;
	color:#000;
}
.sp{display:block;}
.pc{display:none;}
a{
	color:#000;
	text-decoration:underline;
}
img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}
em{
	font-style:normal;
	font-weight:bold;
}
.bold{
	font-weight:bold;
}
.fNormal{
  font-weight: normal;
}
.img100{
	width:100%;
}
.w1000{max-width:1000px;margin-left:auto;margin-right:auto;}
.w900{max-width:900px;margin-left:auto;margin-right:auto;}
.w800{max-width:800px;margin-left:auto;margin-right:auto;}
.w90{width:90%;	margin-left:auto;margin-right:auto;}

.fGo{
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}
@media (min-width:768px) {
	.sp{display:none;}
	.pc{display:block;}
	a{
		transition:0.3s;
	}
	a:hover{
		opacity: 0.7;
	}
	a[href^="tel:"] {
	    pointer-events: none;
	}
}
/* base */


/*header
----------------------------------------------------------- */
header{
	width:100%;
	height:50px;
	background-color: #fff;
	z-index:200;
	left:0;
	top:0;
	transition: all 0.3s ease-out;
	position:fixed;
}
main{
	padding-top:50px;
}
.anchor{
	display:block;
	margin-top:-50px;
	padding-top:50px;
	z-index:-1;
	position:relative;
}
#hWrap{
	margin:0;
	width:100%;
}
@media (min-width:768px) {
	header{
		position:fixed;
		height:80px;
	}
	main{
		padding-top:80px;
	}
	.anchor{
		margin-top:-80px;
		padding-top:80px;
	}
	#hWrap{
		display:flex;
		justify-content: space-between;
		align-items: center;
		height: 80px;
	}
}
#hLogo{
	width:100px;
	margin: 12px;
}
@media (min-width:768px) {
	#hLogo{
		width:230px;
		margin:0 10px;
	}
	#hBtnMenu{
		display:none;
	}
}
/*gnav*/
#gNav{
	position:absolute;
	display:none;
	top:50px;
	left:0;
	z-index:100;
	text-align:center;
	width:100%;
	}
#gNav ul{
	width:100%;
	background-color:#fff;
}
#gNav a{
	width:100%;
	display:block;
	text-align:center;
	text-decoration:none;
	line-height:1.5;
	color: #0079c3;
	font-weight: bold;
	padding:1em;
}
#gNav a .en{
	font-size: 2rem;
}
#gNav a .jp{
	font-size: 1.2rem;
}
#gNav li.note{
	padding:10px;
}
#gNav li.note img{
	width:30px;
}
@media (min-width:768px) {
	#gNav{
		width:calc(100% - 230px);
		max-width:900px;
		position:static;
		display:block !important;
		height:80px;
		}
	#gNav ul{
		width:100%;
		display:flex;
		justify-content: flex-end;
		flex-wrap:wrap;
		height:80px;
	}
	#gNav li{
		width:calc((100% - 80px) / 5);
		display:flex;
		justify-content: flex-end;
		flex-wrap:wrap;
		height:80px;
	}
	#gNav li.note{
		width:80px;
		height:80px;
	}
	#gNav a{
		display: flex;
		justify-content: center;
		align-items: center;
		width:100%;
		height:80px;
		padding:0;
		position:relative;
	}
	#gNav a p{
		display: flex;
		justify-content: center;
		align-items: center;
		width:100%;
		height:80px;
		transition-duration: 0.2s;
	}
	#gNav a .en{
		font-size: 2rem;
	}
	#gNav a .jp{
		font-size: 1.6rem;
		display: flex;
		background-color: #0079c3;
		color:#fff;
		position:absolute;
		opacity:0;
		left:0;
		top:0;
	}
	#gNav a:hover{
		opacity:1;
	}
	#gNav a:hover .jp{
		opacity:1;
	}
}
/*ハンバーガーボタン*/	
#hBtnMenu{
	position:fixed;
	top:0;
	right:0;
	width:50px;
	height:50px;
	padding-top:10px;
	text-align:center;
	z-index:10;
}
#hBtnMenu span {
	position: absolute;
	top: 0;
	left: 13px;
	display: block;
	width: 24px; /* 横幅 */
	height: 2px; /* 1本辺りの高さ */
	background: #0079c3; /* 線の色 */
	transition: all 0.3s ease-out;
  }
#hBtnMenu .hbBar01 { top: 10px; }
#hBtnMenu .hbBar02 { top: 18px; }
#hBtnMenu .hbBar03 { top: 26px; }
#hBtnMenu p{
	display:block;
	padding:22px 0 0 0;
	font-size:0.9em;
	color:#0079c3;
	text-align:center;
	}
#hBtnMenu.open span{
	background: #0079c3; /* 線の色 */
	}
/* 最上部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar01 {
  top: 20px; /* 上から2番目の線の位置に変更 */
  transform: rotate(45deg);
}
/* 上から2番目の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar02 {
  opacity: 0; /* 不透明度を下げて線を消す */
}
/* 最下部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar03 {
  top: 20px; /* 上から2番目の線の位置に変更 */
  transform: rotate(135deg);
}







/*footer*/
footer{
	width: 100%;
	padding: 40px 0 20px;
	background-color: #0079c3;
	color:#fff;
}
footer .fwrap01{
	margin-bottom: 40px;
}
footer .fwrap01 .logo{
	width: 150px;
	margin:0 auto 20px;
}
footer .fnavwrap{}
footer .fnav{
	text-align: left;
}
footer .fnav a{
	display: block;
	text-decoration: none;
	color:#fff;
}
footer .fnav .nav01{
	font-size:18px;
	margin-bottom:5px;
	margin-top:10px;
}
footer .fnav .nav02{
	font-size:15px;
	margin-bottom:5px;
	margin-left:20px;
}

@media (min-width:768px) {
	footer .fwrap01{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	footer .fwrap01 .logo{
		width:23%;
		margin:0;
	}
	footer .fnavwrap{
		width:75%;
		margin:0;
	}
	footer .fnavwrap{
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
		gap: 30px;
	}
}

/**/



/*section*/
.sec40{
	padding-top: clamp(20px , 4vw, 40px);
	padding-bottom: clamp(20px , 4vw, 40px);
}
.sec60{
	padding-top: clamp(30px , 6vw, 60px);
	padding-bottom: clamp(30px , 6vw, 60px);
}
.sec60t{
	padding-top: clamp(30px , 6vw, 60px);
}
.sec60b{
	padding-bottom: clamp(30px , 6vw, 60px);
}
.sec80{
	padding-top: clamp(50px , 8vw, 80px);
	padding-bottom: clamp(50px , 8vw, 80px);
}
.sec80b{
	padding-bottom: clamp(50px , 8vw, 80px);
}
.sec80t{
	padding-top: clamp(50px , 8vw, 80px);
}

/**/
.lh15{line-height:1.5 !important;}
.lh20{line-height:2 !important;}
.lh25{line-height:2.5 !important;}
.palt{font-feature-settings: "palt";}
.txt15r{font-size:clamp(1.3rem,1.5vw,1.5rem);}
.txt16r{font-size:clamp(1.4rem,1.6vw,1.6rem);}
.txt18r{font-size:clamp(1.5rem,1.8vw,1.8rem);}
.txt20r{font-size:clamp(1.6rem,2vw,2rem);}
.txt22r{font-size:clamp(1.7rem,2vw,2.2rem);}
.txt24r{font-size:clamp(1.8rem,2vw,2.4rem);}
.txt25r{font-size:clamp(1.8rem,2vw,2.5rem);}
.txt30r{font-size:clamp(2rem,3vw,3rem);}
.txt40r{font-size:clamp(2.2rem,3vw,4rem);}
.txt50r{font-size:clamp(3rem,4vw,5rem);}
.fs60{font-size: 60%;}
.fs75{font-size: 75%;}
.fs90{font-size: 90%;}
.fs110{font-size: 110%;}
.fs120{font-size: 120%;}
.fs130{font-size: 130%;}
.fs140{font-size: 140%;}
.fs150{font-size: 150%;}
.fs160{font-size: 160%;}
.cWh{color:#fff;}
.cBlue01{color:#0079c3;}
.cBlue02{color:#00afdd;}

/*bg*/
.cBg01/*青*/{
	background-color: #0079c3;
}




/*title*/
.pageTtl01{
	width:90%;
	margin:0 auto;
	padding-top:  clamp(50px , 10vw, 100px);
	padding-bottom:  clamp(50px , 10vw, 100px);
}
.pageTtl01 .ttl01{
	color:#00afdd;
	font-size:clamp(2.2rem , 3.5vw, 3.5rem);
  display: flex;
  align-items: center;
}
.pageTtl01 .ttl01::before,
.pageTtl01 .ttl01::after {
  background-color: #00afdd;
  border-radius: 1px;
  content: "";
  flex-grow: 1;
  height: 1px;
}
.pageTtl01 .ttl01::before {
  margin-right: 1em;
}
.pageTtl01 .ttl01::after {
  margin-left: 1em;
}
.cTtl01{
	font-size:clamp(2.5rem , 4vw, 4rem);
	color : #0079c3;
	font-weight: bold;
}
.cTtl02{
	font-size:clamp(2rem , 3vw, 3rem);
	color : #0079c3;
	font-weight: bold;
}
.cTtl03{
	display: inline-block;
	width:auto;
	margin-left:auto;
	margin-right: auto;
	font-size:clamp(2.2rem , 3.5vw, 3.5rem);
	color : #00afdd;
	font-weight: bold;
	border-bottom:1px solid #00afdd;
}




.cCheck01{
	font-size:clamp(1.6rem , 1.8vw, 1.8rem);
	font-weight: bold;
	background-image: url(../images/icon_check.svg);
	background-size:25px 25px;
	background-position: left center;
	background-repeat: no-repeat;
	text-align: left;
	padding-left:35px;
	margin-bottom: 5px;
}


/*btn*/
.cBtn01{
	display:inline-block;
	width:auto;
	color:#00afdd;
	font-weight: bold;
	font-size:20px;
	position: relative;
	text-decoration: none;
	padding-right:100px;
	line-height: 1.5;
}
.cBtn01::before,
.cBtn01::after{
	content:"";
	position: absolute;
	display: block;
}
.cBtn01::before{
	width:60px;
	border-top:2px solid #00afdd;
	bottom:5px;
	right:30px;
}
.cBtn01::after{
	width:30px;
	height:10px;
	clip-path: polygon(0 0, 0% 100%, 100% 100%);
	background-color:#00afdd;
	bottom:4.5px;
	right:0;
}



/**/
.lNav01{
	width: 90%;
	margin:0 auto;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 10px;
}
.lNav01 .nav01{
	display:inline-block;
	color:#00afdd;
	font-size:clamp(1.5rem , 2.5vw, 2.5rem);
	text-decoration: none;
	position: relative;
	padding-right:40px;
	font-weight: bold;
}
@media (min-width:768px) {
	.lNav01{
		width: 90%;
		margin:0 auto;
		display:flex;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: wrap;
		flex-direction: row;
		gap: 20px 60px;
	}
}
.lNav01 .nav01::before,
.lNav01 .nav01::after{
	content:"";
	position: absolute;
	display: block;
}
.lNav01 .nav01::before{
	width:100%;
	border-top:1px solid #00afdd;
	bottom:0;
	left:0;
}
.lNav01 .nav01::after{
	width:20px;
	border-top:1px solid #00afdd;
	bottom:5px;
	right:0;
	transform: rotate(30deg);
}