@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@400;500;600;700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
}
table {
		border-collapse: collapse;
}
@media(max-width: 767px) {
		html.bodyLock {
				overflow: hidden
		}
}
body {
		color: #222;
		background: #fff;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 16px;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
h1, h2, h3, h4, h5, p, li {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.page_shell {
		max-width: 2600px;
		margin: 0 auto;
}
/* ============== */
header {
		position: fixed;
		top: 36px;
		left: 0;
		width: 100%;
		height: 90px;
		z-index: 5000;
		box-sizing: border-box;
		padding: 0 60px;
}
.header_wrap {
		width: 100%;
		margin: 0 auto;
		height: 90px;
		border-radius: 16px;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		padding: 0 35px;
		background: #fff;
}
.header_inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
}
.header_inner nav ul {
		list-style: none;
		display: flex;
		align-items: center;
}
.header_logo {
		width: 143px;
}
.header_logo img {
		width: 100%;
		height: auto;
}
.header_inner nav {
		display: flex;
		align-items: center;
}
.header_inner nav li {
		line-height: 1.4;
		font-weight: 700;
		font-size: 15px;
}
.header_inner nav li a {
		color: #353E4A;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		height: 48px;
		padding: 0 20px;
		border-radius: 6px;
		transition: background 0.2s;
}
@media (hover: hover) {
		.header_inner nav li a:hover {
				background: #E6ECF0;
		}
}
.header_inner nav li a span {
		color: #224BA1;
		font-family: "Poppins";
		font-size: 13px;
}
.headerBtn {
		width: 176px;
		margin-left: 30px;
		font-weight: 600;
		font-size: 15px;
}
.headerBtn a {
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #224ba1;
		border: 1px solid #224ba1;
		border-radius: 10px;
		height: 48px;
		text-decoration: none;
		transition: background 0.2s;
		color: #fff;
}
.headerBtn a span {
		padding-right: 37px;
		position: relative;
		transform: translateY(-1px)
}
.headerBtn a span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 8px);
		right: 0;
		width: 23px;
		height: 17px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 23px;
		background-image: url("../images/headerBtn_mail_wht.png")
}
@media (hover: hover) {
		.headerBtn a:hover {
				background-color: #fff;
				color: #224ba1;
		}
		.headerBtn a:hover span::after {
				background-image: url("../images/headerBtn_mail_blu.png")
		}
}
@media(max-width: 1200px) {
		header {
				top: 20px;
				padding: 0 30px;
		}
}
@media(max-width: 1023px) {
		header {
				top: 20px;
				height: 74px;
		}
		.header_wrap {
				height: 74px;
				padding: 0 20px;
		}
		.header_logo {
				width: 110px;
		}
		.header_inner nav li {
				font-size: 14px;
		}
		.header_inner nav li a span {
				font-size: 12px;
		}
		.header_inner nav li a {
				height: 42px;
				padding: 0 11px;
				border-radius: 4px;
		}
		.headerBtn {
				width: 130px;
				margin-left: 5px;
				font-size: 14px;
		}
		.headerBtn a {
				border-radius: 8px;
				height: 42px;
		}
		.headerBtn a span {
				padding-right: 25px;
		}
		.headerBtn a span::after {
				top: calc(50% - 7px);
				width: 20px;
				height: 15px;
				background-size: 20px;
		}
}
@media(max-width: 767px) {
		header {
				top: 15px;
				padding: 0 10px;
				height: 50px;
		}
		.header_logo {
				width: 100px;
		}
		.header_wrap {
				height: 50px;
				border-radius: 6px;
				padding: 0 15px;
		}
		.header_inner nav {
				display: none
		}
}
/* ============== */
@media(min-width: 768px) {
		.sp_nav {
				display: none;
		}
}
@media(max-width: 767px) {
		.sp_nav, .sp_nav_trigger, .sp_nav_trigger::after {
				width: 36px;
				height: 36px
		}
}
.sp_nav {
		position: fixed;
		right: 17px;
		top: 22px;
		z-index: 5000
}
.sp_nav_trigger {
		background: none;
		border: none;
		cursor: pointer;
		display: inline-block;
		position: relative;
}
.sp_nav_trigger::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background: #224BA1;
		border-radius: 4px;
		pointer-events: none;
		z-index: 1;
		transition: background 0.2s;
}
.sp_nav_trigger.navOpen::after {
		background: #224BA1;
}
.sp_nav_trigger .sp_nav_trigger_bar {
		display: block;
		position: absolute;
		top: 17px;
		left: 8px;
		height: 2px;
		width: 20px;
		background: #fff;
		z-index: 2;
}
.sp_nav_trigger .sp_nav_trigger_bar:first-child, .sp_nav_trigger .sp_nav_trigger_bar:nth-child(2), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
}
.sp_nav_trigger .sp_nav_trigger_bar:first-child {
		top: 12px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(5) {
		top: 17px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
		top: 22px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
		transform: rotate(45deg);
		background: none;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(5) {
		transform: rotate(-45deg);
		background: none;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(4)::before, .sp_nav_trigger .sp_nav_trigger_bar:nth-child(5)::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #fff;
		transform: scaleX(0);
		transform-origin: right center;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(5)::before {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:first-child {
		transform: translateY(7px) scaleX(0);
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(2) {
		opacity: 0;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3) {
		transform: translateY(-7px) scaleX(0);
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before, .sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(5)::before {
		transform: scaleX(1);
}
.navBoard {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 2000;
		display: none;
		box-sizing: border-box;
		padding: 75px 10px 0;
		background: rgba(0, 0, 0, 0.2);
}
.navBoard_inner {
		display: flex;
		justify-content: center;
		align-items: center;
		background: #fff;
		border-radius: 8px;
		height: 500px !important
}
.navBoard_inner_menu li {
		list-style: none;
		line-height: 1.4;
		font-weight: 700;
		font-size: 17px;
		margin: 0 0 15px;
}
.navBoard_inner_menu li a {
		color: #353E4A;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		height: 46px;
		padding: 0;
		border-radius: 4px;
		transition: background 0.2s;
}
@media (hover: hover) {
		.navBoard_inner_menu li a:hover {
				background: #E6ECF0;
		}
}
.navBoard_inner_menu li a span {
		color: #224BA1;
		font-family: "Poppins";
		font-size: 13px;
}
.navBoard_inner .headerBtn {
		width: 240px;
		margin: 30px auto 0;
		font-weight: 600;
		font-size: 16px;
}
.navBoard_inner .headerBtn a {
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #224ba1;
		border: 1px solid #224ba1;
		border-radius: 8px;
		height: 48px;
		text-decoration: none;
		transition: background 0.2s;
		color: #fff;
}
.navBoard_inner .headerBtn a span {
		padding-right: 37px;
		position: relative;
		transform: translateY(-1px)
}
.navBoard_inner a span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 8px);
		right: 0;
		width: 23px;
		height: 17px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 23px;
		background-image: url("../images/headerBtn_mail_wht.png")
}
@media (hover: hover) {
		.navBoard_inner .headerBtn a:hover {
				background-color: #fff;
				color: #224ba1;
		}
		.navBoard_inner .headerBtn a:hover span::after {
				background-image: url("../images/headerBtn_mail_blu.png")
		}
}
/* =========== */
main {
		min-height: 500px;
}
/* =========== */
footer {
		background: #224BA1;
		color: #fff;
		padding: 80px 30px;
}
.footer_inner {
		display: flex;
		justify-content: space-between;
		max-width: 1200px;
		margin: 0 auto 30px;
}
.footer_inner a {
		color: #fff;
		text-decoration: none;
}
.footer_logo {
		width: 190px;
		margin: 0 0 40px;
}
.footer_logo img {
		width: 100%;
		height: auto;
}
.footer_left p {
		line-height: 1.8;
}
.footer_right_upper {
		display: flex;
		margin-bottom: 35px;
}
.footer_right ul {
		list-style: none;
}
.footer_right ul:first-child {
		margin-right: 120px;
}
.footer_right li {
		margin: 0 0 20px;
}
.footer_right li a {
		padding-left: 27px;
		position: relative;
}
.footer_right li a::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6px);
		left: 0;
		width: 14px;
		height: 14px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 14px;
		background-image: url("../images/icon_right_wht.png")
}
.footerBtn {
		width: 230px;
		font-weight: 700;
}
.footerBtn a {
		background: #fff;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 10px;
		height: 60px;
		border: 1px solid #fff;
		transition: background 0.2s;
		color: #224BA1;
}
.footerBtn a span {
		padding-right: 45px;
		position: relative;
}
.footerBtn a span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 9px);
		right: 0;
		width: 23px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 23px;
		background-image: url("../images/icon_mail_blu.png")
}
@media (hover: hover) {
		.footerBtn a:hover {
				background: #224BA1;
				color: #fff;
		}
		.footerBtn a:hover span::after {
				background-image: url("../images/icon_mail_wht.png")
		}
}
p.copyright {
		max-width: 1200px;
		margin: 0 auto;
		font-size: 13px;
		font-family: Arial, Helvetica, "sans-serif";
}
@media(max-width: 960px) {
		footer {
				padding: 60px 30px;
		}
}
@media(max-width: 767px) {
		footer {
				padding: 40px 20px 20px;
		}
		.footer_logo {
				width: 130px;
				margin: 0 0 20px;
		}
		.footer_inner {
				display: block;
				margin-bottom: 40px;
		}
		.footer_left {
				margin-bottom: 30px;
		}
		.footer_left p {
				font-size: 14px;
		}
		.footer_right_upper {
				display: flex;
				justify-content: space-between;
				margin-bottom: 25px;
		}
		.footer_right ul:first-child {
				margin-right: 0;
		}
		.footer_right ul li {
				font-size: 14px;
		}
		.footerBtn {
				max-width: inherit;
				width: 100%;
				margin: 0 auto;
		}
		.footerBtn a {
				height: 50px;
				border-radius: 8px;
		}
		.copyright {
				text-align: center;
		}
}