@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap');
/*------------------------------------------------------------
	共通
------------------------------------------------------------*/
.br-tb {
	display: none;
}
.br-sp {
	display: none;
}

@media screen and (max-width:896px) {
	.br-tb {
		display: block;
	}
	.tb-off {
		display: none;
	}
}
@media screen and (max-width:430px) {
	.br-sp {
		display: block;
	}
	.sp-off {
		display: none;
	}
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#header, #footer {
	color: #000AFF;
	font-family: YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans','Noto Sans JP', sans-serif;
	letter-spacing: 0;
}
#header a, #header a:link, #footer a, #footer a:link {
	color: #000AFF !important;
	text-decoration: none;
}

#header {
	position: fixed !important;
	top: 0;
	width: 100%;
	z-index: 100;
}
#header .header_content {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	padding-left: 40px;
}
#header .header_logo h1 {
	font-size: 10px;
	display: flex;
	flex-direction: column;
	font-weight: bold;
}
#header .header_logo h1 span {
	font-size: 25px;
}
#header .header_logo h1 .sp_ttl {
	display: none;
}
#header .header_nav nav ul {
	display: flex;
	align-items: center;
	gap: 35px;
	justify-content: center;
}
#header .header_nav nav ul li a {
	font-weight: bold;
	font-size: 15px;
	
}
#header .hedaer_btn a {
	background-color: #000AFF;
	border-radius: 0 0 0 35px;
	display: grid;
	gap: 5px;
	justify-items: center;
	align-content: center;
	text-align: center;
	color: #fff;
	width: 130px;
	height: 130px;
	font-size: 17px;
}
#header .hedaer_btn a p {
	line-height: 1.3;
	color: #fff;
}
#header .header_sp {
	display: none;
}
#header .header_btn_sp a {
	background-color: #000AFF;
	border-radius: 50vh;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px;
	align-items: center;
	color: #fff;
	padding: 8px 20px;
	font-size: 13px;
}
#header .header_btn_sp a img {
	width: 22px;
}
#header .header_btn_sp a p {
	color: #fff;
	font-size: 13px;
}
#header .zdo_drawer_menu {
	display: none;
}

@media screen and (max-width:1200px) {
	#header .header_nav nav ul {
		gap: 20px;
	}
	#header .header_nav nav ul li a {
		font-size: 13px;
	}
}
@media screen and (max-width:1035px) {
	#header .header_nav, #header .hedaer_btn {
		display: none;
	}
	#header .header_content {
		padding: 20px 65px 20px 15px;
		justify-content: space-between;
		grid-template-columns: auto auto;
	}
	#header .header_sp {
		display: block;
	}
	#header .header_logo h1 {
		font-size: clamp(7px, 2.2vw, 10px);
	}
	#header.sub .header_logo h1 {
		font-size: clamp(6px, 1.9vw, 10px);
	}
	#header .header_logo h1 .pc_ttl {
		display: none;
	}
	#header .header_logo h1 .sp_ttl {
		display: block;
	}
	#header .header_logo h1 span {
		font-size: clamp(20px, 6.5vw, 30px);
		line-height: 1.2;
	}
	#header.sub .header_logo h1 span {
		font-size: clamp(19px, 6.1vw, 30px);
	}
	#header .zdo_drawer_menu {
		display: block;
	}
}
@media screen and (max-width:768px) {
	#header.sub {
		background: none;
		height: auto;
	}
}

/*------------------------------------------------------------
	トップーバナー
------------------------------------------------------------*/
#top_banner {
	margin-top: 100px;
}
#top_banner .top_banner-img img {
	width: 100%;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer {
	margin-top: 0 !important;
}
#footer .footer_content {
	padding: 100px 0;
}
#footer .footer_logo {
	text-align: center;
	margin-bottom: 60px;
}
#footer .footer_logo a h1 {
	font-size: 12px;
	font-weight: bold;
}
#footer .footer_logo a h1 span {
	font-size: 30px;
	line-height: 1.0;
}
#footer .footer_nav {
	max-width: 650px;
	margin: 0 auto;
}
#footer .footer_nav ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px 50px;
}
#footer .footer_nav ul li a {
	font-size: 15px;
}

@media screen and (max-width:896px) {
	#footer .footer_nav ul {
		display: grid;
		grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
		grid-auto-flow: column;
		gap: 20px 50px;
	}
}

/*------------------------------------------------------------
	パンくず
------------------------------------------------------------*/
#container .pankuzu {
	margin-top: 130px;
	border-top: 0;
	background: none;
	padding: 20px 0;
}
#container .pankuzu-content {
	max-width: 1100px;
	width: 95%;
}
@media screen and (max-width:768px) {
	#container .pankuzu {
		margin-top: 90px;
	}
	#container .pankuzu-content {
		width: 100%;
	}
	#container .pankuzu-content p {
		font-size: 11px;
	}
}

/*------------------------------------------------------------
	タイトル
------------------------------------------------------------*/
.sec_ttl {
	background-color: #000AFF;
	margin-bottom: 60px;
}
.sec_ttl .sec_ttl-inner {
	padding: 50px 0;
	text-align: center;
}
.sec_ttl .sec_ttl-inner h1 {
	font-size: clamp(5rem, 12vw, 8rem);
	line-height: 1.0;
	font-family: 'Arial',sans-serif;
	color: #fff;
	letter-spacing: -5px;
}
.sec_ttl .sec_ttl-inner p {
	color: #000AFF;
	font-size: clamp(1.2rem, 3vw, 1.6rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -2px;
	font-family: "M PLUS 2", sans-serif;
}
.sec_ttl .sec_ttl-inner p span {
	background-color: #fff;
	padding: 1px 15px;
	display: inline-block;
}
@media screen and (max-width:768px) {
	.sec_ttl .sec_ttl-inner {
		padding: 40px 0;
	}
}