@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@500;600;700;800&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;
		font-weight: 500;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
}
@media(max-width: 767px) {
		body {
				font-size: 14px;
		}
}
h1, h2, h3, h4, h5, p, li, input, select, td {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.page_shell {
		overflow: hidden
}
/* ============== */
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;
		box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.06);
}
.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;
		margin-left: 10px;
		position: relative;
		display: flex;
		align-items: center;
}
.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 18px;
		border-radius: 60px;
		transition: background 0.2s;
}
#page_toppage .header_inner nav li.mn_top > a, #page_news .header_inner nav li.mn_news > a, #page_about .header_inner nav li.mn_about > a, #page_service .header_inner nav li.mn_service > a, #page_recruit .header_inner nav li.mn_recruit > a {
		color: #fff;
		background: #224BA1;
}
#page_toppage .header_inner nav li.mn_top span, #page_news .header_inner nav li.mn_news > a span, #page_about .header_inner nav li.mn_about > a span, #page_service .header_inner nav li.mn_service > a span, #page_recruit .header_inner nav li.mn_recruit > a span {
		display: none
}
#page_toppage .header_inner nav li.mn_top a div, #page_news .header_inner nav li.mn_news a div, #page_about .header_inner nav li.mn_about a div, #page_service .header_inner nav li.mn_service a div, #page_recruit .header_inner nav li.mn_recruit a div {
		position: relative;
		top: -2px;
}
.header_inner nav li.isOpen > a {
		background-color: #E6ECF0;
}
@media (hover: hover) {
		.header_inner nav li > a:hover {
				background-color: #E6ECF0;
		}
}
.header_inner nav li a span {
		color: #224BA1;
		font-family: "Poppins";
		font-size: 13px;
}
.headerBtn {
		width: 176px;
		margin-left: 20px;
		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: 1500px) {
		header {
				top: 20px;
				padding: 0 30px;
				height: 74px;
		}
		.header_wrap {
				height: 74px;
				padding: 0 20px;
		}
		.headerBtn a {
				border-radius: 8px;
				height: 42px;
		}
}
@media(max-width: 1200px) {
		.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;
		}
		.headerBtn {
				width: 130px;
				font-size: 14px;
		}
		.headerBtn a span {
				padding-right: 25px;
		}
		.headerBtn a span::after {
				top: calc(50% - 7px);
				width: 20px;
				height: 15px;
				background-size: 20px;
		}
}
@media(max-width: 960px) {
		header {
				padding: 0 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 {
		background: #fff;
		border-radius: 8px;
		height: calc(100vh - 200px);
		height: calc(100dvh - 100px) !important;
		overflow: auto;
}
.navBoard_cont {
		padding: 30px 30px 80px
}
.navBoard_inner_menu li, .acc_hd {
		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: flex-start;
		align-items: center;
		text-align: left;
		height: 46px;
		padding: 0;
		border-radius: 60px;
		transition: background 0.2s;
}
.navBoard_inner_menu li > a {
		position: relative;
}
.navBoard_inner_menu li > a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 14px);
		right: 0;
		width: 28px;
		height: 28px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 28px;
		background-image: url("../images/icon_arw_right_blu_56.png");
		pointer-events: none
}
.navBoard_inner_menu .acc_cont li {
		font-size: 15px;
		margin: 0 0 13px;
		text-align: left;
}
.navBoard_inner_menu .acc_cont li a {
		display: block;
		height: auto;
		text-align: left;
		border-radius: 0;
		padding-left: 20px;
}
.navBoard_inner_menu .acc_cont li a::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6px);
		left: 0;
		width: 12px;
		height: 12px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 12px;
		background-image: url("../images/icon_right_blu.png");
}
.navBoard_inner_menu .acc_cont li > a::after {
		display: none
}
.acc_hd {
		display: block;
		cursor: pointer;
		position: relative;
		font-size: 17px;
}
.acc_hd .acc_hd_plus {
		position: absolute;
		width: 24px;
		height: 24px;
		right: 0;
		top: calc(50% - 12px);
		pointer-events: none;
}
.acc_hd_plus::before, .acc_hd_plus::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 12px);
		width: 24px;
		height: 24px;
		border-radius: 6px;
}
.acc_hd_plus::before {
		background: #3356A1;
}
.acc_hd_plus::after {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 24px;
		background-image: url("../images/icon_arw_down_wht_48.png");
}
.isOpen .acc_hd_plus::after {
		background-image: url("../images/icon_arw_up_wht_48.png");
}
.acc_cont {
		transition: height 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
.acc_cont.isClose {
		height: 0;
		overflow: hidden;
}
.acc_cont.isOpen {
		height: auto;
		overflow: visible;
		padding: 0 0 20px
}
/* 
#page_toppage .navBoard_inner_menu li.mn_top a, #page_news .navBoard_inner_menu li.mn_news a, #page_about .navBoard_inner_menu li.mn_about a, #page_service .navBoard_inner_menu li.mn_service a, #page_recruit .navBoard_inner_menu li.mn_recruit a {
		color: #fff;
		background: #224BA1;
}

#page_toppage .navBoard_inner_menu li.mn_top span, #page_news .navBoard_inner_menu li.mn_news span, #page_about .navBoard_inner_menu li.mn_about span, #page_service .navBoard_inner_menu li.mn_service span, #page_recruit .navBoard_inner_menu li.mn_recruit span {
		display: none
}*/
#page_toppage .navBoard_inner_menu li.mn_top div, #page_news .navBoard_inner_menu li.mn_news div, #page_about .navBoard_inner_menu li.mn_about div, #page_service .navBoard_inner_menu li.mn_service div, #page_recruit .navBoard_inner_menu li.mn_recruit div {
		position: relative;
		top: 0px;
}
.navBoard_inner_menu li a span.enTxt, .acc_hd span.enTxt {
		color: #224BA1;
		font-family: "Poppins";
		font-size: 13px;
}
.acc_hd span.enTxt {
		display: inline !important;
		padding: 0;
}
.navBoard_inner .headerBtn {
		width: 240px;
		margin: 50px 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.mail {
		padding-right: 37px;
		position: relative;
		transform: translateY(-1px)
}
.navBoard_inner a span.mail::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: 2.0;
		font-weight: 600;
}
.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 25px;
		}
		.footer_logo {
				width: 130px;
				margin: 0 0 20px;
		}
		.footer_left p {
				font-size: 13px;
		}
		.footer_right ul li {
				font-size: 13px;
		}
		.footer_right li a {
				padding-left: 18px;
		}
		.footer_right li a::before {
				top: calc(50% - 4px);
				width: 12px;
				height: 12px;
				background-size: 12px;
		}
		.footerBtn a {
				height: 50px;
				border-radius: 8px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.footer_inner {
				display: block;
				margin-bottom: 40px;
		}
		.footer_left {
				margin-bottom: 30px;
		}
		.footer_left p {
				font-size: 13px;
		}
		.footer_left p br.extra {
				display: none
		}
		.footer_right_upper {
				display: flex;
				justify-content: space-between;
				margin-bottom: 25px;
		}
		.footer_right ul:first-child {
				margin-right: 0;
		}
		.footerBtn {
				max-width: inherit;
				width: 100%;
				margin: 0 auto;
		}
		.copyright {
				text-align: left;
		}
}
.pagetop {
		max-width: 1200px;
		margin: 0 auto;
		text-align: right;
		font-family: "Poppins";
		font-size: 16px;
		font-weight: 600;
}
.pagetop a {
		color: #fff;
		text-decoration: none;
		display: inline-block;
		position: relative;
		padding-right: 26px;
}
.pagetop a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		right: 0;
		width: 16px;
		height: 14px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 16px;
		background-image: url("../images/pagetop_arw_wht.png")
}
@media(max-width: 767px) {
		.pagetop {
				font-size: 13px;
				margin-top: 15px;
		}
}
/* ==================== */
.menu_parent .subnav {
		z-index: 500;
		overflow: hidden;
		position: absolute;
		width: 190px;
		visibility: hidden;
		top: 34px;
		left: calc(50% - 125px);
		pointer-events: none;
		opacity: 0;
		transition: transform 0.2s cubic-bezier(0.5, 1, 0.89, 1), opacity 0.3s;
		transform: translateY(15px);
		padding: 0 30px 30px;
}
@media(max-width: 1500px) {
		.menu_parent .subnav {
				top: 22px;
		}
}
.menu_parent .subnav.recruit {
		width: 210px;
		left: calc(50% - 135px);
}
.menu_parent .subnav.isOpen {
		opacity: 1;
		transform: translateY(0px);
		visibility: visible;
		pointer-events: auto;
}
.subnav_in {
		background: #fff;
		box-sizing: border-box;
		padding: 20px;
		margin-top: 55px;
		box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
		border-radius: 12px;
		position: relative;
}
.subnav_in::before {
		content: '';
		display: block;
		position: absolute;
		top: -8px;
		left: calc(50% - 10px);
		width: 20px;
		height: 20px;
		background: #fff;
		transform: rotate(45deg)
}
.subnav ul {
		display: block !important;
		text-align: left;
}
.header_inner nav .subnav ul li {
		font-size: 15px;
		margin-left: 0;
		height: auto;
		position: relative;
		display: block;
}
.header_inner nav .subnav ul li.tabletLink {
		display: none
}
@media screen and (orientation: portrait) and (max-width: 960px) {
		a.desktopLink {
				pointer-events: none;
		}
		.header_inner nav .subnav ul li.tabletLink {
				display: block !important
		}
}
@media screen and (orientation: landscape) and (max-width: 1400px) {
		a.desktopLink {
				pointer-events: none;
		}
		.header_inner nav .subnav ul li.tabletLink {
				display: block !important
		}
}
.subnav ul li:last-child {
		margin-bottom: 0;
}
.subnav ul li a {
		position: relative;
		height: auto;
		display: block;
		color: #353E4A;
		padding: 4px 0 !important;
		text-align: left !important;
		transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.subnav ul li a span {
		color: #353E4A;
}
.subnav ul li a::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		left: -18px;
		width: 14px;
		height: 14px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 14px;
		background-image: url("../images/icon_right_blu.png");
		opacity: 0;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
		transition-delay: 0.05s;
		transform: translateX(-10px)
}
@media (hover: hover) {
		.subnav ul li a:hover {
				background-color: transparent;
				transform: translateX(18px)
		}
		.subnav ul li a:hover span {
				color: #224BA1;
		}
		.subnav ul li a:hover::before {
				opacity: 1;
				transform: translateX(0px);
		}
}
/* ==================== */
/* ==================== */ ::selection {
		background: #ccc;
		color: #3356a1;
}
::-moz-selection {
		background: #ccc;
		color: #3356a1;
}
@media(min-width: 1025px) {
		::-webkit-scrollbar {
				width: 5px;
				height: 10px;
		}
		::-webkit-scrollbar-track {
				background-color: #f5f5f5;
		}
		::-webkit-scrollbar-thumb {
				background-color: #3356a1;
		}
}