img {
	max-width: 100%;
	height: auto;
}

html {
	position: relative;
	min-width: 1240px;
	width: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 140px;
}
body {
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1.8;
	color:#000000;
	font-size:18px;
	padding:120px 0 0;
}
/*
.wf-loading body {
	opacity: 0;
}
.wf-active body {
	opacity: 1;
	transition: opacity 0.3s ease;
}
*/
@media print {
	a[href]:after {
		content: "" !important;
	}

	abbr[title]:after {
		content: "" !important;
	}
}

a {
	color: #000;
}

a:hover {
	transition: 0.5s;
	color:#3c60fb;
}

a:hover img {
	opacity: 0.7;
	transition: 0.5s;
}

header {
	width:100%;
	min-width: 1240px;
	height:120px;
	border-bottom:2px solid #202777;
	padding:0px 2.35dvw;
	box-sizing:border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position:fixed;
	z-index:10000;
	top:0;
	left:0;
	gap:30px;	
	background:rgba(255,255,255,0.6);
	-webkit-backdrop-filter: blur(5px) brightness(110%);
	backdrop-filter: blur(5px) brightness(110%);
}
header h1{
	flex:none;
}
header h1 a{
	display:flex;
	gap:10px;
	white-space:nowrap;
	font-size:clamp(20px,1.5625dvw,30px);
	text-decoration:none;
}
header h1 img{
	display:block;
	width:clamp(200px,20.8333dvw,400px);
	height:auto;
	object-fit:contain;
}
#gnav{
	display:flex;
	flex-direction:column;
	gap:10px;
	justify-content:center;
	height:100%;
	align-items:flex-end;
}
#gnav ul {
	display: flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	padding:0;
	gap:clamp(20px,1.5625dvw,30px);
}
#gnav ul li a{
	font-size:clamp(18px,1.25dvw,24px);
	display:block;
	padding:0 20px 0 0;
	text-decoration:none;
	white-space:nowrap;
	font-weight:bold;
	line-height:60px;
	overflow:visible;
	background:url('../images/common/arrow1.svg') no-repeat right center;
}
#gnav ul li a:hover {
	text-decoration:underline;
	color:#3c60fb;
}
#gnav5 a{
	background:#202777 !important;
	color:#fff;
	border-radius:10px;
	padding:0 20px !important;
}
#gnav5 a:hover{
	text-decoration:none !important;
	background:#3c60fb !important;
	color:#fff !important;
}
#wrapper {
	padding: 0px 0 0;
}

main {
	line-height: 1.8em;
	position: relative;
	width: 100%;
}
footer {
	border-top:2px solid #202777;
	box-sizing:border-box;
	padding:35px 3% 0px;
	position:relative;
	z-index:3;
}
.footer-inner{
	display:flex;
	max-width:1365px;
	margin:0 auto;
	justify-content:space-between;
	align-items:center;
	position:relative;
}
#footer_l{
	padding:0 0 55px;
}
footer h3{
	font-size:30px;
	display:flex;
	gap:10px;
	align-items:center;
}
footer h3 img{
	display:block;
	width:240px;
}
footer address {
	font-style: normal;
	white-space:nowrap;
}
#fnav ul {
	list-style: none;
	gap:55px;
	padding:0 20px;
	justify-content:space-between;
	margin:50px auto 0;
	display:flex;
	justify-content:space-between;
	border-top:2px solid #202777;
	border-bottom:2px solid #202777;
}
#fnav a {
	text-decoration: none;
	line-height:88px;
}
#fnav a:hover {
	text-decoration: underline;
}
#footer_r{
	width:594px;
	height:463px;
	flex:none;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	background:url('../images/common/bg_footer.webp') no-repeat;
	color:#fff;
	position:absolute;
	bottom:0;
	right:4.4dvw;
}
#footer_r h4{
	font-size:30px;
	margin-bottom:50px;
}
#footer_r strong{
	font-size:24px;
}
#footer_r a{
	display:block;
	width:400px;
	line-height:100px;
	font-size:24px;
	color:#1b1b1b;
	text-decoration:none;
	border-radius:10px;
	text-align:center;
	margin:35px auto 0;
	background:#fff url('../images/common/arrow1.svg') no-repeat center right 20px;
}
#footer_r a:hover{
	color:#fff;
	background:#202777 url('../images/common/arrow2.svg') no-repeat center right 20px;
}

#fBanner{
	list-style: none;
	display: -webkit-box; /* before Android4.3 iOS6:Safari */
	display: -ms-flexbox; /* IE10 */
	display: -webkit-flex; /* Pc-safari */
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-flex-flow: row wrap; /* IE10 */
	-webkit-flex-flow: row wrap; /* Pc-safari */
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin: 20px 0;
}

#fBanner li{
	box-sizing: border-box;
	width: calc(50% - 20px);
	border: 1px solid #999;
}

#fBanner li:first-child{
	margin: 0 20px 0 0;
}

#fBanner li a{
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 48px;
	text-align: center;
	padding: 5px;
	line-height: 1;
}

#fBanner li a img{
	width: auto;
	height: 100%;
}

.gotop {
	width: 50px;
	height: 50px;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 10000;
}
.gotop a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	width: 100%;
	height: 100%;
	border:3px solid #202777;
	box-sizing:border-box;
	border-radius:50%;
	background:#fff;
}
.gotop a:hover{
	background:#202777;
	color:#fff;
}
.gotop img {
	display: block;
}
.copyright{
	margin: 0 auto;
	color:#222;
	font-size:16px;
	text-align:center;
	line-height: 50px;
}
.copyright a{
	color:#222;
	text-decoration:none;
}
.copyright a:hover{
	text-decoration:underline;
}

img.alignleft {
	float: left;
	margin: 0 40px 40px 0;
}

img.alignright {
	float: right;
	margin: 0 0 40px 40px;
}

img.aligncenter {
	display: block;
	margin: 0 auto 20px;
}

figure.alignleft {
	float: left;
	margin: 0 40px 40px 0;
}

figure.alignright {
	float: right;
	margin: 0 0 40px 40px;
}

figure.aligncenter {
	display: block;
	margin: 0 auto 20px;
}

.sp_only {
	display: none;
}