@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,300&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
}
.bodyLock {
		overflow: hidden
}
body {
		font-size: 16px;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-weight: 500;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
		background: #FAFAFA;
}
h1, h2, h3, h4, h5, h6, p, li, dt, dd {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.container {
		overflow: hidden
}
.desktopHdr_bg {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 96px;
		z-index: 10;
		background: #fff;
		opacity: 0;
		transition: opacity 0.4s;
		pointer-events: none;
		box-shadow: rgba(99, 99, 99, 0.05) 0px 2px 8px 0px;
}
.desktopHdr_bg.isActive {
		opacity: 1;
}
.header_logo {
		width: 254px;
		position: absolute;
		top: 30px;
		left: 40px;
		z-index: 50;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@media(min-width: 1061px) {
		.header_logo {
				position: fixed;
		}
}
.header_logo.isActive {
		transform: translateY(-10px);
}
.header_logo img {
		width: 100%;
		height: auto;
}
.header_global {
		position: fixed;
		top: 30px;
		right: 300px;
		z-index: 100;
		font-size: 16px;
		font-weight: 500;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.header_global.isActive {
		transform: translateY(-20px);
}
.header_global ul {
		display: flex;
		align-items: center;
		list-style: none;
		height: 70px;
}
.header_global ul li {
		font-weight: 500;
		margin-right: 30px;
}
.header_global ul li span {
		display: inline-block;
		position: relative;
}
.header_global ul li span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -6px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		transform-origin: left center;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
@media (hover: hover) {
		.header_global ul li a:hover span::after {
				transform: scaleX(1);
		}
}
.header_global ul li:last-child {
		margin-right: 0;
}
.header_global ul li a {
		color: #fff;
		text-decoration: none;
}
.header_global.isActive ul li a {
		color: #022F7A;
}
.header_global.isActive ul li span::after {
		background: #022F7A;
}
.header_btn {
		width: 220px;
		position: fixed;
		top: 30px;
		right: 40px;
		z-index: 100;
		font-size: 16px;
		font-weight: 600;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.header_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		text-decoration: none;
		height: 68px;
		border-radius: 34px;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		box-sizing: border-box;
		transition: background 0.4s, height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		position: relative;
}
.isActive + .header_btn {
		transform: translateY(-10px);
		transition-delay: 0s !important
}
.isActive + .header_btn a {
		height: 56px
}
.header_btn a span {
		position: relative;
		display: inline-block;
		z-index: 5;
		transform: translateY(-1px);
		padding-right: 15px;
}
.header_btn a span::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: -15px;
		width: 20px;
		height: 20px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 20px;
		background-image: url("../images/header_btn_icon.png")
}
.header_btn a::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(#003186 0%, #092857 100%);
		opacity: 1;
		transition: opacity 0.3s;
		border-radius: 60px;
}
@media (hover: hover) {
		.header_btn a:hover {
				border: 1px solid #082859;
				background: #fff;
				color: #082859;
		}
		.header_btn a:hover::before {
				opacity: 0
		}
		.header_btn a:hover span::after {
				background-image: url("../images/header_btn_icon_blu.png");
		}
}
@media(max-width: 1500px) {
		.header_logo {
				left: 25px;
		}
		.header_global {
				right: 250px;
		}
		.header_global ul li {
				margin-right: 20px;
		}
		.header_btn {
				right: 25px;
				width: 200px;
				font-size: 15px;
		}
		.header_btn a span {
				padding-right: 15px;
		}
		.header_btn a span::after {
				right: -15px;
				width: 20px;
				height: 20px;
				background-size: 20px;
		}
}
@media(max-width: 1200px) {
		.header_logo {
				width: 210px;
				left: 25px;
		}
		.header_global {
				right: 200px;
		}
		.header_global ul {
				height: 48px;
		}
		.header_global ul li {
				font-size: 15px;
				margin-right: 15px;
		}
		.header_btn {
				right: 25px;
				width: 160px;
		}
		.header_btn a {
				height: 48px;
		}
		.header_btn a span {
				padding-right: 15px;
		}
		.header_btn a span::after {
				right: -15px;
				width: 20px;
				height: 20px;
				background-size: 20px;
		}
		.desktopHdr_bg {
				height: 78px;
		}
		.header_logo.isActive {
				transform: translateY(-15px)
		}
		.header_global.isActive {
				transform: translateY(-15px)
		}
		.isActive + .header_btn {
				transform: translateY(-15px)
		}
		.isActive + .header_btn a {
				height: 48px
		}
}
@media(max-width: 1061px) {
		.header_global, .header_btn, .desktopHdr_bg {
				display: none !important
		}
}
@media(max-width: 767px) {
		.header_logo {
				left: 20px;
				top: 25px;
				width: 180px;
		}
		.header_btn {
				width: 150px;
				font-size: 14px;
				right: 20px;
				top: 25px
		}
		.header_btn a {
				height: 44px;
		}
		.header_btn a span {
				padding-right: 15px;
		}
		.header_btn a span::after {
				right: -10px;
				width: 16px;
				height: 16px;
				background-size: 16px;
		}
}
/* ========= */
hgroup {
		display: flex;
		flex-direction: column-reverse;
		margin: 0 0 60px;
}
hgroup .jp {
		font-size: 54px;
		font-weight: 600;
		line-height: 1.6;
}
hgroup .en {
		font-family: "Poppins", sans-serif;
		text-transform: uppercase;
		font-size: 36px;
		font-weight: 700;
		margin: 0 0 15px;
		letter-spacing: 0;
		line-height: 1;
		color: #527DC3;
}
@media(max-width: 1200px) {
		hgroup .jp {
				font-size: 44px;
		}
		hgroup .en {
				font-size: 30px;
				margin: 0 0 5px;
		}
}
@media(max-width: 960px) {
		hgroup {
				margin: 0 0 40px;
		}
		hgroup .jp {
				font-size: 36px;
		}
		hgroup .en {
				font-size: 24px;
		}
}
@media(max-width: 767px) {
		hgroup {
				margin: 0 0 30px
		}
		hgroup .jp {
				font-size: 26px;
		}
		hgroup .en {
				font-size: 16px;
				margin: 0 0 3px;
		}
}
/* ========= */
footer {
		background: #fff;
		padding: 80px 40px;
}
.footer_btn {
		width: 320px;
		font-size: 18px;
		font-weight: 600;
}
.footer_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		text-decoration: none;
		height: 68px;
		border-radius: 34px;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		box-sizing: border-box;
		transition: background 0.4s;
		position: relative;
}
.footer_btn a span {
		transform: translateX(5px) translateY(-1px);
		position: relative;
		z-index: 1;
		padding-right: 24px;
}
.footer_btn a span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		right: 0;
		width: 16px;
		height: 16px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-image: url("../images/icon_blank.png");
		background-size: 16px;
}
.footer_btn a::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(#003186 0%, #092857 100%);
		opacity: 1;
		transition: opacity 0.3s;
		border-radius: 60px;
}
@media (hover: hover) {
		.footer_btn a:hover {
				border: 1px solid #082859;
				background: #fff;
				color: #082859;
		}
		.footer_btn a:hover::before {
				opacity: 0
		}
		.footer_btn a:hover span::after {
				background-image: url("../images/icon_blank_blu.png");
		}
}
@media(max-width: 840px) {
		footer {
				padding: 60px 40px;
		}
}
@media(max-width: 767px) {
		footer {
				padding: 40px 10px 100px;
		}
}
.pagetop {
		font-size: 20px;
		font-family: "Poppins", sans-serif;
		font-weight: 700;
		color: #022F7A;
		cursor: pointer
}
.pagetop span {
		position: relative;
		display: inline-block;
}
.pagetop span::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: -30px;
		width: 17px;
		height: 21px;
		background-image: url("../images/pagetop_arw.png");
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 17px;
}
.pagetop span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -5px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #022F7A;
		transform-origin: left center;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		transition: opacity 0.4s;
}
@media(max-width: 1300px) {
		.pagetop {
				font-size: 18px;
				bottom: 40px;
				right: 40px;
		}
}
@media(max-width: 767px) {
		.pagetop {
				font-size: 14px;
		}
		.pagetop span::before {
				top: 0;
				right: -23px;
				width: 14px;
				height: 17px;
				background-size: 14px;
		}
}
@media (hover: hover) {
		.pagetop:hover span::after {
				opacity: 0
		}
}
/* ============= */
@media(min-width: 1061px) {
		.header_trigger, .global_drawer {
				display: none !important
		}
}
@media(min-width: 768px) {
		.sp_btn_wrap {
				display: none !important
		}
}
@media(max-width: 1060px) {
		.header_trigger {
				position: fixed;
				top: 20px;
				right: 20px;
				border-radius: 50%;
				width: 46px;
				height: 46px;
				background: linear-gradient(#003186 0%, #092857 100%);
				cursor: pointer;
				z-index: 200;
		}
		.header_trigger_in {
				position: relative;
				width: 20px;
				height: 14px;
				margin: 16px auto 0;
		}
		.header_trigger_in .header_trigger_bar {
				position: absolute;
				height: 1px;
				width: 20px;
				background: #fff;
				transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		}
		.header_trigger_in .header_trigger_bar:nth-child(1) {
				top: 0;
		}
		.header_trigger_in .header_trigger_bar:nth-child(2) {
				top: 6.5px
		}
		.header_trigger_in .header_trigger_bar:nth-child(3) {
				top: 13px;
		}
		.triggerOpen .header_trigger_in .header_trigger_bar:nth-child(1) {
				top: 6.5px;
				transform: rotate(45deg)
		}
		.triggerOpen .header_trigger_in .header_trigger_bar:nth-child(2) {
				opacity: 0;
		}
		.triggerOpen .header_trigger_in .header_trigger_bar:nth-child(3) {
				top: 6.5px;
				transform: rotate(-45deg)
		}
		.global_drawer {
				background: #fff;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100vh;
				z-index: 100;
				display: none;
		}
		.drawer_wrap {
				display: flex;
				justify-content: center;
				align-items: center;
				height: 90vh !important;
				background: #fff;
		}
		.drawer_inner ul {
				list-style: none;
				margin: 0 0 40px;
				position: relative;
		}
		.drawer_inner ul li {
				font-size: 20px;
				font-weight: 500;
				margin: 0 0 25px;
		}
		.drawer_inner ul li:last-child {
				margin-bottom: 0;
		}
		.drawer_inner ul li a {
				color: #022F7A;
				text-decoration: none;
				display: inline-block;
				position: relative;
				padding-left: 22px;
		}
		.drawer_inner ul li a::before {
				content: '';
				display: block;
				position: absolute;
				top: calc(50% - 6px);
				left: 0;
				width: 16px;
				height: 13px;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: 16px;
				background-image: url("../images/nav_arw.png")
		}
		.drawer_btn {
				width: 220px;
				font-size: 18px;
				font-weight: 600;
		}
		.drawer_btn a {
				display: flex;
				justify-content: center;
				align-items: center;
				color: #fff;
				text-decoration: none;
				height: 56px;
				border-radius: 60px;
				box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
				box-sizing: border-box;
				transition: background 0.4s;
				position: relative;
		}
		.drawer_btn a::before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: linear-gradient(#003186 0%, #092857 100%);
				opacity: 1;
				transition: opacity 0.3s;
				border-radius: 60px;
		}
		.drawer_btn a span {
				padding-right: 15px;
				position: relative;
				display: inline-block;
				z-index: 2;
				transform: translateY(-2px)
		}
		.drawer_btn a span::after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				right: -10px;
				width: 16px;
				height: 16px;
				background-size: 16px;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-image: url("../images/header_btn_icon.png")
		}
}
@media(max-width: 767px) {
		.header_trigger {
				top: 15px;
				right: 15px;
		}
		.sp_btn_wrap {
				position: fixed;
				left: 0;
				bottom: 0;
				height: 70px;
				width: 100%;
				z-index: 20;
				pointer-events: none;
		}
		.sp_btn {
				width: 80%;
				margin: 0 auto;
				font-size: 16px;
				font-weight: 600;
				display: none;
				pointer-events: auto;
		}
		.sp_btn a {
				display: flex;
				justify-content: center;
				align-items: center;
				height: 48px;
				color: #fff;
				text-decoration: none;
				background: linear-gradient(90deg, #92ac03 0%, #375a00 100%);
				box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.03);
				border-radius: 60px;
				border: 2px solid #6f8c01;
		}
		.sp_btn a span {
				position: relative;
				display: inline-block;
				transform: translateY(-2px);
				padding-right: 15px;
				z-index: 2;
		}
		.sp_btn a span::after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				right: -10px;
				width: 16px;
				height: 16px;
				background-size: 16px;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-image: url("../images/header_btn_icon.png")
		}
}
@media(max-width: 768px) {
		.pcbr {
				display: none
		}
}