@charset "shift-jis";

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap");

*,
*:after,
*:before {
	margin:0;
	padding:0;
	box-sizing:border-box;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	border: 0;
	outline: 0;
	}
:focus,
:active { outline:0;}

html {
	font-size: 62.5%
}
body {
	font: 1.6rem/1.8 "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
	color: #2E404D
}
.onlySP {
	display: none
}

.bodyFixed {
	overflow: hidden
}
.bodyFixed header#header {
	display: block
}
.onlySP02 {
	display: none
}
.onlySP03 {
	display: none
}

.pcNone {
	display: none
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%
}
header#header {
	background: #070F26;
	position: sticky;
	top: 0;
	left: 0;
	padding: 35px 45px;
	z-index: 100000;
display: block;
width: 100%;height: auto;
}
header#header div{
display: block;
}
header#header div img{
padding: 0;
}
.headerLogoImg{ 
width: 400px;
}
header#header .menu-container {
	width: 100%;
	margin: 0 auto;
	pointer-events: auto
}
header#header .menu-container .headerLogo {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px
}
header#header .menu-container .headerLogo .menuContact>a {
	display: block;
	background: #0072BC;
	color: #fff;
	text-decoration: none;
	border-radius: 100px;
	min-width: 124px;
	font-size: 1.4rem;
	position: relative;
	text-align: center;
	padding: 10px 20px;
	line-height: 1em
}
header#header .menu-container .headerLogo .menuContact>a:hover {
	background: #fff;
	color: #070F26;
	opacity: 1;
	filter: alpha(opacity=100)
}
header#header .menu-container .menu>ul {
	margin: 0 auto;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0 40px
}
header#header .menu-container .menu>ul>li>a {
	text-decoration: none;
	display: block;
	width: 100%;
	color: #fff
}
header#header .menu-container .menu>ul>li>a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70)
}
header#header .menu-container .menu>ul>li.menuBtn.menuContact a {
	border-radius: 0
}
header#header .menu-container .menu-mobile {
	display: none
}

.grideWrap{
width: 100%;overflow: hidden;
}

.bodyFixed #footer {
	z-index: -1
}
#footer {
	padding: 90px 0;
	color: #fff;
	position: relative;
	background: #070F26
}
#footer a {
	color: #fff;
	text-decoration: none
}
#footer .contents {
	margin-right: 0;
	margin-left: 0;
	padding: 0 45px;
	width: 100%;
	max-width: 1000px
}
#footer .contents .footerLogo {
	margin-bottom: 40px
}
#footer .contents .footerLogo img{
width: 400px;
}
#footer .contents .footerSitemap {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px 0;
}
#footer .contents .footerSitemap li {
	width: 25%
}
#footer .contents .footerSitemap li a {
	font-size: 1.4rem;
	text-underline-offset: 3px;
font-weight: 400;
}
#footer .contents .footerSitemap li a:hover {
	text-decoration: underline
}
#footer .contents .footerSitemap+.footerSitemap {
	margin-top: 30px;
margin-bottom: 30px;
}
#footer .contents .footerSitemap+.footerSitemap li {
	width: fit-content
}

#footer .contents .footerSitemap+.footerSitemap li a {
	color: #fff;
font-size: 1.2rem;
}
#footer .contents .footerSitemap+.footerSitemap li:not(:last-of-type) {
	margin-right: 30px
}
#footer .contents .copyright {
color: #949494;
	font-size: 1.2rem
}
#footer .contents .copyright p{
margin: 0;
}
.pMark img{ 
width: 85px;
position: absolute;
bottom: 70px;right: 40px;
}

h1.subh1{text-indent: 0;}
.maplink{padding: 0;margin-top: 40px;}
.md_space{width: 100%;}
.md_space .sfont{margin: 0 0 20px;}
.cnTl{width: 100%;}

#service3{margin-top: -150px;padding-top: 150px;}



@media only screen and (max-width:1081px) {
	.pcNone {
		display: inline-block
	}
	.spNone {
		display: none
	}
	.onlySP {
		display: inline-block
	}
	.onlyPC {
		display: none
	}
header#header {
		padding: 15px
	}
	header#header .menu-container .headerLogo {
		margin-bottom: 0
	}
	header#header .menu-container .headerLogo .headerLogoImg img {
		max-width: 220px
	}
	header#header .menu-container .headerLogo .menuContact {
		display: none
	}
	header#header .menu-container .headerLogo .menuEntry {
		display: none
	}
	header#header .menu-container .menu>ul {
		display: none
	}
	header#header .menu-container .menu>ul>li.menuBtn {
		display: block
	}
	header#header .menu-container .menu>ul>li.menuBtn a {
		width: 100%;
		text-align: center;
		background: #0072BC;
		color: #fff;
		border-radius: 100px;
		padding: 10px 0
	}
	header#header .menu-container .menu-mobile {
		display: block;
		width: 40px;
		height: 40px;
		background: url(../img/spBtn.png) center center/40px no-repeat;
		padding: 0;
		position: fixed;
		right: 15px;
		top: 15px;
		z-index: 1000000
	}
	header#header.showMenu .menu-mobile {
		background: url(../img/spBtnC.png) center center/40px no-repeat
	}
	header#header.showMenu .logoImg {
		padding: 18px 0 40px
	}
	header#header.showMenu .logoImg {
		margin-bottom: 0;
		padding: 0
	}
	header#header.showMenu .menu-container {
		position: fixed;
		overflow: scroll;
		min-height: 100vh;
		display: block;
		background: #070F26;
		position: fixed;
		top: 0;
		left: 0
	}
	header#header.showMenu .menu-container .headerLogo {
		margin-top: 15px;
		margin-left: 15px
	}
	header#header .menu-container .headerLogo .headerLogoImg img{
max-height: 42px;
	}
	header#header.showMenu .menu {
		height: 100vh;
		position: relative
	}
	header#header.showMenu .menu>ul {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
		display: block;
		padding: 60px 0 120px;
		margin-bottom: 80px
	}
	header#header.showMenu .menu>ul>li a {
		color: #fff;
		width: 100%;
		display: block;
		position: relative
	}
	header#header.showMenu .menu>ul>li:not(:last-of-type) {
		margin-bottom: 40px
	}
	#footer .contents .footerSitemap+.footerSitemap li {
		margin-top: 30px
	}
	#footer {
		padding: 60px 0
	}
	#footer .contents {
		padding: 0;
		width: 90%;
		margin: 0 auto
	}
	#footer .contents .footerSitemap {
		gap: 20px 0
	}
	#footer .contents .footerSitemap li {
		width: 50%;
	}
#footer .contents .footerSitemap+.footerSitemap{
margin-top: 40px;gap: 10px;
}
#footer .contents .footerSitemap+.footerSitemap li{
margin-bottom: 0;margin-top: 0;
}
#footer .contents .footerSitemap+.footerSitemap li a {
font-size: 1.2rem;
}
.pMark img{ 
position: static;
margin-bottom: 20px;
}

#service3{margin-top: -60px;padding-top: 60px;}

}

@media only screen and (max-width:440px) {
	.onlySP02 {
		display: inline-block
	}
	#footer .contents .footerSitemap+.footerSitemap li {
		width: 100%;
		margin-top: 0
	}
}
@media only screen and (max-width:375px) {
	.onlySP03 {
		display: inline-block
	}
}
