@charset "utf-8";
html{
	width:100%;
  font-family: "Zen Kaku Gothic New", sans-serif;
	background-color: #fff;
}

body{
	width:100%;
	color:#222;
}
em{
	font-style:normal;
	font-weight:bold;
}
.sp{display:block;}
.pc{display:none;}
a:link,
a:visited{
	color:#222;
	text-decoration:underline;
	}
a:active,
a:hover{
	color:#222;
	text-decoration:underline;
	}
img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
	width :auto;　
}
.w600{
	max-width:600px;
	margin-left:auto;
	margin-right:auto;
}
.w800{
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}
.w1000{
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.w1200{
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
}
.w90{
	width:90%;
	margin-left:auto;
	margin-right:auto;
}
.w100{
	width:90%;
}
@media screen and (min-width:768px) {
	.sp{display:none;}
	.pc{display:block;}
	a{
		transition-duration:0.3s;
		}
	a:hover{
		opacity: 0.7;
		}
}/* base */


.flex{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}


.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}



/*header
----------------------------------------------------------- */
header{
	width:100%;
	height:60px;
	z-index:200;
	left:0;
	top:0;
	transition: all 0.3s ease-out;
	position:fixed;
}
main{
	padding-top:60px;
}
.anchor{
	display:block;
	margin-top:-60px;
	padding-top:60px;
}
#hWrap{
	margin:0 auto;
	width:calc(100% - 30px);
}
#hLogo{
	width:170px;
	margin: 10px 0;
	text-align:left;
	display:flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: normal;
}
#hLogo img{
	width:170px;
}

/*gnav*/
#gNav{
	position:absolute;
	display:none;
	top:0;
	left:0;
	padding-top:60px;
	text-align:center;
	width:100%;
	height:100vh;
	background-color:#456fb3;
	z-index:100;
	}
#gNav ul{
	width:90%;
	margin:0 auto;
}
#gNav li{
	height:40px;
}
#gNav .nav01{
	display:flex;
	justify-content: center;
	align-items: center;
}
#gNav .nav01 a{
	width:100%;
	display:flex;
	justify-content: center;
	align-items: center;
	text-decoration:none;
	font-size: 1.4rem;
  cursor: pointer;
  color:#fff;
}
/*ハンバーガーボタン*/	
#hBtnMenu{
	position:fixed;
	top:0;
	right:0;
	width:60px;
	height:60px;
	padding-top:10px;
	text-align:center;
	z-index:400;
	cursor: pointer;
	background-color: #456fb3;
}
#hBtnMenu span {
	position: absolute;
	top: 0;
	left: 15px;
	display: block;
	width: 30px; /* 横幅 */
	height: 4px; /* 1本辺りの高さ */
	background: #fff; /* 線の色 */
	transition: all 0.3s ease-out;
  }
#hBtnMenu .hbBar01 { top: 19px; }
#hBtnMenu .hbBar02 { top: 29px; }
#hBtnMenu .hbBar03 { top: 39px; }
#hBtnMenu.open span{
	background: #fff; /* 線の色 */
	}
/* 最上部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar01 {
  top: 29px; /* 上から2番目の線の位置に変更 */
  transform: rotate(45deg);
}
/* 上から2番目の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar02 {
  opacity: 0; /* 不透明度を下げて線を消す */
}
/* 最下部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar03 {
  top: 29px; /* 上から2番目の線の位置に変更 */
  transform: rotate(135deg);
}

/*footer
----------------------------------------------------------- */
footer{
	padding:40px 5%;
}
footer .fLogo{
	margin-left: auto;
	margin-right: auto;
	max-width:300px;
}



/*section
----------------------------------------------------------- */
.sec4{padding-top:4rem;padding-bottom:4rem;}
.sec4t{padding-top:4rem;}
.sec4b{padding-bottom:4rem;}
.sec6{padding-top:6rem;padding-bottom:6rem;}
.sec6t{padding-top:6rem;}
.sec6b{padding-bottom:6rem;}
.sec8{padding-top:8rem;padding-bottom:8rem;}
.sec8t{padding-top:8rem;}
.sec8b{padding-bottom:8rem;}
.sec8r{
	padding-top:clamp(3rem,8vw,8rem);
	padding-bottom:clamp(3rem,8vw,8rem);
}
.sec10{padding-top:10rem;padding-bottom:10rem;}
.sec10t{padding-top:10rem;}
.sec10b{padding-bottom:10rem;}
.sec12{padding-top:12rem;padding-bottom:12rem;}
.sec12t{padding-top:12rem;}
.sec12b{padding-bottom:12rem;}

/**/

/*text*/
.fs50{font-size: 50%;}
.fs75{font-size: 75%;}
.fs110{font-size: 110%;}
.fs120{font-size: 120%;}
.fs130{font-size: 130%;}
.fs140{font-size: 140%;}
.fs150{font-size: 150%;}
.fs160{font-size: 160%;}
.lh1{line-height:1;}
.lh15{line-height:1.5;}
.lh2{line-height:2;}
.lh25{line-height:2.5;}
.ls005{letter-spacing:0.05em;}
.ls01{letter-spacing:0.1em;}
.ls02{letter-spacing:0.2em;}
.cCopy01{font-size:clamp(2rem, 4vw, 4rem);font-weight: normal;}
.cCopy02{font-size:clamp(3rem, 4.8vw, 4.8rem);font-weight: normal;}
.txt14r{font-size:1.4rem;font-size:clamp(1.2rem, 1.4vw, 1.4rem);}
.txt15r{font-size:1.5rem;font-size:clamp(1.3rem, 1.5vw, 1.5rem);}
.txt16r{font-size:1.6rem;font-size:clamp(1.4rem, 1.6vw, 1.6rem);}
.txt18r{font-size:1.8rem;font-size:clamp(1.6rem, 1.8vw, 1.8rem);}
.txt20r{font-size:2.0rem;font-size:clamp(1.8rem, 2.0vw, 2.0rem);}
.txt30r{font-size:3rem;font-size:clamp(2.5rem, 3vw, 3rem);}
.txt40r{font-size:4rem;font-size:clamp(2.8rem, 4vw, 4rem);}
.txt50r{font-size:5rem;font-size:clamp(3.5rem, 5vw, 5rem);}
.orange01{color:#ea601f;}
.blue01{color:#456fb3;}
.red01{color:#cc0000;}
.fNo{font-weight: normal;}
.bold{font-weight: bold;}


/*bg
----------------------------------------------------------- */
.cBg01{background-color: #afddff;}
.cBg02{background-color: #e6f0f5;}
.cBg03{background-color: #fff4e1;}
.cBg04{background-color: #f0f7fc;}

/*title
----------------------------------------------------------- */
.pageTtl01{
	width:100%;
	height:25vw;
	display: flex;
	justify-content: center;
	align-items: center;
	background-position: center center;
	background-size: cover;
}
.pageTtl01 h2{
	text-align: center;
	color:#fff;
	font-size:max(18px,2.5vw);
	line-height: 1.4;
}
/**/
.cTtl01{
	margin-bottom:10px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: normal;
	flex-wrap: wrap;
}
.cTtl01 .en{
	font-size:36px;
	font-size:clamp(2.8rem, 3.6vw, 3.6rem);
	margin-right:0.5em;
}
.cTtl01 .jp{
	font-size:14px;
	margin-top:0.5em;
}

.cTtl02{
	font-size:clamp(2rem, 2.5vw, 2.5rem);
	border-top:1px solid #456fb3;
	border-bottom:1px solid #456fb3;
	color:#456fb3;
	padding:10px;
}

.cTtl03{
	font-size:min(5vw, 3rem);
}
/**/


/*btn
----------------------------------------------------------- */

.cBtn01{
	width:90%;
	max-width:400px;
	margin:0 auto;
	border-radius:30px;
	height:60px;
	display:flex;
	justify-content: center;
	align-items: center;
	text-decoration:none !important;
	font-size: 1.6rem;
	line-height: 1.2;
	color:#fff !important;
	font-weight: bold;
}
.cBtn01.blue{	background-color: #60b5ff;}
.cBtn01.orange{	background-color: #ff9149;}
.cBtn01.blue02{	background-color: #456fb3;}
/*list
----------------------------------------------------------- */
.cList01{
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	font-size:14px;
	border-top:1px solid rgba(60,50,40,0.3);
	text-align: left;
}
.cList01 dt{
	width:30%;
	padding:1em;
	background-color:#f0f0f0;
	border-bottom:1px solid rgba(60,50,40,0.3);
}
.cList01 dd{
	width:70%;
	padding:1em;
	border-bottom:1px solid rgba(60,50,40,0.3);
}
@media (min-width:768px) {
	.cList01{
	}
	.cList01 dt{
		width:20%;
		text-align: center;
	}
	.cList01 dd{
		width:80%;
	}
}



/* ---- particles.js container ---- */
#particles-js{ 
	width: 100%;
	height: 100%;
	position: fixed;
	z-index:-1;
}


/*SPだけ左寄せ*/
.spleft{text-align: left;}
@media (min-width:768px) {
	.spleft{text-align: center;}
}


