@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300..700&family=Noto+Sans+JP:wght@300..700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
table {
		border-collapse: collapse;
}
img {
		border: none;
		vertical-align: top;
}
.clear {
		clear: both;
}
body {
		background: #F7FAFF;
		font-family: "Roboto", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-size: 16px;
		color: #222;
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
		.bodyLock {
				overflow: hidden
		}
}
h1, h2, h3, h4, h5, h6 {
		font-weight: normal;
}
h1, h2, h3, h4, h5, p, li, dt, dd, td {
		font-feature-settings: "palt";
		letter-spacing: 0.08em;
}
.page_shell {
		overflow-x: clip;
}
header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 5000;
		padding: 0px 40px;
		box-sizing: border-box;
		height: 100px;
		transition: height 0.7s cubic-bezier(0.16, 1, 0.3, 1);
		display: flex;
		align-items: center
}
header.isShort {
		height: 70px;
}
header::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #F7FAFF;
		transition: opacity 0.6s;
		opacity: 0;
}
header.isShort::before {
		opacity: 1
}
.header_inner {
		padding: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		z-index: 2;
		width: 100%;
}
.header_logo {
		width: 155px;
}
@media(max-width: 767px) {
		.header_logo {
				width: 120px;
		}
}
.header_logo img {
		width: 100%;
		height: auto
}
header nav {
		display: flex;
		align-items: center;
		position: relative;
}
nav ul {
		list-style: none;
		display: flex;
		align-items: center;
}
nav li {
		font-family: 'Inter', sans-serif;
		margin-left: 30px;
		letter-spacing: 0.03em;
		color: #ccc;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 70px;
}
nav li a {
		color: #272B31;
		text-decoration: none;
		transition: color 0.2s;
		display: inline-block;
		overflow: hidden;
}
.turn span {
		overflow: hidden;
		color: transparent;
		text-shadow: 0 -1.5em 0 #272B31, 0 0 0 #272B31;
		transition: text-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		nav li a.turn:hover span {
				text-shadow: 0 0 0 #F55282, 0 1.5em 0 #F55282;
		}
}
@media(max-width: 1100px) {
		header {
				padding: 0 30px;
		}
		nav li {
				font-size: 15px;
				margin-left: 20px;
		}
}
@media(max-width: 960px) {
		.header_inner nav, .header_inner .header_btn {
				display: none
		}
}
@media(max-width: 767px) {
		header {
				padding: 0 20px;
				height: 70px !important
		}
}
/* ========== */
.menu_parent {
		position: relative;
		/* padding-right: 25px; */
}
/*
.menu_parent .menu_parent_trigger {
		position: absolute;
		width: 14px;
		height: 14px;
		right: 0;
		top: calc(50% - 7px);
}
.menu_parent_trigger::before, .menu_parent_trigger::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0
}
.menu_parent_trigger::before {
		background: #1F2A66;
		width: 14px;
		height: 14px;
		transition: background 0.2s;
		border-radius: 50%;
}
.menu_parent::before, .menu_parent::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 1px);
		right: 4px;
		width: 6px;
		height: 1px;
		background: #fff;
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
		z-index: 10
}
.menu_parent::after {
		transform: rotate(90deg)
}
.menu_parent.isOpen .menu_parent_trigger::before {
		background: #0069E9;
}

.menu_parent.isOpen::after {
		opacity: 0
}
*/
.menu_parent .subnav {
		z-index: 1000;
		position: absolute;
		width: 230px;
		top: 70px;
		left: -100px;
		pointer-events: none;
		transition: left 0.2s cubic-bezier(0.5, 1, 0.89, 1);
		visibility: hidden;
		overflow: hidden;
		opacity: 1;
}
/*
.menu_parent .subnav.service {
		width: 260px;
}
*/
.menu_parent .subnav.isOpen {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		left: -80px;
}
.subnav_in {
		background: #fff;
		box-sizing: border-box;
		padding: 20px 25px 20px;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		border-radius: 20px;
}
.subnav ul {
		display: block !important
}
.subnav ul li {
		display: block !important;
		font-size: 14px;
		margin-left: 0;
		height: auto !important;
		position: relative;
		transform: translateX(-20px);
		opacity: 0;
		opacity: 1;
		transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1), opacity 0.4s;
		letter-spacing: 0.03em;
}
.subnav ul li:last-child {
		border-bottom: none;
}
.subnav ul li a {
		padding: 6px 5px 6px 22px !important;
		display: block;
		position: relative;
}
.subnav ul li a .sub_arw {
		position: absolute;
		left: 0;
		top: calc(50% - 6px);
		width: 12px;
		height: 12px;
		background-color: #272B31;
		border-radius: 50%;
		transition: background 0.2s;
		overflow: hidden;
		box-sizing: border-box
}
.sub_arw::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 12px;
		height: 12px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 12px;
		background-image: url("../images/subnav_arw_wht.png")
}
@media (hover: hover) {
		.subnav ul li a:hover {
				color: #F55282;
		}
		.subnav ul li a:hover .sub_arw {
				background: #F55282;
		}
}
.subnav.isOpen ul li {
		transform: translateX(0px);
		opacity: 1;
}
.subnav ul li:nth-child(2) {
		transition-delay: 0.015s;
}
.subnav ul li:nth-child(3) {
		transition-delay: 0.03s;
}
.subnav ul li:nth-child(4) {
		transition-delay: 0.045s;
}
.subnav ul li:nth-child(5) {
		transition-delay: 0.06s;
}
.subnav ul li:nth-child(6) {
		transition-delay: 0.075s;
}
.subnav ul li:nth-child(7) {
		transition-delay: 0.09s;
}
.subnav ul li:nth-child(8) {
		transition-delay: 0.105s;
}
.subnav ul li:nth-child(9) {
		transition-delay: 0.12s;
}
.subnav ul li:nth-child(10) {
		transition-delay: 0.135s;
}
.subnav ul li:last-child {
		margin-bottom: 0;
}
/* ============= */
@media(min-width: 1001px) {
		.sp_nav, .navBoard {
				display: none !important
		}
}
.sp_nav, .sp_nav_trigger, .sp_nav_trigger::after {
		width: 40px;
		height: 40px;
		box-sizing: border-box;
}
.sp_nav {
		position: fixed;
		top: 20px;
		right: 20px;
		z-index: 7000;
}
.sp_nav_trigger {
		background: none;
		cursor: pointer;
		display: inline-block;
		position: relative;
		border: 1px solid #111D2C;
		border-radius: 50%;
}
.sp_nav_trigger.navOpen {
		border: 1px solid #fff;
}
.sp_nav_trigger .sp_nav_trigger_bar {
		display: block;
		position: absolute;
		top: 18.5px;
		left: 13px;
		width: 12px;
		height: 1px;
		background: #111D2C;
		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: 16.5px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2) {
		top: 20.5px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
		top: 18.5px;
		opacity: 0
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar {
		background: #fff;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
		transform: rotate(45deg);
		background: none;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
		transform: rotate(-45deg);
		background: none;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3)::before, .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4)::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		transform: scaleX(0);
		transform-origin: right center;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3)::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(4)::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 {
		opacity: 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)::before, .sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before {
		transform: scaleX(1);
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3), .sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4) {
		opacity: 1;
}
.navBoard {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 6000;
		display: none;
		background: #0C1521;
		background: linear-gradient(-45deg,rgba(40, 56, 75, 1) 0%, rgba(12, 21, 33, 1) 100%);
}
.navBoard_inner {
		display: flex;
		align-items: flex-start;
		height: 100vh;
		box-sizing: border-box;
		position: relative;
		padding-top: 20vh;
		padding-bottom: 40px;
		overflow: auto;
}
.navBoard_inner .navBoard_logo {
		position: absolute;
		width: 155px;
		top: 25px;
		left: 30px;
}
.navBoard_logo img {
		width: 100%;
		height: auto;
}
@media(max-width: 767px) {
		.navBoard_inner .navBoard_logo {
				width: 120px;
				top: 15px;
				left: 20px;
		}
		.navBoard_inner {
				padding-top: 20vh;
		}
}
.navBoard_wrap, .navBoard_wrap ul {
		width: 100%;
}
.navBoard_wrap {
		padding-bottom: 80px;
}
.navBoard_wrap li:first-child {
		border-top: 1px solid #333943;
}
.navBoard_wrap li {
		margin: 0;
		font-family: 'Inter', sans-serif;
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 0;
		border-bottom: 1px solid #333943;
}
.navBoard_wrap li li {
		border: none !important;
		font-size: 15px;
		color: #fff;
		font-family: 'Inter', sans-serif;
		letter-spacing: 0
}
@media(max-width: 767px) {
		.navBoard_wrap li li {
				font-size: 14px;
		}
}
.navBoard_wrap li a, .navBoard_wrap li .disabled {
		display: block;
		padding: 18px 30px;
		position: relative;
		color: #fff;
		text-decoration: none;
}
.navBoard_wrap li li a {
		position: relative;
		padding: 10px 0;
		padding-left: 50px;
}
.navBoard_wrap li ul {
		padding-bottom: 20px;
}
.sub_parent > span {
		display: block;
		padding: 22px 30px 22px;
		cursor: pointer;
		position: relative;
		color: #fff;
}
.navBoard_wrap li .disabled {
		pointer-events: none;
		opacity: 0.3
}
.navBoard_wrap li a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		right: 40px;
		width: 11px;
		height: 9px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 11px;
		background-image: url("../images/nav_arw_wht.png")
}
.sub_cont {
		display: none
}
.sub_parent > span::before, .sub_parent > span::after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: 40px;
		width: 11px;
		height: 1px;
		background: #fff;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.sub_parent > span::before {
		transform: rotate(90deg);
}
.sub_parent.isOpen > span::before {
		transform: rotate(180deg);
}
.sub_parent.isOpen > span::after {
		opacity: 0
}
.navBoard_inner_menu li::before {
		display: none
}
.navBoard_inner_menu li ul {
		padding-top: 10px;
		padding-bottom: 15px;
		padding-left: 35px;
}
.navBoard_inner_menu li li {
		margin-left: 0;
		margin: 0 0 15px;
		font-weight: 500;
		font-size: 13px;
		border: none;
}
.navBoard_inner_menu li li a {
		position: relative;
		padding: 5px 0;
		padding-left: 13px;
}
@media(max-width: 767px) {
		.sp_nav, .sp_nav_trigger, .sp_nav_trigger::after {
				width: 40px;
				height: 40px;
		}
		.sp_nav {
				top: 15px;
				right: 20px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar {
				top: 18.5px;
				left: 13px;
				width: 12px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:first-child {
				top: 16.5px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2) {
				top: 20.5px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
				top: 18.5px;
		}
		.navBoard_wrap li {
				font-size: 16px;
		}
		.navBoard_wrap li a, .navBoard_wrap li .disabled {
				padding: 18px 30px;
		}
		.navBoard_wrap li li a {
				padding: 10px 30px;
				padding-left: 50px;
		}
		.navBoard_wrap li a::after {
				right: 30px;
		}
		.sub_parent > span {
				padding: 18px 30px;
		}
		.sub_parent > span::before, .sub_parent > span::after {
				right: 30px;
		}
		.navBoard_inner_menu li li a {
				position: relative;
				padding: 5px 0;
				padding-left: 13px;
		}
}
/* ============= */
footer {
		padding: 70px 80px 80px;
		border-radius: 50px 50px 0px 0px;
		background: linear-gradient(#0e2039 0%, #385372 100%);
		color: #fff;
		position: relative;
		z-index: 2;
		font-weight: 300;
}
footer a {
		color: #fff;
		text-decoration: none;
}
@media (hover: hover) {
		footer a:hover {
				color: #F55282;
		}
}
.footer_inner {
		margin: 0 auto 100px;
		display: flex;
		justify-content: space-between;
		padding: 0 60px;
}
.footer_right {
		display: flex
}
.footer_right ul {
		margin-left: 90px;
}
.footer_right ul:first-child {
		margin-left: 0;
}
.footer_right li {
		list-style: none;
		margin: 0 0 20px;
		font-family: 'Inter';
		letter-spacing: 0;
}
.footer_right li a.disabled {
		opacity: 0.3;
		pointer-events: none
}
.footer_left p {
		line-height: 1.8;
}
.footer_logo {
		width: 180px;
		margin: 0 0 45px
}
.footer_logo img {
		width: 100%;
		height: auto;
}
.footer_bottom {
		margin: 0 auto;
		border-top: 1px solid #F55282;
		padding-top: 60px;
}
.footer_bottom_in {
		position: relative;
		letter-spacing: 0;
		text-align: center;
		font-size: 14px;
}
.footer_bottom_in .footer_copyright {
		position: absolute;
		left: 0;
		top: 0;
}
.footer_bottom_in .pagetop {
		font-size: 14px;
		position: absolute;
		right: 20px;
		top: 0;
}
.pagetop a {
		position: relative;
}
.pagetop a::after {
		content: '';
		display: block;
		position: absolute;
		right: -20px;
		top: calc(50% - 5px);
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-bottom: 10px solid #F55282;
		border-top: 0;
}
.sp_mn_policy {
		display: none
}
@media(max-width: 1200px) {
		footer {
				padding: 60px 40px 80px;
		}
		.footer_inner {
				padding: 0;
		}
		.footer_right ul {
				margin-left: 60px;
		}
}
@media screen and (orientation: portrait) and (max-width: 600px) {
		footer {
				padding: 60px 25px 30px;
				border-radius: 20px;
		}
		.footer_logo {
				width: 145px;
				margin: 0 0 30px
		}
		.footer_inner {
				display: block;
				margin-bottom: 40px;
		}
		.footer_left {
				margin-bottom: 35px;
		}
		.footer_right {
				display: block;
				border-top: 1px solid rgba(195, 199, 206, 0.2);
		}
		.footer_right ul {
				margin-left: 0;
				width: 100%;
		}
		.footer_right li {
				font-size: 14px;
				border-bottom: 1px solid rgba(195, 199, 206, 0.2);
				margin: 0;
		}
		.footer_right li a, .footer_right li .disabled {
				padding: 17px 13px 18px;
				display: block
		}
		.footer_bottom_in {
				display: flex;
				flex-direction: column-reverse;
		}
		.footer_bottom_in .pagetop {
				position: static;
				text-align: center;
				margin-bottom: 50px;
				font-size: 12px;
		}
		.footer_bottom_in .footer_copyright {
				position: static;
				text-align: center;
		}
		.footer_policy {
				display: none
		}
		.footer_right li.sp_mn_policy {
				display: block;
				margin-top: 20px;
				font-size: 14px;
				border-bottom: none;
		}
}
/* =============== */
.linkBtn, .sendBtn button {
		width: 230px;
		font-family: 'Inter', sans-serif;
		letter-spacing: 0.03em;
		font-size: 15px;
}
header .linkBtn {
		width: 165px;
		margin-left: 40px;
}
.linkBtn a, .sendBtn button {
		display: flex;
		justify-content: center;
		align-items: center;
		color: #272B31;
		height: 54px;
		text-decoration: none;
		border: 1px solid #272B31;
		border-radius: 60px;
		position: relative;
		transition: background 0.3s;
		background: none;
		font-weight: 500 !important;
}
header .linkBtn a {
		background: none;
}
.linkBtn a.disabled {
		pointer-events: none;
		background: none;
		opacity: 0.4;
		border: 1px solid #fff;
		color: #fff;
}
.linkBtn a.isWht {
		border: 1px solid #fff;
		color: #fff
}
@media(max-width: 767px) {
		.linkBtn a.disabled {
				height: 40px
		}
}
header .linkBtn a {
		height: 36px;
}
.linkBtn a span, .sendBtn button span {
		display: inline-block;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
		transform: translateX(-0.75em);
}
.linkBtn a.disabled span {
		transform: translateX(0);
}
.sendBtn button span {
		position: relative;
		top: -1px
}
.linkBtn a .linkBtn_arw, .sendBtn button .linkBtn_arw {
		position: absolute;
		right: 6px;
		top: calc(50% - 20px);
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background-color: #272B31;
		box-sizing: border-box;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.linkBtn_arw::before, .linkBtn_arw::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
}
.linkBtn_arw::before {
		background: linear-gradient(#0c1521 0%, #385372 100%);
}
.linkBtn_arw.bgWht::before {
		background: #fff;
}
.linkBtn_arw::after {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/linkBtn_arw_wht.png");
}
.linkBtn_arw.bgWht::after {
		background-image: url("../images/linkBtn_arw_nvy.png");
}
header .linkBtn_arw::after {
		background-image: url("../images/linkBtn_arw_wht_s.png");
}
header .linkBtn a .linkBtn_arw {
		top: calc(50% - 14px);
		width: 28px;
		height: 28px;
}
@media (hover: hover) {
		.linkBtn a:hover, .sendBtn button:hover {
				background: #F55282;
				border-color: #F55282;
				color: #fff;
		}
		.linkBtn a:hover .linkBtn_arw, .linkBtn a:hover .linkBtn_arw::before {
				background: #F55282;
		}
		.linkBtn a:hover span, .sendBtn button:hover span {
				transform: translateX(0.75em);
		}
		.linkBtn a:hover .linkBtn_arw, .sendBtn button:hover .linkBtn_arw {
				transform: translateX(-176px);
		}
		header .linkBtn a:hover .linkBtn_arw {
				transform: translateX(-125px);
		}
		.linkBtn a:hover .linkBtn_arw::before, .sendBtn button:hover .linkBtn_arw::before {
				background: #fff;
		}
		.linkBtn a:hover .linkBtn_arw::after, .sendBtn button:hover .linkBtn_arw::after {
				background-image: url("../images/linkBtn_arw_pnk.png");
		}
		header .linkBtn a:hover .linkBtn_arw::after {
				background-image: url("../images/linkBtn_arw_pnk_s.png");
		}
}
/* ==================== */
/* ==================== */ ::selection {
		background: #ccc;
		color: #F55282;
}
::-moz-selection {
		background: #ccc;
		color: #F55282;
}
@media(min-width: 768px) {
		::-webkit-scrollbar {
				width: 10px;
				height: 10px;
		}
		::-webkit-scrollbar-track {
				background-color: #f5f5f5;
		}
		::-webkit-scrollbar-thumb {
				background-color: #F55282;
		}
}