@charset "utf-8";
html{
	width:100%;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

body{
	width:100%;
	color:#333;
}
em{
	font-style:normal;
	font-weight:bold;
}
.spOnly{display:block;}
.pcOnly{display:none;}
a:link,
a:visited,
a:active,
a:hover{
	color:#333;
	text-decoration:underline;
}
img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}
.img100{
	width:100%;
}
.w1000{
	max-width:1000px;
	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;
}
.w96{
	width:96%;
	margin-left:auto;
	margin-right:auto;
}
.fMin{
		font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
@media print, screen and (min-width:768px) {
	.spOnly{display:none;}
	.pcOnly{display:block;}
	a{
		transition-duration:0.3s;
		}
	a:hover{
		opacity: 0.7;
		}
}/* 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;
}
#hLogo{
	width:200px;
	margin:5px 0 0 10px;
}
#hLogo a{
	text-decoration: none;
	display:block;
}
#hLogo img{
	width:100%;
}
/*ハンバーガーボタン*/	
#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: #00a0e9; /* 線の色 */
	transition: all 0.3s ease-out;
  }
 
#hBtnMenu .hbBar01 { top: 8px; }
#hBtnMenu .hbBar02 { top: 18px; }
#hBtnMenu .hbBar03 { top: 28px; }

#hBtnMenu p{
	display:block;
	padding:22px 0 0 0;
	font-size:0.625em;
	color:#00a0e9;
	text-align:center;
	}

#hBtnMenu.open span{
	background: #00a0e9; /* 線の色 */
	}

/* 最上部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar01 {
  top: 20px; /* 上から2番目の線の位置に変更 */
  transform: rotate(45deg);/* 線を45度回転 */
}

/* 上から2番目の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar02 {
  opacity: 0; /* 不透明度を下げて線を消す */
}

/* 最下部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar03 {
  top: 20px; /* 上から2番目の線の位置に変更 */
  transform: rotate(135deg);/* 線を135度回転 */
}
/*gnav ---------------------- */
#gNav{
	position:absolute;
	display:none;
	width:100%;
	top:50px;
	left:0;
	background:#fff;
	z-index:100;
	}
#gNav > ul > li{
	text-align:center;
	overflow:hidden;
	font-size:1.6rem;
}
#gNav > ul > li.sp{display:inline;}
#gNav > ul > li.pc{display:none;}
@media print, screen and (min-width:768px) {
	#gNav > ul > li.sp{display:none;}
	#gNav > ul > li.pc{display:block;}
}
#gNav > ul > li > a{
	display:block;
	height:40px;
	line-height:40px;
	overflow:hidden;
	color:#333;
	text-align:center;
	text-decoration:none;
	}
#gNav > ul > li > a.noLink{
	opacity:0.4;
	pointer-events: none;
	}
/*問い合わせ・採用情報アイコン非表示*/
#hBtnCon{
	display:none;
}

@media print, screen and (min-width:768px) {
	header{
		position:fixed;
		height:100px;
	}
	main{
		padding-top:100px;
	}
	.anchor{
		margin-top:-100px;
		padding-top:100px;
	}
	#hWrap{
		margin:20px auto;
		width:96%;
		max-width: 1100px;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	#hLogo{
		width:270px;
		margin:0;
	}
	/*gnav ---------------------- */
	#gNav{
		width:calc(100% - 270px - 120px - 20px);
		margin:0 0 0 20px;
		position:static;
		display:block !important;
		text-align:center;
		background:none;
		border-top:none;
		overflow:hidden;
		}
	#gNav > ul{
		width:100%;
		text-align:center;
		vertical-align: top;
		padding:0;
		margin:0 auto;
		height:auto;
		overflow:hidden;
		display:flex;
		justify-content: flex-start;
		flex-wrap:wrap;
	}
	#gNav > ul > li{
		width:auto;
		display:block;
		margin:5px 1em 5px;
		padding:0;
		text-align:center;
		overflow: visible;
		font-size:1.3rem;
	}
	#gNav > ul > li:nth-of-type(8){
		margin:5px 0 5px 1em;
	}
	#gNav > ul > li > a{
		display:block;
		padding:0;
		color:#000;
		height:20px;
		line-height:20px;
	}
	#hBtnCon{
		display:flex;
		width:120px;
	}
	#hBtnCon a{
		display:block;
		width:50%;
		color:#0097e0;
		text-decoration: none;
	}
	#hBtnCon a.noLink{
		opacity:0.4;
		pointer-events: none;
	}
	/*ハンバーガーボタン非表示*/
	#hBtnMenu{display:none;}
}



/*footer
----------------------------------------------------------- */
#footer{
	padding:10px 0;
	background-color:#0097e0;
	color:#fff;
}
#footer .inner{
	width:90%;
	margin:0 auto;
	max-width:1000px;
}
#fLogo{
	width:220px;
	margin:0 auto 5px;
}
#fCompany{
	text-align:center;
}
#fTel{
	font-size:1.3rem;
}
#fNav ul{
	display:flex;
	flex-wrap:wrap;
	margin-bottom:30px;
}
#fNav li{
	width:48%;
	border-bottom:1px solid rgba(255,255,255,0.5);
	margin:0 1%;
}
#fNav li a{
	display:block;
	color:#fff;
	text-decoration: none;
	font-size:1.3rem;
	line-height:40px;
}
#fNav li a.noLink{
	opacity:0.4;
	pointer-events: none;
	}
/**/
#fCompany{
	margin:0 auto 20px;
	text-align:center;
}
#copyright{
	font-size:1.2rem;
	text-align:center;
}
@media print, screen and (min-width:768px) {
	#footer{
	padding:30px 0;
	}
	#footer .inner{
		display:flex;
		flex-direction: row-reverse;
	}
	/**/
	#fCompany{
		width:250px;
		text-align:left;
	}
	#fLogo{
		margin:0 0 5px 0;
	}
	/**/
	#fNav{
		width:calc(100% - 250px);
	}
	#fNav ul{
		width:100%;
		margin:0 0 0 20px;
		display:flex;
	}
	#fNav li{
		width:auto;
		border-bottom:none;
		border-left:1px solid rgba(255,255,255,0.5);
		margin:0 0 2em 0;
	}
	#fNav li:last-child{
		border-right:1px solid rgba(255,255,255,0.5);
	}
	#fNav li a{
		display:inline-block;
		color:#fff;
		text-decoration: none;
		font-size:1.3rem;
		line-height:1.2;
		padding:0 1.2em;
	}
	/**/
	#copyright{
		font-size:1.5rem;
	}
}



/*breadcrumb
----------------------------------------------------------- */
.breadcrumb{
	width:90%;
	max-width:1000px;
	margin:10px auto;
	text-align:left;
	font-size:1.2rem;
}
.breadcrumb li{
	display:inline-block;
}
.breadcrumb li::after{
	content:"";
	display:inline-block;
	width:6px;
	height:6px;
	border-top:1px solid #000;
	border-right:1px solid #000;
	transform:rotate(45deg);
	margin:3px 0.5em;
}
.breadcrumb li:last-child::after{
	content:none;
}
.breadcrumb a{
	text-decoration: none !important;
}
@media print, screen and (min-width:768px) {
	.breadcrumb{
		font-size:1.5rem;
		margin:10px auto 30px;
	}
}




/*contents
----------------------------------------------------------- */
.sec01{padding:40px 0;}
@media print, screen and (min-width:768px) {.sec01{padding:80px 0;}}
.sec02{padding:0 0 40px 0;}
@media print, screen and (min-width:768px) {.sec02{padding:0 0 80px 0;}}
.sec03{padding:40px 0 0 0;}
@media print, screen and (min-width:768px) {.sec03{padding:80px 0 0 0;}}
/**/




/*background
----------------------------------------------------------- */
.cbg01{
	background-color:#F5F6F9;
}


/*title
----------------------------------------------------------- */
#pageTtl{
	margin:30px 0 60px;
	position:relative;
}
#pageTtl::before{
	content:"";
	position:absolute;
	display:block;
	height:20px;
	width:1px;
	background-color:#0097e0;
	bottom:-30px;
	left:50%;
}
#pageTtl::after{
	content:"";
	position:absolute;
	display:block;
	height:8px;
	width:1px;
	background-color:#0097e0;
	transform:rotate(45deg);
	bottom:-30px;
	left:calc(50% + 3px);
}
#pageTtl img{
	height:25px;
}
#pageTtl .jp{
	font-size:1.3rem;
	line-height:1.5;
	margin:5px 0 0 0;
}
@media print, screen and (min-width:768px) {
	#pageTtl{
	}
	#pageTtl img{
		height:34px;
	}
	#pageTtl .jp{
		font-size:1.7rem;
		line-height:1.2;
		margin:10px 0 0 0;
	}
}
/**/
#pageTtl02{
	background-size:cover;
	background-position:center center;
	height:200px;
	width:100%;
}
#pageTtl02 .inner{
	width:90%;
	max-width:1000px;
	height:200px;
	margin:0 auto;
	display:flex;
	justify-content: flex-start;
	align-items: center;
}
#pageTtl02 h2{
	width:140px;
	height:140px;
	background-color:rgba(0,151,224,0.9);
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height:1.5;
	letter-spacing:0.1em;
	color:#fff;
}
#pageTtl02 h2 .jp{
	font-size:2rem;
}
#pageTtl02 h2 .en{
	font-family: 'Roboto', sans-serif;
	font-weight:400;
	font-size:1.2rem;
}
@media print, screen and (min-width:768px) {
	#pageTtl02{
		height:300px;
	}
	#pageTtl02 .inner{
		height:300px;
	}
	#pageTtl02 h2{
		width:180px;
		height:180px;
	}
	#pageTtl02 h2 .jp{
		font-size:2.4rem;
	}
	#pageTtl02 h2 .en{
		font-size:1.6rem;
	}
}
/**/

/**/
.ttl01{
}
.ttl01 img{
	height:25px;
}
.ttl01 .en{
	font-size:3rem;
	font-family: 'Roboto', sans-serif;
	font-weight:700;
	font-style:oblique;
	color:#0096E0;
	line-height:1.1;
	letter-spacing:0.15em;
}
.ttl01 .en:first-letter{
	color:#999;
}
.ttl01 .jp{
	font-size:1.3rem;
	line-height:1.5;
	margin:5px 0 0 0;
}
@media print, screen and (min-width:768px) {
	.ttl01{
		display:flex;
		justify-content: flex-start;
		align-items: flex-end;
	}
	.ttl01 img{
		height:34px;
	}
	.ttl01 .en{
		font-size:4rem;
	}
	.ttl01 .jp{
		font-size:1.7rem;
		line-height:1.2;
		margin:0 0 0 5px;
	}
	.ttl01 .jp::before{
		content:"／";
	}
}
/**/

/**/
.ttl02{
	margin-bottom:20px;
}
.ttl02 img{
	height:25px;
}
.ttl02 .jp{
	font-size:1.3rem;
	line-height:1.5;
	margin:5px 0 0 0;
}
@media print, screen and (min-width:768px) {
	.ttl02{
		margin-bottom:30px;
	}
	.ttl02 img{
		height:34px;
	}
	.ttl02 .jp{
		font-size:1.7rem;
		line-height:1.2;
		margin:10px 0 0 0;
	}
}
/**/

/**/
.ttl03{
	margin-bottom:50px;
	position:relative;
}
.ttl03 .en{
	font-size:3rem;
	font-family: 'Roboto', sans-serif;
	font-weight:700;
	font-style:oblique;
	color:#0096E0;
	line-height:1.1;
	letter-spacing:0.15em;
}
.ttl03 .en:first-letter{
	color:#999;
}
.ttl03 .jp{
	font-size:1.5rem;
	line-height:1.5;
	letter-spacing:0.1em;
	margin-top:3px;
}
.ttl03::before{
	position:absolute;
	content:"";
	height:22px;
	width:1px;
	background-color:#0096E0;
	display:block;
	bottom:-25px;
	left:50%;
}
.ttl03::after{
	position:absolute;
	content:"";
	height:10px;
	width:1px;
	background-color:#0096E0;
	display:block;
	bottom:-26px;
	left:calc(50% + 3px);
	transform:rotate(45deg);
}
@media print, screen and (min-width:768px) {
	.ttl03{
		margin-bottom:60px;
	}
	.ttl03 .en{
		font-size:4rem;
	}
	.ttl03 .jp{
		font-size:1.7rem;
		margin-top:3px;
	}
}
/**/

/**/
.ttl04{
	font-size:2rem;
	margin-bottom:20px;
	line-height:1.8;
	text-align:center;
}
@media print, screen and (min-width:768px) {.ttl04{font-size:2.8rem;margin-bottom:40px;}}
/**/

/**/
.ttl05{
	font-size:1.6rem;
	color:#fff;
	background-color:#0096E0;
	border-radius:4px;
	margin-bottom:20px;
}
@media print, screen and (min-width:768px) {.ttl05{font-size:2rem;}}
/**/

/**/
.ttl06{
	font-size:2rem;
	color:#0096E0;
}
@media print, screen and (min-width:768px) {.ttl06{font-size:2.4rem;}}
/**/

/**/
.ttl07{
	font-size:1.6rem;
}
@media print, screen and (min-width:768px) {.ttl07{font-size:1.8rem;}}
/**/







/*text
----------------------------------------------------------- */
.ctxt01{font-size:1.3rem;}
@media print, screen and (min-width:768px) {.ctxt01{font-size:1.6rem;}}

.ctxt02{
	font-size:2rem;
	font-weight:bold;
}
@media print, screen and (min-width:768px) {
	.ctxt02	{
		font-size:3rem;
	}
}


/*btn
----------------------------------------------------------- */
.btn01{
	display:block;
	width:160px;
	border:1px solid #0097e0;
	border-radius:18px;
	line-height:35px;
	background-color:#fff;
	color:#0097e0 !important;
	text-align:center;
	text-decoration: none !important;
	font-size:1.2rem;
	position:relative;
	padding-right:10px;
	margin:0;
	letter-spacing:0.1em;
}
.btn01::before{
	content:"";
	display:block;
	position:absolute;
	width:6px;
	height:6px;
	border-top:1px solid #0097e0;
	border-right:1px solid #0097e0;
	transform:rotate(45deg);
	right:10px;
	top:calc(50% - 3px);
}


/*list
----------------------------------------------------------- */


/**/
.clist01{
	text-align:left;
	font-size:1.4rem;
	background-color:#fff;
	border-bottom:1px solid rgba(0,0,0,0.5);
}
.clist01 dt{
	padding:1em;
	font-weight:bold;
	border-top:1px solid rgba(0,0,0,0.5);
	border-bottom:1px solid rgba(0,0,0,0.5);
	background-color:#C9E6F8;
}
.clist01 dd{
	padding:1em;
}
@media print, screen and (min-width:768px) {
	.clist01{
		display:flex;
		flex-wrap: wrap;
		justify-content: left;
		font-size:1.6rem;
		border-bottom:1px solid rgba(0,0,0,0.5);
	}
	.clist01 dt{
		width:20%;
		text-align:center;
		padding:1em;
		border-bottom:0;
	}
	.clist01 dd{
		width:80%;
		padding:1em;
		border-top:1px solid rgba(0,0,0,0.5);
	}
}












