@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html {
  /* スクロールバーが表示されていなくても、その分の幅を常に確保する */
  scrollbar-gutter: stable;
  font-size: 16px; 
}

body {
	font-family: 'Noto Sans JP', sans-serif;
}

main {
	width:100%;
	margin:auto;
	position:relative;
}


/*footer*/
footer {
	width:100%;
	position:relative;
}
.footer_box {
	width:100%;
	margin:auto;
	background:#006fb7;
}
.copyright {
	width:100%;
	margin:auto;
	max-width:1480px;
	padding:0 20px;
	height:50px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.copyright p {
	width:calc(100% - 200px);
	font-size:12px;
	margin:0;
	color:#fff;
}
.copyright p span {
	display:inline-block;
}
.copyright .about_site {
	width:200px;
	text-align:right;
	font-size:14px;
	line-height:1;
}
.copyright .about_site a {
	color:#fff;
	text-decoration:underline;
}


/*pagetop*/
.pagetop {
	position: fixed;
	display:block;
	background-repeat:no-repeat;
	background-size: contain;
	bottom: 0;
	cursor: pointer;
	transition: transform .3s;
	background-image:url(../img/tmp/pagetop.svg);
	opacity: 1;
	z-index:9;
	width:40px;
	height:40px;
	bottom:58px;
}

.arrow_r_wh,
.arrow_r_blue,
.arrow_l_blue,
.pdf_icon {
	display:inline-block;
	position:relative;
}
.pdf_icon::after {
	content:"PDF";
	font-size:11px;
	display:inline-block;
	background-position: bottom;
	width:30px;
	height:18px;
	background:#fff;
	color:#006fb7;
	font-weight:bold;
	line-height:12px;
	padding:3px 0;
	text-align:center;
	margin-left:7px;
	position:relative;
	top:-3px;
}
/*ボタン*/
a.btn3 {
	text-decoration:none;
	color:#006fb7;
}
a.btn,
a.btn2,
.btn:hover,
.btn2:hover,
.btn3:hover {
	text-decoration:none;
	color:#fff;
}
.btn:hover,
.btn2:hover,
.btn3:hover {
	background-position: bottom center;
}
.btn3:hover {
	border:solid 2px #f2f8fb;
}
.btn {
	width:auto;
	display:inline-block;
	position:relative;
	padding:13px 25px 13px 30px;
	line-height:24px;
	font-size:16px;
	font-weight:bold;
	text-align:left;
	border-radius: 5px;
	background: linear-gradient(to bottom, #328bc5, #0170b7, #006eb5, #004097);
	background-size: 100% 200%;
	background-position: top center;
	transition: background-position 0.3s ease;
}

.btn2 {
	width:auto;
	display:inline-block;
	position:relative;
	padding:13px 25px 13px 25px;
	line-height:24px;
	font-size:16px;
	font-weight:bold;
	text-align:left;
	border-radius: 5px;
	background: linear-gradient(to bottom, #328bc5, #0170b7, #006eb5, #004097);
	background-size: 100% 250%;
	background-position: top center;
	transition: background-position 0.3s ease;
}
.btn3 {
	width:auto;
	display:inline-block;
	position:relative;
	padding:13px 25px 13px 30px;
	line-height:24px;
	font-size:16px;
	font-weight:bold;
	text-align:left;
	border-radius: 5px;
	background: linear-gradient(to bottom, #ffffff, #ffffff, #328bc5, #0170b7);
	background-size: 100% 280%;
	background-position: top center;
	transition: background-position 0.3s ease;
	border:solid 2px #006fb7;
}
.btn span,
.btn2 span,
.btn3 span {
	font-size:14px;
	display:inline-block;
}
.btn3::after {
	content:"";
	position:relative;
	display:inline-block;
	width:18px;
	height:18px;
	margin-left:3px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size: contain;
	top:3px;
}
.btn3.icon_blank::after {
	background-image:url(../img/tmp/blank_blu.svg);
	right: 15px;
	position: absolute;
	top: 20px;
	width:30px;
	height:30px;
}
.btn3.icon_blank:hover::after {
	background-image:url(../img/tmp/blank_wh.svg);
}
.btn3.icon_blank {
	width: auto;
	padding: 13px 65px 13px 15px;
	margin: 0 0 1em;
}
.btn3.icon_blank span {
	display:block;
}
.btn2.icon_down {
	width: auto;
	padding: 13px 10px 13px 65px;
	margin: 0;
	width: 220px;
}

.btn2.icon_down::before {
	content:"";
	
	display:inline-block;
	
	margin-left:3px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size: contain;
	
	
	background-image:url(../img/tmp/download_wh.svg);
	left: 15px;
	position: absolute;
	top: 18px;
	width:36px;
	height:36px;
}
.btn.paren::after {
	content:"";
	position:relative;
	display:inline-block;
	width:18px;
	height:18px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size: contain;
	top:3px;
	
	margin-left:-2px;
}
.btn2.paren::after {
	content:"";
	position:relative;
	display:inline-block;
	width:18px;
	height:18px;
	
	background-repeat:no-repeat;
	background-position:center center;
	background-size: contain;
	top:3px;
	
	margin-left:-2px;
}
.btn3.paren::after {
	margin-left:-2px;
}

/**/
h3.basic {
	font-size:24px;
	font-weight:bold;
	color:#006fb7;
}
h4.basic {
	font-size:20px;
	font-weight:bold;
	color:#000;
}
/*PC/SP*/
.pc {
	display:block;
}
.sp {
	display:none;
}
.pagetop {
	right: 1em;
}
.pagetop:hover {
	background-image:url(../img/tmp/pagetop_on.svg);
}
.copyright .about_site a:hover {
	text-decoration:none;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 1701px) {
  html {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
	/*footer*/
	
	.copyright {
		padding:10px 10px;
		height:116px;
	}
	.copyright p {
		width:100%;
		order:2;
	}
	.copyright p span {
		display:inline-block;
	}
	.copyright p span:last-child {
		display:block;
	}
	.copyright .about_site {
		width:100%;
		text-align:left;
		order:1;
	}
	.copyright .about_site a {
		color:#fff;
		text-decoration:underline;
	}


	/*pagetop*/
	.pagetop {
		right: 0.5em;
	}
	.pagetop.absolute{
		bottom:120px;
	}
	/*PC/SP*/
	.pc {
		display:none;
	}
	.sp {
		display:block;
	}
	
	
	/*ボタン*/
	.btn span {
		display:block;
	}
	.btn.icon_down {
		padding: 13px 40px 13px 10px;
	}
	.btn.icon_down::after {
		right:10px;
	}

}