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

html {
	position: relative;
	min-width: 1280px;
	width: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}

body {
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1.8;
	color:#1b1b1b;
	font-size:18px;
	padding:80px 0 0;
}
@media print {
	a[href]:after {
		content: "" !important;
	}

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

a {
	color: #00b7ee;
}

a:hover {
	transition: 0.5s;
}

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

header {
	min-width: 1280px;
	background: rgba(255,255,255,0.4) url('../images/common/header.webp') repeat-x top center;
	-webkit-backdrop-filter: blur(5px) brightness(110%);
	backdrop-filter: blur(5px) brightness(110%);
	padding:0px 40px 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height:80px;
	width:100%;
	box-sizing:border-box;
	position:fixed;
	z-index:10000;
	top:0;
	left:0;
}

header h1 a{
	display:block;
	height:100%;
}
header h1 a:hover img {
	opacity: 1 !important;
}

header h1 img {
	width:460px;
	display:block;
}
#header_tel{
	color:#fff;
	text-align:right;
	line-height:20px;
	margin-bottom:10px;
}
#gnav{
	height:100%;
}
#gnav ul {
	display: flex;
	padding:0;
	gap:50px;
}
#gnav ul li a{
	font-size:24px;
	display:block;
	line-height:50px;
	text-decoration:none;
	color:#1b1b1b;
}
#gnav ul li a:hover {
	color:#d00a2d;
}
#wrapper {
	padding: 0px 0 0;
}

.more a img {
	vertical-align: middle;
	margin-right: 10px;
}

main {
	line-height: 1.8em;
	position: relative;
	width: 100%;
}

footer {
}
#footer_contact{
	background:#003889;
	color:#fff;
	padding:40px 0 80px;
}
#footer_contact h3{
	font-size:48px;
	text-align:center;
	margin:0 auto 40px;
	font-weight:normal;
}
#footer_contact_inner{
	display:flex;
	gap:40px;
	max-width:1000px;
	margin:0 auto;
}
#footer_contact_l{
	width:calc((100% - 40px) / 2);
	flex:none;
}
#footer_contact_r{
	width:calc((100% - 40px) / 2);
	flex:none;
}
#footer_contact_r ul{
	list-style:none;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:20px;
}
#footer_contact li{
	border:2px solid #fff;
	height:74px;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
}
#footer_tel{
	line-height:1.5em;
	background:url('../images/common/icon_tel.svg') no-repeat left 30px center;
}
#footer_tel strong{
	font-size:30px;
}
#footer_mail a{
	display:block;
	width:100%;
	height:100%;
	line-height:70px;
	font-size:24px;
	color:#1b1b1b;
	text-decoration:none;
	text-align:center;
	background:#fff url('../images/common/icon_mail.svg') no-repeat left 20px center;
	position:relative;
}
#footer_mail a:after{
	content:"";
	width:21px;
	height:21px;
	background:url('../images/common/arrow1.svg') no-repeat center center;
	display:block;
	position:absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto;
}
#footer_mail a:hover{
	color:#fff;
	background:#5e90d8 url('../images/common/icon_mail.svg') no-repeat left 20px center;
}
#footer_access{
	display:flex;
}
#footer_access iframe{
	width:43.75%;
	flex:none;
	display:block;
}
#footer_access_r{
	width:56.25%;
	padding:30px 20px 0 40px;
	box-sizing:border-box;
	flex:none;
	display:flex;
	justify-content:space-between;
}
footer address {
	font-style: normal;
	white-space:nowrap;
}
footer address h3{
	margin:0 auto 40px;
	font-weight:normal;
}
footer address h3 img{
	display:block;
}
footer address p{
	margin-bottom:20px;
}
#fnav {
	text-align:right;
	font-weight:700;
}
#fnav ul {
	list-style: none;
}
#fnav ul li{
	margin-bottom:15px;
}
#fnav a {
	position: relative;
	color: #00388a;
	text-decoration: none;
	line-height: 1.8em;
	display:inline;
}
#fnav a:hover {
	text-decoration: underline;
}


.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%;
	background:#00388a;
	border-radius:10px;
	color:#fff;
	box-shadow:0 0 10px rgba(255,255,255,0.5);
}

.gotop img {
	display: block;
}

.copyright {
	margin: 0 auto;
	text-align: center;
	line-height: 40px;
	background:#003889;
	color:#fff;
	font-size:16px;
}

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;
}