/**********************************************
	ナビボタン
**********************************************/
#naviToggle {
	display:none;
	background-color:rgba(255,255,255,0.75);
}

#naviToggleLine {
	position:relative;
	width:100%;
}

#naviToggleLine span {
	position:absolute;
	display:block;
	margin:0;
	padding:0;
	width:100%;
	height:2px;
	left:0;
	background-color:#00425d;
	-webkit-transition:.3s ease-in-out;
	transition:.3s ease-in-out;
}

#naviToggleLine span:nth-child(1) {
	top:20px;
}

#naviToggleLine span:nth-child(2) {
	top:30px;
	width:80%;
}

#naviToggleLine span:nth-child(3) {
	top:40px;
}

@media screen and (max-width:1023px) {
	#naviToggle {
		display:block;
		position:fixed;
		z-index:1100;
		padding:0 12px;
		top:0.5rem;
		right:0.5rem;
		width:64px;
		height:64px;
		cursor:pointer;
	}
}

/**********************************************
	メインメニュー切り替えアニメーション
**********************************************/
.openMainMenu #naviToggleLine span:nth-child(1) {
	width:80%;
	top:24px;
	left:10%;
	-webkit-transform:rotate(315deg);
	transform:rotate(315deg);
}

.openMainMenu #naviToggleLine span:nth-child(2) {
	width:0;
	left:50%;
}

.openMainMenu #naviToggleLine span:nth-child(3) {
	width:80%;
	top:24px;
	left:10%;
	-webkit-transform:rotate(-315deg);
	transform:rotate(-315deg);
}

.openMainMenu #viewMenu {
	display:block;
	animation:slideInTop 0.3s cubic-bezier(0.33,1,1,1) 1 forwards;
}

/**********************************************
	アニメーション
**********************************************/
@keyframes slideInTop {
	0% {
		opacity:0;
		transform:translateY(-10rem);
	}

	100% {
		opacity:1;
	}
}

/**********************************************
	ヘッダー
**********************************************/
#headerLogo {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:space-between;
	align-items:center;
	position:fixed;
	z-index:2000;
	margin:0;
	padding:0;
	width:calc(100% - 11rem - 2rem);
	top:1rem;
	left:1rem;
}

#headerLogo img {
	width:22rem;
	height:auto;
}

#contactHeaderBlock {
	text-align:center;
	color:#fff;
	text-shadow:1px 1px 1px rgba(0,0,0,1);
}

#contactHeaderText {
	font-size:0.9rem;
	font-weight:700;
}

#contactHeaderAddress {
	margin:0.5rem 0.5rem;
	font-size:1.1rem;
}

#contactHeaderTel {
	font-size:1.9rem;
	font-weight:600;
	font-family:"Oswald";
}

#contactHeaderTel a {
	color:#00425d !important;
}

@media screen and (max-width:1023px) {
	#headerLogo {
		position:fixed;
		top:0.5rem;
		left:1rem;
	}

	#headerLogo img {
		width:auto;
		height:64px;
	}

	#contactHeaderBlock {
		display:none;
	}
}
/**********************************************
	ヘッダーメニュー
**********************************************/
#header {
	display:block;
	position:fixed;
	z-index:1000;
	overflow-y:auto;
	width:11rem;
	height:100vh;
	top:0;
	right:0;
	background-color:#fff;
	-ms-overflow-style:none;
	scrollbar-width:none;
}

#header::-webkit-scrollbar {
  display:none;
}

.headerBack1 {
	background-color:transparent;
}

.headerBack2 {
	background-color:transparent;
}

#headerMenu {
	display:block;
	margin:0 auto;
	padding:0;
	width:100%;
}

#logoBlock {
	z-index:1100;
	padding:2rem 0.5rem;
	background-image:linear-gradient(0deg,rgba(194, 14, 104, 1) 0%, rgba(230, 53, 141, 1) 100%);
}

#logoBlock img {
	width:calc(100% - 1rem);
	height:auto;
}

#viewMenu {
	display:block;
}

@media screen and (max-width:1023px) {
	#header {
		position:fixed;
		width:100%;
		height:calc(64px + 1rem);
		top:0;
		left:0;
		background-color:rgba(0,0,0,0);
	}

	.headerBack1 {
		background-color:rgba(255,255,255,0.5) !important;
	}

	.headerBack2 {
		background-color:#fff !important;
	}

	#headerMenu {
		margin:0;
		padding:0;
		height:64px;
	}

	#logoBlock {
		display:none;
	}

	#viewMenu {
		display:none;
		position:fixed;
		overflow-y:auto;
		width:100%;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-color:#fff;
	}
}

/**********************************************
	メインメニュー
**********************************************/
#mainMenu {
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:flex-start;
	gap:1rem;
	padding:1rem 1rem;
}

#mainMenu div a {
	padding:0.5rem 0;
	text-decoration:none;
	font-size:1rem;
	font-weight:500;
	color:#000;
	-webkit-transition:.1s ease-in-out;
	transition:.1s ease-in-out;
}

#mainMenu div a:hover {
	color:#00628c;
}

#contactMenu {
	padding:0.5rem 0.1rem;
	width:100%;
	background-color:#00628c;
}

#contactMenu a {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:center;
	align-items:center;
	gap:0.25rem;
	font-size:0.85rem !important;
	color:#fff !important;
}

#contactMenu:hover {
	color:#fff;
	background-color:#0099db;
}




@media screen and (max-width:1023px) {
	#mainMenu {
		gap:0.1rem;
		margin-top:calc(64px + 1rem);
	}

	#mainMenu div {
		padding:0rem;
		width:100%;
	}

	#mainMenu div a {
		display:block;
		padding:0.5rem 0;
		width:100%;
		text-align:center;
		font-size:1.1rem;
	}
}

/**********************************************
	PC用とSP用
**********************************************/
.forPC {
	display:inline-block;
}

.forSP {
	display:none;
}

@media screen and (max-width:1023px) {
	.forPC {
		display:none;
	}

	.forSP {
		display:inline-block;
	}
}

/**********************************************
	地図
**********************************************/
#mapArea {
	width:100%;
	position:relative;
	padding-bottom:50vh;
	height:0;
	overflow:hidden;
}

#mapArea iframe {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}

@media screen and (max-width:1023px) {
	#mapArea {
		width:100%;
	}
}

/**********************************************
	問い合わせフッター
**********************************************/
#contactFooter {
}

#contactFooter > a {
	display:block;
	padding:4rem 1rem;
	color:#fff;
	text-decoration:none;
	background-color:#2c2f35;
}

#contactFooter > a:hover {
	color:#fff;
	text-decoration:none;
	background-color:#00425d;
}

#contactFooterTitle {
	margin-bottom:3rem;
	text-align:center;
	font-size:2.5rem;
	font-weight:200;
}

#contactFooterHeader {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:center;
	align-items:center;
	gap:3rem;
}

.contactFooterInner {
}

#contactFooterTelNo {
	text-align:center;
	font-family:"Oswald";
	font-size:2rem;
	font-weight:600;
	letter-spacing:0.2rem;
}

#contactFooterTelNo a {
	color:#fff;
}

.contactFooterText {
	text-align:center;
}

#contactFooterForm {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:center;
	align-items:center;
	width:5rem;
	height:5rem;
	background-color:#fff;
	border-radius:200rem;
}

#contactFooterForm i {
	font-size:3rem;
	color:#2c2f35;
}

@media screen and (max-width:1023px) {
	#contactFooterHeader {
		display:flex;
		flex-direction:column;
		flex-wrap:wrap;
		justify-content:flex-start;
		align-items:center;
	}

	.contactFooterInner {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
		justify-content:center;
		align-items:center;
		width:100%;
	}
}

/**********************************************
	フッター
**********************************************/
#footer {
	color:#fff;
	background-color:#00628c;
}

#footerInner {
	margin:0 auto;
	padding:2rem;
	max-width:1280px;
}

.footerInnerItem {
	width:100%;
}

.footerInnerItem a:hover {
	text-decoration:none;
}

#footerCorp {
	margin-bottom:1rem;
	text-align:center;
}

#footerCorp img {
	width:20rem;
	height:auto;
}

#footerCorpName {
	margin-bottom:0.5rem;
	text-align:center;
	font-size:1.4rem;
	font-weight:700;
}

.corpInfo {
	margin-bottom:0.5rem;
	text-align:center;
	white-space:nowrap;
	font-size:0.96rem;
}

.corpTel {
	margin-bottom:1rem;
	text-align:center;
	white-space:nowrap;
	font-family:"Oswald";
	font-size:1.35rem;
}

.corpTel a {
	color:#fff;
}

#footerMenu {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	gap:1rem;
	margin-bottom:2rem;
}

#footerMenu div a {
	text-decoration:none;
	font-size:0.9rem;
	color:#fff;
}

#footerMenu div a:hover {
	color:#ffdce3;
}

@media screen and (max-width:1023px) {
	#footer {
		padding-bottom:40px;
	}

	#footerInner {
		display:block;
		margin:0 auto;
		padding:4rem 0 1rem 0;
		text-align:center;
	}

	.footerInnerItem {
		width:100%;
	}
}

/**********************************************
	ページトップ
**********************************************/
#pageTop a {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:center;
	align-items:center;
	position:fixed;
	z-index:800;
	width:51px;
	height:51px;
	bottom:1rem;
	right:12rem;
	text-decoration:none;
	font-size:2rem;
	color:#fff;
	background-color:#00425d;
}

#pageTop a:hover {
	background-color:#2c2f35;
}

@media screen and (max-width:1023px) {
	#pageTop a {
		right:1rem;
	}
}
