@charset "utf-8";
body {
	font-family: "ヒラギノ角ゴ ProN" , "MS Pゴシック" , "Helvetica" , sans-serif;
}
#wrapper {
	overflow: hidden;
}
a {
	color: #212121;
}
a:hover {
	text-decoration: underline;
}

.sp_tb {
	display: none!important;
}
.sp_only {
	display: none!important;
}
.tb_only {
	display: none!important;
}
.tips_box {
	text-align: center;
}
.ttl_tips {
	font-size: 48px;
	font-weight: 600;
	line-height: 1.5;
}
.tips_box span {
	font-size: 16px;
	display: inline-block;
	width: 100%;
	color: #2789CB;
	font-family: "Oswald";
	letter-spacing: 1px;
}
.flex_box {
	display: flex;
}
.subTtl_tips {
	font-size: 28px;
	font-weight: 600;
	line-height: 1.7142;
	margin-top: 45px;
}
.txt_tips {
	margin-top: 80px;
}
.tips_menu {
	width: 100%;
	background-color: #E9F3FA;
	display: flex;
	height: 80px;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	/* left: 0; */
	/* transform: translateX(-50%); */
}
	.tips_menu li {
		display: flex;
		/*max-width: 200px;*/
		max-width: 210px;
		width: 100%;
		height: 40px;
		align-items: center;
		border: 1px solid #2789CB;
		border-radius: 50px;
		background-color: #fff;
		cursor: pointer;
		/* transform: scale(0.8, 1); */
	}

		.tips_menu li + li {
			margin-left: 20px;
		}
		.tips_menu li span {
			font-size: 14px;
			display: inline-block;
			width: 100%;
		}
		.tips_menu li select {
			border: none;
			background-color: transparent;
			font-size: 13px;
			font-weight: 600;
			color: #2789CB;
			transform: translateX(-5px);
			padding: 5px;
			cursor: pointer;
		}
			.tips_menu li select:focus-visible {
				outline: none;
			}
			.tips_menu li a {
				position: relative;
			}
				.tips_menu li a:after {
					content: "";
					position: absolute;
					top: 5px;
					right: -23px;
					background-image: url(../img/pc/arrow_b.svg);
					background-repeat: no-repeat;
					width: 15px;
					height: 10px;
				}
				.tips_menu li a:hover {
					color: #2789CB;
				}
			.tips_menu li .category {
				width: 160px;
				/* display: inline-block; */
				margin-left: 10px;
				transform: scale(.8, 1);
			}
			.tips_menu li .date {
				margin-left: 47px;
				width: 90px;
				display: inline-block;
				transform: scale(.9, 1);
			}
.btn_l {
	margin: 0 auto;
	max-width: 400px;
	height: 60px;
}
	.btn_l a {
		display: inline-block;
		width: 100%;
		height: 60px;
		line-height: 60px;
		border: 1px solid #2789CB;
		background-color: #fff;
		border-radius: 50px;
		text-align: center;
		position: relative;
		z-index: 9999;
		transition: .3s;
		font-weight: 600;
	}
		.btn_l a:hover {
			transition: .3s;
			text-decoration: none;
			background-color: #2789CB;
			color: #fff;
		}
		.btn_l a:after {
			content: "";
			position: absolute;
			top: 23px;
			right: 40px;
			background-image: url(../img/pc/arrow_r.svg);
			background-repeat: no-repeat;
			background-size: contain;
			width: 7px;
			height: 12px;
		}
		.btn_l a:hover:after {
			background-image: url(../img/pc/arrow_r_w.svg);
		}

.btn_s {
	max-width: 200px;
	width: 100%;
	height: 40px;
	margin: 0 auto;
}
	.btn_s a {
		display: inline-block;
		width: 100%;
		height: 40px;
		line-height: 39px;
		background-color: #fff;
		border: 1px solid #2789CB;
		border-radius: 50px;
		font-size: 14px;
		font-weight: 600;
		transition: .3s;
	}
		.btn_s a:hover {
			transition: .3s;
			text-decoration: none;
			background-color: #2789CB;
			color: #fff;
		}
		.btn_s a:after {
			content: "";
			position: absolute;
			top: 14px;
			right: 17px;
			background-image: url(../img/pc/arrow_r.svg);
			background-repeat: no-repeat;
			background-size: contain;
			width: 7px;
			height: 12px;
		}
		.btn_s a:hover:after {
			background-image: url(../img/pc/arrow_r_w.svg);
		}


.breadcrumbs {
	position: absolute;
	top: 0;
	left: 0;
	transform: rotate(90deg);
	transform-origin: 0% 0%;
	margin-left: 110px;
	font-size: 12px;
}
	.breadcrumbs .single_inner {
	    max-width: 245px;
	    white-space: nowrap;
	    overflow: hidden;
	    text-overflow: ellipsis;
	}
	.breadcrumbs span {
		font-size: 12px;
	}
		.breadcrumbs span + span {
			padding-left: 6px;
		}
		.breadcrumbs span a {
			/*text-decoration: underline;*/
			margin-right: 15px;
		}
			.breadcrumbs span a:hover {
				color: #2789CB;
				text-decoration: underline;
			}
		.breadcrumbs span .current-item {
			/*margin-left: 10px;*/
			color: #212121;
		}
.breadcrumbs .pankuzu_arrow {
	position: relative;
}
.breadcrumbs .pankuzu_arrow.second {
    margin-right: 8px;
}
	.breadcrumbs .pankuzu_arrow:after {
		content: "";
		position: absolute;
		top: 0px;
		right: 4px;
		background-image: url(../img/pc/arrow_r.svg);
		background-repeat: no-repeat;
		width: 7px;
		height: 12px;
	}
.breadcrumbs span[property="name"] {
	display: inline-block;
	padding: 0;
	margin-top: -3px;
	vertical-align: middle;
	max-width: 125px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
	.breadcrumbs span a:hover span {
		text-decoration: underline;
	}
.i_block {
	position: relative;
}
	.i_block:before {
		content: "";
		position: absolute;
		top: 5px;
		left: -44px;
		background-image: url(../img/pc/i_block.svg);
		background-repeat: no-repeat;
		width: 20px;
		height: 20px;
	}
.section .tips_menu {
	margin-bottom: 50px;
}
	.section .tips_menu .inner {
		position: relative;
	}
		.section .tips_menu .inner:after {
			content: "";
			position: absolute;
			top: 10px;
			right: -22px;
			background-image: url(../img/pc/arrow_b.svg);
			background-repeat: no-repeat;
			/*background-color: #E9F3FA;*/
			background-size: 12px;
			width: 17px;
			height: 11px;
		}
		.section .tips_menu .inner .link_menu {
			cursor: pointer;
			background-color: transparent;
			border: transparent;
			display: inline-block;
			position: relative;
		}
			.section .tips_menu .inner .link_menu:focus-visible {
				outline: none;
				border: transparent;
			}
.wave_inner {
	position: relative;
}
	.wave_inner:before,
	.wave_inner:after {
		content: "";
		position: absolute;
		background-image: url(../img/pc/wave.svg);
		background-repeat: no-repeat;
		background-size: contain;
		max-width: 800px;
		width: 41.6667%;
		height: 230px;
		/*z-index: -1;*/
	}
	.wave_inner:before {
		top: 0;
		left: 0;
	}
	.wave_inner:after {
		bottom: 0;
		right: 0;
	}

/*ヘッダー*/
#header {
	height: 120px;
	display: flex;
}
	#header .h_inner {
		display: flex;
		align-items: center;
		width: 100%;
		justify-content: space-between;
		position: fixed;
		background-color: #fff;
		z-index: 99999;
	}
		#header .h_inner .site-title {
			padding-left: 48px;
			max-width: 460px;
			width: 23.9584%;
		}
			#header .h_inner .site-title span {
				display: none;
			}
		#header .h_inner .global_nav {
			padding-right: 40px;
			max-width: 1460px;
			width: 76.0417%;
		}
			#header .h_inner .global_nav .menu_list {
				display: flex;
				justify-content: flex-end;
				height: 120px;
				align-items: center;
			}
				#header .h_inner .global_nav .menu_list li {
					/*margin-right: 5.6338%;*/
					margin-right: 5.5833%;
					display: flex;
					align-items: center;
					height: 120px;
					border-top: 4px solid #ffffff;
					padding-left: 8px;
					padding-right: 8px;
					font-weight: 600;
				}
					#header .h_inner .global_nav .menu_list li a:hover {
						color: #2789CB;
					}
				#header .h_inner .global_nav .menu_list li.current {
					border-top: 4px solid #2789CB;
				}
					#header .h_inner .global_nav .menu_list li.current a {
						color: #2789CB;
					}
				#header .h_inner .global_nav .menu_list li.contact_btn {
					margin-right: 0;
					max-width: 320px;
					width: 100%;
					text-align: center;
					box-sizing: content-box;
					padding-left: 0;
					padding-right: 0;
				}
					#header .h_inner .global_nav .menu_list li.contact_btn a {
						display: inline-block;
						width: 100%;
						height: 60px;
						line-height: 60px;
						background-color: #2789CB;
						border-radius: 50px;
						color: #fff;
						position: relative;
						letter-spacing: -0.8px;
						padding-right: 20px;
						font-weight: 600;
					}
						#header .h_inner .global_nav .menu_list li.contact_btn a:hover {
							text-decoration: none;
							opacity: .8;
						}
						#header .h_inner .global_nav .menu_list li.contact_btn a:after {
							content: "";
							position: absolute;
							top: 23px;
							right: 20px;
							background-image: url(../img/pc/arrow_r_w.svg);
							background-repeat: no-repeat;
							width: 7px;
							height: 12px;
						}
ul.sub_list {
	display: none;
}

@media screen and (max-width:1440px) { 
	#header .h_inner .global_nav .menu_list li {
		margin-right: 3%;
	}
}


/*============
 #footer
============*/
#footer {}
	#footer .f_contact {
		padding-top: 160px;
		padding-bottom: 230px;
		max-width: 1200px;
		margin: 0 auto;
	}
		#footer .f_contact .txt_tips a {
			border-bottom: 1px solid #212121;
		}
			#footer .f_contact .txt_tips a:hover {
				color: #2789CB;
				border-bottom: 1px solid #2789CB;
				text-decoration: none;
			}
		#footer .f_contact .flex_box {
			display: flex;
			margin-top: 100px;
			justify-content: space-between;
		}
			#footer .f_contact .flex_box .tel_box {
				max-width: 600px;
				width: 50%;
				text-align: center;
			}
				#footer .f_contact .flex_box .tel_box .inner {
					max-width: 420px;
				}
					#footer .f_contact .flex_box .tel_box .icon_tel {
						display: inline-block;
					}
					#footer .f_contact .flex_box .tel_box .txt_tel {
						margin-top: 20px;
					}
					#footer .f_contact .flex_box .tel_box .tel {
						font-size: 48px;
						margin-top: 5px;
						font-weight: 600;
					}
					#footer .f_contact .flex_box .tel_box .uketuke {
						margin-top: 20px;
						font-weight: 600;
					}
			#footer .f_contact .flex_box .contact_box {
				max-width: 600px;
				width: 50%;
				text-align: center;
				border-left: 1px solid #B7B7B7;
			}
				#footer .f_contact .flex_box .contact_box .inner {
					max-width: 410px;
					margin: 0 0 0 auto;
				}
					#footer .f_contact .flex_box .contact_box .icon_mail {
						display: inline-block;
					}
					#footer .f_contact .flex_box .contact_box .txt_contact {
						margin-top: 20px;
					}
					#footer .f_contact .flex_box .contact_box .contact {
						font-size: 32px;
						margin-top: 17px;
						font-weight: 600;
					}
						#footer .f_contact .flex_box .contact_box .btn_l {
							margin-top: 25px;
						}
	#footer .f_box {
		background-color: #212121;
	}
		#footer .f_box .page_top {
			text-align: center;
		}
			#footer .f_box .page_top a {
				width: 80px;
				height: 80px;
				border-radius: 80px;
				background-color: #2789CB;
				margin: 0 auto;
				transform: translateY(-40px);
				position: relative;
				display: inline-block;
				transition: .3s;
			}
				#footer .f_box .page_top a:hover {
					opacity: .8;
					text-decoration: none;
					transition: .3s;
				}
				#footer .f_box .page_top a:before {
					content: "";
					position: absolute;
					top: 32px;
					right: 29px;
					background-image: url(../img/pc/arrow_t.svg);
					background-repeat: no-repeat;
					background-size: cover;
					width: 23px;
					height: 13px;
					transition: .3s;
				}
		#footer .f_box .inner {
			max-width: 1000px;
			margin: 0 auto;
			padding-top: 0;
			padding-bottom: 60px;
			display: flex;
		}
			#footer .f_box .inner .f_box01 {
				max-width: 280px;
				width: 100%;
				padding-right: 60px;
				box-sizing: content-box;
			}
				#footer .f_box .inner .f_box01 .f_ttl {
					height: 50px;
				}
				#footer .f_box .inner .f_box01 .address {
					color: #fff;
					padding-top: 24px;
				}
			#footer .f_box .inner ul.f_list {
				display: flex;
				width: 100%;
			}
				#footer .f_box .inner ul li {
					display: block;
				}
				#footer .f_box .inner ul li.f_box2 {
					max-width: 200px;
					width: 100%;
					padding-right: 40px;
					box-sizing: content-box;
				}
					#footer .f_box .inner ul li.f_box2 a {
						display: inline-block;
						width: 100%;
					}
						#footer .f_box .inner ul li.f_box2 a span {
							display: inline-block;
							border-bottom: 1px solid #707070;
							width: 100%;
							padding-bottom: 22px;
							font-weight: 600;
						}
							#footer .f_box .inner ul li.f_box2 a span:hover {
								text-decoration: underline;
							}
				#footer .f_box .inner ul li.f_box3 {
					max-width: 240px;
					width: 100%;
					padding-right: 35px;
					box-sizing: content-box;
				}
					#footer .f_box .inner ul li.f_box3 a {
						display: inline-block;
						width: 100%;
					}
						#footer .f_box .inner ul li.f_box3 a span {
							display: inline-block;
							border-bottom: 1px solid #707070;
							width: 100%;
							padding-bottom: 22px;
							font-weight: 600;
						}
							#footer .f_box .inner ul li.f_box3 a span:hover {
								text-decoration: underline;
							}
						#footer .f_box .inner ul li.f_box3 ul {
							display: flex;
							flex-wrap: wrap;
						}
							#footer .f_box .inner ul li.f_box3 ul li {
								width: 50%;
							}
							#footer .f_box .inner ul li.f_box3 ul li:nth-child(2) {
								padding-top: 0;
							}
							#footer .f_box .inner ul li.f_box3 ul.pc_tb li:nth-child(even) {
								width: 45.8334%;
							}
							#footer .f_box .inner ul li.f_box3 ul.pc_tb li:nth-child(odd) {
								width: 54.1667%;
							}
				#footer .f_box .inner ul li.f_box4 {
					max-width: 145px;
					width: 100%;
				}
					#footer .f_box .inner ul li.f_box4 ul {
						padding-left: 0;
						font-weight: 600;
					}
						#footer .f_box .inner ul li.f_box4 ul li + li {
							margin-top: 20px;
						}
					#footer .f_box .inner ul li a {
						color: #fff;
						font-size: 14px;
					}
					#footer .f_box .inner ul .sub_list {
						display: block;
						padding-top: 22px;
					}
						#footer .f_box .inner ul .sub_list li + li {
							padding-top: 10px;
						}
							#footer .f_box .inner ul .sub_list li a {
								font-size: 12px;
								position: relative;
								padding-left: 20px;
							}
								#footer .f_box .inner ul .sub_list li a:before {
									content: "";
									position: absolute;
									top: 4px;
									left: 0;
									background-image: url(../img/pc/arrow_r.svg);
									background-repeat: no-repeat;
									width: 7px;
									height: 12px;
								}
	#footer .copyright {
		background-color: #212121;
		color: #fff;
		text-align: center;
		padding-bottom: 40px;
		font-size: 12px;
		font-family: 'Oswald';
	}



/*ハンバーガーボタン*/
.burger-btn {
	display: block;
	width: 20px;
	height: 20px;
	position: fixed;
	z-index: 9999;
	top: 23px;
	right: 8%;
	cursor: pointer;
	transition: .3s;
}
.burger-btn:hover {
	transition: .3s;
}
.bar {
	width: 20px;
	height: 4px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	background-color: #212121;
	transition: .3s;
}    
.bar_top {
	top: 0px;
}
.bar_mid {
	top: 50%;
	transform: translate(-50%,-50%);
}
.bar_bottom {
	bottom: 0px;
}
.burger-btn.close .bar_top {
	transform: translate(-50%,8px) rotate(45deg);
	transition: transform .3s;
}
.burger-btn.close .bar_mid {
	opacity: 0;
	transition: opacity .3s;
}
.burger-btn.close .bar_bottom {
	transform: translate(-50%,-8px) rotate(-45deg);
	transition: transform .3s;
}
.nav-wrapper{
	transform: translateX(100%);
	transition: .5s;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999;/*キービジュアルと.btn_triggerとの重なりの前後関係を調整*/
}
.nav-wrapper.slide-in{
  transform: translateX(0);
  transition: .5s;
}
.burger-btn.close .bar {
	background-color: #fff;
}

/*=グローバルメニュー=*/
#header #sp_nav,
#header .burger-btn {
	display: none;	
}

@media screen and (max-width:1024px) {
	#header .burger-btn {
		z-index: 9999999;
	}
	#header #sp_nav {
		z-index: 999999;
	}
	#header #sp_nav,
	#header .burger-btn {
		display: block;
		overflow-y: scroll;
		max-width: 599px;
	}
	#sp_nav  {
		background-color: #212121;
		padding-top: 70px;
		padding-bottom: 0;
		display: block;
	}
		#sp_nav ul.sp_list {
			display: block;
		}
			#sp_nav ul li.sp_box1 {
				max-width: 599px;
				padding-right: 0;
				box-sizing: border-box;
			}
				#sp_nav ul li.sp_box1 a {
					display: inline-block;
					width: 100%;
				}
					#sp_nav ul li.sp_box1 a span {
						border-top: 1px solid #707070;
						padding-top: 25px;
						padding-bottom: 25px;
						padding-left: 8%;
						padding-right: 8%;
						display: inline-block;
						width: 100%;
						color: #fff;
						font-weight: 14px;
					}
			#sp_nav ul li.sp_box2 {
				max-width: 599px;
				padding-right: 0;
				box-sizing: border-box;
			}
				#sp_nav ul li.sp_box2 a {
					display: inline-block;
					width: 100%;
				}
					#sp_nav ul li.sp_box2 a span {
						border-top: 1px solid #707070;
						padding-top: 25px;
						padding-bottom: 25px;
						padding-left: 8%;
						padding-right: 8%;
						display: inline-block;
						width: 100%;
						color: #fff;
						font-size: 14px;
					}
						#sp_nav ul li.sp_box2 .sub_list li:nth-child(3n+1) {
							width: 39.0625%;
						}
						#sp_nav ul li.sp_box2 .sub_list li:nth-child(3n+2) {
							width: 35.375%;
						}
						#sp_nav ul li.sp_box2 .sub_list li:nth-child(3n+3) {
							width: 26.5625%;
						}
			#sp_nav ul li.sp_box3 {
				max-width: 599px;
				padding-right: 0;
				box-sizing: border-box;	
			}
				#sp_nav ul li.sp_box3 a {
					display: inline-block;
					width: 100%;
				}
					#sp_nav ul li.sp_box3 a span {
						border-top: 1px solid #707070;
						padding-top: 25px;
						padding-bottom: 25px;
						padding-left: 8%;
						padding-right: 8%;
						display: inline-block;
						width: 100%;
						color: #fff;
						font-size: 14px;
					}
				#sp_nav ul .sub_list ul.sub02_list {
					display: flex;
				}
					#sp_nav ul li.sp_box3 ul li {
						width: 100%;
					}
					#sp_nav ul li.sp_box3 ul li.mt_30 {
						margin-top: 30px;
					}
						#sp_nav ul li.sp_box3 .sub_list li .sub02_list li:nth-child(3n+1) {
							width: 39.0625%;
						}
						#sp_nav ul li.sp_box3 .sub_list li .sub02_list li:nth-child(3n+2) {
							width: 36.375%;
						}
						#sp_nav ul li.sp_box3 .sub_list li .sub02_list li:nth-child(3n+3) {
							width: 24.5625%;
						}
			#sp_nav ul li.sp_box4 {
				max-width: 599px;
				padding-right: 0;
			}
			#sp_nav ul .sub_list {
				border-top: 1px solid #707070;
				padding-top: 30px;
				padding-bottom: 35px;
				display: flex;
				padding-left: 8%;
				padding-right: 8%;
			}
				#sp_nav ul .sub_list li + li {
					padding-top: 0;
				}
				#sp_nav ul .sub_list li a {
					padding-left: 17px;
					color: #fff;
					font-size: 12px;
					position: relative;
				}
					#sp_nav ul .sub_list li a:before {
						content: "";
						position: absolute;
						top: 3px;
						left: 0;
						background-image: url(../img/pc/arrow_r.svg);
						background-repeat: no-repeat;
						width: 7px;
						height: 12px;
					}
			#sp_nav ul li.sp_box4 ul.sp_flex {
				display: flex;
			}
				#sp_nav ul li.sp_box4 ul.sp_flex li {
					width: 50%;
				}
				#sp_nav ul li.sp_box4 ul.sp_flex li + li {
					margin-top: 0;
				}
					#sp_nav ul li.sp_box4 ul.sp_flex li ul {
						padding-left: 0;
					}
						#sp_nav ul li.sp_box4 ul.sp_flex li ul li {
							width: 100%;
							padding-left: 8%;
							padding-top: 25px;
							padding-bottom: 25px;
							border: 1px solid #707070;
						}
						#sp_nav ul li.sp_box4 ul.sp_flex li ul li.sp_lt {
							border-left: none;
							border-bottom: none;
							padding: 0;
						}
						#sp_nav ul li.sp_box4 ul.sp_flex li ul li.sp_lb {
							border-left: none;
							padding: 0;
						}
						#sp_nav ul li.sp_box4 ul.sp_flex li ul li.sp_rt {
							border-bottom: none;
							border-right: none;
							border-left: none;
							padding: 0;
						}
						#sp_nav ul li.sp_box4 ul.sp_flex li ul li.sp_rb {
							border-right: none;
							border-left: none;
							padding: 0;
						}
							#sp_nav ul li.sp_box4 ul.sp_flex li ul li a {
								color: #fff;
								font-size: 14px;
								padding-top: 25px;
								padding-bottom: 25px;
								padding-left: 16%;
								display: inline-block;
								width: 100%;
							}
			#sp_nav ul li.sp_box5.contact_btn {
				margin: 60px auto 100px;
				max-width: 320px;
				width: 100%;
				text-align: center;
			}
				#sp_nav ul li.sp_box5.contact_btn a {
					display: inline-block;
					width: 100%;
					height: 60px;
					line-height: 60px;
					background-color: #2789CB;
					border-radius: 50px;
					color: #fff;
					position: relative;
					padding-right: 15px;
				}
					#sp_nav ul li.sp_box5.contact_btn a:after {
						content: "";
						position: absolute;
						top: 23px;
						right: 20px;
						background-image: url(../img/pc/arrow_r_w.svg);
						background-repeat: no-repeat;
						width: 7px;
						height: 12px;
					}
}


/*===================
  fade-in
====================*/
.fi {
  opacity: 0;
  transition-duration: 1500ms;
  transition-property: opacity, transform;
  transform: translate(0, 50px)
}
.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}

@media screen and (max-width:599px) { 
	.fi {
		transition-duration: 1000ms;
		transform: translate(0, 30px)
	}
	.scroll-in {
		transform: translate(0, 0);
	}
}

/*===================
  電話番号リンクをスマホのみ有効にする方法
====================*/
@media (min-width: 1024px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}