@charset "utf-8";

/* noto-sans-jp-regular - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-sans-jp-v52-japanese_latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-500 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/noto-sans-jp-v52-japanese_latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-600 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/noto-sans-jp-v52-japanese_latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

* {
	margin: 0;
	padding: 0;
}

html {
	font-size: 15px;
	line-height: 1.8;
	overflow-y: scroll;
}

body {
	font-family: 'Noto Sans CJK JP', 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	color: #333;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

#wrapper {
	overflow: hidden;
}

.main p,
.main li,
.main dt,
.main dd {
	letter-spacing: 0.02em;
}

ul {
	list-style: none;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
}

table {
	border-collapse: collapse;
}

.txt_center {
	text-align: center;
}

.txt_right {
	text-align: right;
}

.txt_small {
	font-size: 93%;
}

.txt_nm_small {
	font-size: 83%;
	font-weight: normal;
}

.txt_large {
	font-size: 115%;
}

.txt_bold {
	font-weight: 500;
}

.txt_bold2 {
	font-weight: 600;
}

.txt_pink {
	color: #ff33cc;
}

/* -------------------------------------
   nav
------------------------------------- */
/* globalNav
------------------------ */
#global_Nav {
	background: #003299;
}

#global_Nav ul.navList {
	display: flex;
	justify-content: space-between;
	max-width: 1090px;
	margin: 0 auto;
	align-items: center;
	line-height: 1;
}

ul.navList > li {
	display: inline-block;
	width: 14%;
	text-align: center;
}

ul.navList > li.obl {
	width: 22%;
}

ul.navList > li > a {
	display: block;
	font-size: 110%;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #fff;
	cursor: pointer;
	position: relative;
	line-height: 70px;
}

ul.navList > li > a::after {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: #FFFA72;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: .3s;
}

ul.navList > li > a:hover::after {
	transform: scale(1);
}

/*ul.navList > li > a:hover {
		color: #FFFA72;
}*/

.sp_hd_wrap {
	display: none;
}

.sp_header {
	display: none;
}

/* -------------------------------------
   footer
------------------------------------- */
#footer {
	width: 100%;
	background: url("../img/footer.jpg") bottom;
	text-align: center;
	position: relative;
}

.ft_wrap {
	padding: 30px 20px;
}

p.ft_uv > a img {
	width: 220px;
}

.ft_nav {
	margin: auto;
	display: flex;
	justify-content: center;
}

.ft_nav li {
	display: block;
}

.ft_nav li > a {
	display: inline-block;
	width: auto;
	margin: 0 7px;
	padding: 0 5px;
	font-size: 15px;
	letter-spacing: 0.05em;
	color: #00489B;
	font-weight: 500;
	cursor: pointer;
	position: relative;
}

.ft_nav li::before {
	content: "/";
	color: #00489B;
}

.ft_nav li > a::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #00489B;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: .3s;
}

.ft_nav li > a:hover::after {
	transform: scale(1);
}

.ft_logo {
	margin-top: 80px;
}

.copy {
	font-size: 13px;
	margin-top:10px;
}

/* page top
------------------------ */
#pageTop {
	position: fixed;
	right: 10px;
	bottom: 0;
	line-height: 1;
}

#pageTop > a {
	width: 50px;
	height: 50px;
	border: solid 2px #00489B;
	background: #fff;
	color: #00489B;
	border-radius: 50%;
	transition: all .5s;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pageTop > a::before {
	font-family: "Font Awesome 5 Free";
	content: "\f106";
	font-weight: 600;
	font-size: 24px;
	line-height: 1;
}

#pageTop > a:hover {
	background: #00489B;
	color: #fff;
	transform: translateY(-10px);
}

/* ==================================================
  Tablet
====================================================*/
@media screen and (max-width:960px) {
	/* ----------------------------------
		nav
	---------------------------------- */
	/* sp_header
	------------------------ */
	#global_Nav {
		display: none;
	}
	
	.sp_header {
		display: block;
		width: 100%;
	}

	/* spNav
	------------------------ */
	#sp_nav{
		position: fixed;
		z-index: 999;
		top: 0;
		right: -120%;
  		width: 100%;
		height: 100vh;
		background: #0C61FF;
  		transition: all 0.6s;
		opacity: .8;
	}

	/*アクティブクラスがついたら位置を0に*/
	#sp_nav.panelactive{
		right: 0;
	}

	/*ナビゲーション*/
	#sp_nav ul {
		position: absolute;
		z-index: 999;
		top: 45%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
	#sp_nav li{
		list-style: none;
		text-align: center;
	}

	#sp_nav li a {
		display: block;
		color: #fff;
		font-size: 17px;
		padding: 10px 0;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		font-weight: 500;
	}

	/* ハンバーガーボタン
	------------------------ */
	.openbtn {
		position: fixed;
		z-index: 9999;/*ボタンを最前面に*/
		top: 0;
		right: 10px;
		cursor: pointer;
		width: 50px;
   		height: 50px;
	}

	.openbtn span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 14px;
 		height: 3px;
 		border-radius: 2px;
  		background: #00489B;
		width: 45%;
  	}

	.openbtn span:nth-of-type(1) {
		top: 15px; 
	}

	.openbtn span:nth-of-type(2) {
  		top: 23px;
	}

	.openbtn span:nth-of-type(3) {
		top: 31px;
	}

	.openbtn.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}

	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn.active span:nth-of-type(3){
		top: 30px;
 		left: 18px;
 		transform: translateY(-6px) rotate(45deg);
    		width: 30%;
	}
	
	/* ----------------------------------
		footer
	---------------------------------- */
	.ft_wrap {
		padding: 40px 20px;
	}
	
	.ft_nav {
		display: none;
	}
	
	.ft_logo {
		margin-top: 20px;
	}
	
	.copy {
		line-height: 1.5;
		margin-top: 30px;
	}
}

/* ==================================================
  All SP 
====================================================*/
@media screen and (max-width:480px) {
	body {
		font-size: 14px;
	}
	
	/* spNav
	------------------------ */
	#sp_nav li a {
		font-size: 16px;
	}
}
