@charset "utf-8";
hgroup {
		display: flex;
		flex-direction: column-reverse;
		margin: 0 0 50px;
		position: relative;
		padding-top: 20px;
}
hgroup::before, hgroup::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 9px;
		height: 9px;
}
hgroup::before {
		top: -20px;
		left: 0;
		background: #0168B7;
}
hgroup::after {
		top: -11px;
		left: 9px;
		background: #AED0E9;
}
.contact_wrap hgroup::before {
		background: #fff;
}
hgroup .en {
		font-family: "Montserrat", sans-serif;
		font-size: 60px;
		font-weight: 600;
		letter-spacing: 0;
		color: #0168B7;
		margin: 0 0 20px;
		line-height: 1;
}
hgroup .jp {
		font-size: 24px;
		font-weight: 500;
}
@media(max-width: 960px) {
		hgroup .en {
				font-size: 48px;
		}
		hgroup .jp {
				font-size: 20px;
		}
}
@media(max-width: 767px) {
		#toppage hgroup {
				margin: 0 0 30px;
				padding-top: 10px;
		}
		#toppage hgroup .en {
				font-size: 42px;
				line-height: 1;
				margin-bottom: 10px;
		}
		#toppage hgroup .jp {
				font-size: 18px;
		}
		#toppage hgroup::before, #toppage hgroup::after {
				width: 7px;
				height: 7px;
		}
		hgroup::before {
				top: -12px;
				left: 0;
		}
		hgroup::after {
				top: -5px;
				left: 7px;
		}
}
/* ========= */
.second_hdr {
		padding-top: 60px;
		padding-bottom: 80px;
		position: relative;
}
body:not(#toppage) {
		background-repeat: no-repeat;
		background-position: center -60px;
		background-size: 2560px;
		background-image: url("../images/second_hdr_bg_pc.jpg");
		background-attachment: fixed;
		background-color: #f7f8fa;
}
/*
.second_hdr::before {
		content: '';
		display: block;
		position: absolute;
		top: -150px;
		left: 0;
		width: 100%;
		height: 1020px;
		background-repeat: no-repeat;
		background-position: top center;
		background-size: 2560px;
		background-image: url("../images/second_hdr_bg_pc.png");
		pointer-events: none;
		z-index: 0
}
*/
@media(max-width: 1600px) {
		body:not(#toppage) {
				background-size: 1600px;
		}
}
@media(max-width: 960px) {
		body:not(#toppage) {
				background-position: center -80px;
		}
		.second_hdr {
				padding-top: 30px;
				padding-bottom: 30px;
		}
}
@media(max-width: 767px) {
		body:not(#toppage) {
				background-position: 0 150px;
				background-size: 100%;
				background-image: url("../images/second_hdr_bg_sp.png");
				background: none;
		}
		body:not(#toppage) main {
				position: relative;
		}
		body:not(#toppage) main::before {
				content: '';
				display: block;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 400px;
				pointer-events: none;
				background-repeat: no-repeat;
				background-position: 0 150px;
				background-size: 100%;
				background-image: url("../images/second_hdr_bg_sp.png");
				z-index: -1
		}
}
.second_hdr_inner {
		max-width: 1300px;
		margin: 0 auto;
		padding: 0 30px;
}
.second_hdr_inner hgroup {
		padding: 0;
}
.second_hdr_inner hgroup::before, .second_hdr_inner hgroup::after {
		display: none
}
.second_hdr_inner hgroup .en {
		font-size: 84px;
}
.second_hdr_inner hgroup .jp {
		font-size: 22px;
}
.second_hdr_inner hgroup .jp span, .stickey_sidebar hgroup .jp span {
		display: inline-block;
		position: relative;
		padding-left: 35px;
}
.second_hdr_inner hgroup .jp span::before, .stickey_sidebar hgroup .jp span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 9px);
		left: 0;
		background: #0168b7;
		width: 17px;
		height: 17px;
}
@media(max-width: 960px) {
		.stickey_container .second_hdr {
				padding-top: 50px;
				padding-bottom: 0;
				margin-bottom: -60px;
		}
		.second_hdr_inner hgroup .en {
				font-size: 68px;
		}
		.second_hdr_inner hgroup .jp {
				font-size: 18px;
		}
}
@media(max-width: 767px) {
		.second_hdr {
				padding: 30px 0 0;
		}
		#page_faq .second_hdr {
				margin-bottom: 60px;
		}
		.second_hdr_inner {
				padding-left: 20px;
		}
		.second_hdr_inner hgroup {
				margin-bottom: 60px;
		}
		.second_hdr_inner hgroup .en, .stickey_sidebar hgroup .en {
				font-size: 50px;
		}
		#page_legal .second_hdr_inner hgroup .en, #page_legal .stickey_sidebar hgroup .en {
				font-size: 34px;
		}
		.second_hdr_inner hgroup .jp, .stickey_sidebar hgroup .jp {
				font-size: 16px;
		}
		.second_hdr_inner hgroup .jp span, .stickey_sidebar hgroup .jp span {
				padding-left: 20px;
		}
		.second_hdr_inner hgroup .jp span::before, .stickey_sidebar hgroup .jp span::before {
				top: calc(50% - 7px);
				width: 12px;
				height: 12px;
		}
}
@media(min-width: 768px) {
		.endSection {
				height: 200px
		}
}
/* ============ */
.hrCenter {
		display: flex;
		justify-content: center;
}
.hrRight {
		display: flex;
		justify-content: flex-end;
}
/* ============ */
.linkBtn {
		width: 460px;
		font-size: 17px;
		font-weight: 500;
		letter-spacing: 0.05em
}
.linkBtn.sizeS {
		width: 165px;
		font-size: 16px;
		font-weight: 500;
}
.linkBtn.sizeM {
		width: 190px;
		font-size: 16px;
		font-weight: 500;
}
.linkBtn.sizeL {
		width: 220px;
		font-size: 16px;
		font-weight: 500;
}
.linkBtn a span {
		position: relative;
		transform: translateY(0px)
}
.linkBtn a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 120px;
		border: 1px solid #0075CF;
		border-radius: 60px;
		color: #0075CF;
		transition: background 0.2s;
		text-decoration: none;
		box-sizing: border-box;
}
a.disabled {
		pointer-events: none;
		filter: saturate(0%);
		opacity: 0.3
}
a.disabled span::after {
		filter: saturate(0%);
		opacity: 0.3
}
@media(max-width: 960px) {
		.contact_wrap_inner_right .linkBtn a {
				height: 100px;
		}
}
@media(max-width: 767px) {
		.contact_wrap_inner_right .linkBtn {
				width: auto;
				font-size: 16px;
		}
		.contact_wrap_inner_right .linkBtn a {
				height: 56px;
		}
}
.linkBtn.sizeS a {
		height: 45px;
}
.linkBtn.sizeM a, .linkBtn.sizeL a {
		height: 60px;
}
footer .linkBtn {
		width: 408px;
		font-size: 17px;
		font-weight: 500;
}
footer .linkBtn a {
		height: 80px
}
@media(max-width: 1200px) {
		footer .linkBtn {
				width: 250px;
				font-size: 16px;
		}
		footer .linkBtn a {
				height: 70px;
		}
}
@media(max-width: 767px) {
		footer .linkBtn {
				margin-bottom: 50px;
				font-size: 16px;
				width: auto;
		}
		footer .linkBtn a {
				height: 56px
		}
}
.linkBtn a.isWht {
		border-color: #fff;
		color: #fff;
}
.linkBtn a span.toLink {
		padding-right: 30px;
		left: -5px;
		position: relative;
}
.linkBtn a span.toBack {
		padding-left: 30px;
		left: -5px;
		position: relative;
}
button span.toLink {
		padding-right: 30px;
		left: 0px;
		position: relative;
}
.linkBtn.sizeS a span.toLink {
		transform: translateY(1px);
		padding-right: 25px;
		position: relative;
		left: 0px
}
.linkBtn.sizeM a span.toLink, .linkBtn.sizeL a span.toLink {
		transform: translateY(0px);
		padding-right: 25px;
		position: relative;
		left: 0px
}
.linkBtn a span.toLink::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		right: 0;
		width: 16px;
		height: 8px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 16px;
		background-image: url("../images/icon_arw_wht.png")
}
.linkBtn a span.toBack {
		padding-left: 30px;
		left: -5px;
		position: relative;
}
button span.toLink::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		right: 0;
		width: 16px;
		height: 8px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 16px;
		background-image: url("../images/icon_arw_blu.png")
}
.linkBtn.sizeS a span.toLink::after, .linkBtn.sizeM a span.toLink::after, .linkBtn.sizeL a span.toLink::after {
		top: calc(50% - 4px);
		right: 0;
		width: 16px;
		height: 8px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 16px;
		background-image: url("../images/icon_arw_blu.png")
}
.linkBtn a span.toBack::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		left: 0;
		width: 16px;
		height: 8px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 16px;
		background-image: url("../images/icon_arw_back_blu.png")
}
.linkBtn a span.blankLink {
		padding-right: 30px;
		left: -5px
}
.linkBtn a span.blankLink::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 8px);
		right: 0;
		width: 16px;
		height: 16px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 16px;
		background-image: url("../images/icon_blanklink_wht.png")
}
.linkBtn a span.pdfLink {
		padding-right: 60px;
}
.linkBtn a span.pdfLink::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 15px);
		right: 0;
		width: 25px;
		height: 31px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 25px;
		background-image: url("../images/icon_pdf_blu.png")
}
@media (hover: hover) {
		.contact_wrap .linkBtn a:hover {
				background: #fff;
				color: #0075CF;
		}
		.linkBtn.sizeS a:hover, .linkBtn.sizeM a:hover, .linkBtn.sizeL a:hover {
				background: #0075CF;
				color: #fff;
		}
		.linkBtn a:hover span.toLink::after {
				background-image: url("../images/icon_arw_blu.png")
		}
		.linkBtn.sizeS a:hover span.toLink::after, .linkBtn.sizeM a:hover span.toLink::after, .linkBtn.sizeL a:hover span.toLink::after {
				background-image: url("../images/icon_arw_wht.png")
		}
		footer .linkBtn a:hover {
				color: #163044;
				background: #fff;
		}
		.linkBtn a:hover span.blankLink::after {
				background-image: url("../images/icon_blanklink_nvy.png")
		}
		.linkBtn a:hover span.pdfLink::after {
				background-image: url("../images/icon_pdf_wht.png")
		}
		button:hover span.toLink::after {
				background-image: url("../images/icon_arw_wht.png")
		}
}
@media(max-width: 767px) {
		.linkBtn.sizeM a, .linkBtn.sizeL a {
				height: 50px;
		}
		.linkBtn.sizeM a span.toLink, .linkBtn.sizeL a span.toLink {
				transform: translateY(1px);
		}
}
/* ============ */
@media(min-width: 768px) {
		.section_gr {
				position: relative;
				top: -490px;
				margin-bottom: -490px;
				min-height: 800px;
		}
}
/* ============= */
.wrap1080 {
		max-width: 1080px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 1
}
@media(max-width: 767px) {
		.wrap1080 {
				margin: 0 auto !important;
				padding: 0 20px !important;
		}
}
.stickey_container {
		position: relative;
}
.stickey_container .wrap1080 {
		margin: 0;
		padding: 0;
		margin-left: calc(calc(calc(100vw - 1300px) / 2) + 280px);
}
#page_legal .stickey_container .wrap1080 {
		margin-left: calc(calc(calc(100vw - 1300px) / 2) + 350px);
}
.stickey_container .stickey_sidebar {
		width: 200px;
		position: sticky;
		left: calc(calc(calc(100vw - 1300px) / 2));
		top: 160px;
		z-index: 5;
		transition: opacity 0.3s;
		height: 500px;
}
#page_legal .stickey_container .stickey_sidebar {
		width: 270px;
}
.stickey_sidebar.isOff {
		opacity: 0;
}
.stickey_sidebar li, .header_sub li {
		list-style: none;
		padding: 20px 0;
		border-bottom: 1px dotted #8E8E8E;
		font-weight: 500;
}
.stickey_sidebar ul.tag_type li {
		padding: 0;
		border: none;
		margin: 0 0 18px;
		display: flex;
		font-size: 14px;
}
.stickey_sidebar li a, .header_sub li a {
		text-decoration: none;
		color: #303030;
		padding-left: 25px;
		position: relative;
}
.stickey_sidebar .tag_type li a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 14px;
		box-sizing: border-box;
		border: 1px solid #0168B7;
		border-radius: 60px;
		color: #0168B7;
		text-decoration: none;
		height: 30px;
		transition: background 0.2s;
}
.stickey_sidebar .tag_type li a.isCurrent {
		background: #0168B7;
		color: #fff;
}
@media (hover: hover) {
		.stickey_sidebar .tag_type li a:hover {
				background: #0168B7;
				color: #fff;
		}
}
.stickey_sidebar .tag_type li a span {
		transform: translateY(1px)
}
@media (hover: hover) {
		.stickey_sidebar li a:hover, .header_sub li a:hover {
				color: #0168b7;
		}
}
.stickey_sidebar li a::before, .header_sub li a::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		left: 0;
		width: 15px;
		height: 13px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 15px;
		background-image: url("../images/sidebar_arw_down_blu.png")
}
.stickey_sidebar .tag_type li a::before {
		display: none
}
@media(max-width: 1800px) {
		.stickey_sidebar li {
				font-size: 14px;
		}
}
@media(max-width: 1700px) {
		.stickey_container .stickey_sidebar {
				width: 180px;
		}
		.stickey_container .wrap1080 {
				margin-left: calc(calc(calc(100vw - 1300px) / 2) + 230px);
				padding-right: 30px;
		}
		#page_legal .stickey_container .stickey_sidebar {
				width: 240px;
		}
		#page_legal .stickey_container .wrap1080 {
				margin-left: calc(calc(calc(100vw - 1300px) / 2) + 300px);
		}
}
@media(max-width: 1360px) {
		.stickey_container .stickey_sidebar {
				margin-left: 30px;
		}
		.stickey_container .wrap1080 {
				margin-left: 250px;
				padding-right: 30px;
		}
		#page_legal .stickey_container .stickey_sidebar {
				width: 230px;
		}
		#page_legal .stickey_container .wrap1080 {
				margin-left: 300px;
				padding-right: 30px;
		}
}
@media(max-width: 960px) {
		.stickey_container .wrap1080 {
				margin-left: 240px;
				padding-right: 30px;
		}
		#page_legal .stickey_container .wrap1080 {
				margin-left: 260px;
		}
		.stickey_container .stickey_sidebar {
				width: 170px;
				left: 20px;
				top: 110px;
		}
		#page_legal .stickey_container .stickey_sidebar {
				width: 200px;
		}
		#page_legal .stickey_container .wrap1080 {
				margin-left: 260px;
		}
		.stickey_sidebar li {
				font-size: 13px;
		}
		#page_legal .stickey_sidebar li {
				font-size: 12px;
		}
		.stickey_sidebar li a {
				padding-left: 20px;
		}
		.stickey_sidebar li a::before {
				top: calc(50% - 6px);
				left: 0;
				width: 12px;
				height: 11px;
				background-size: 12px;
		}
}
@media(max-width: 767px) {
		.stickey_sidebar ul.tag_type {
				display: flex;
				flex-wrap: wrap;
		}
		.stickey_sidebar ul.tag_type li {
				margin: 0 10px 10px 0;
				font-size: 13px;
		}
}
@media (min-width: 768px) {
		.header_sub {
				display: none
		}
}
@media (max-width: 767px) {
		#page_company header, #page_service header {
				box-shadow: none
		}
		.header_sub {
				position: fixed;
				top: 59px;
				left: 0;
				width: 100%;
				z-index: 5000;
				background: #fff;
				box-shadow: 0px 7px 7px -3px rgba(0, 0, 0, 0.1);
				box-sizing: border-box;
				padding: 15px 20px 5px;
				border-top: 1px solid #ededed;
		}
		.stickey_container {
				padding-top: 0;
		}
		.stickey_container .stickey_sidebar {
				display: none;
		}
		.stickey_sidebar_in {
				display: flex;
				justify-content: center;
		}
		.header_sub ul {
				display: flex;
				flex-wrap: wrap;
		}
		.header_sub ul li {
				padding: 0;
				border: none;
				padding-right: 30px;
				margin: 0 0 15px;
				box-sizing: border-box;
				font-size: 13px;
		}
		.header_sub li a::before {
				top: calc(50% - 5px);
				width: 10px;
				height: 9px;
				background-size: 10px;
		}
		.header_sub li a {
				padding-left: 17px;
		}
		.stickey_container .wrap1080 {
				margin-left: 0;
				margin-right: 0;
				padding: 0 20px;
		}
}
/* ============= */
.stickey_sidebar .second_hdr {
		padding: 0 0 40px;
		margin: 0;
}
.stickey_sidebar .second_hdr::before {
		display: none
}
.stickey_sidebar hgroup {
		display: flex;
		flex-direction: column-reverse;
		margin: 0;
		position: relative;
		padding-top: 0;
}
.stickey_sidebar hgroup::before, .stickey_sidebar hgroup::after {
		display: none
}
@media(max-width: 767px) {
		.stickey_sidebar .second_hdr {
				padding: 30px 0 40px;
		}
}
/* ============ */
.fWht {
		color: #fff !important;
}
.fSky {
		color: #AED0E9 !important;
}
/* ============ */
.underL {
		position: relative;
}
.underL::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #0168B7;
		transform-origin: left center;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
.underL.bgBlu::after {
		background: #0168B7;
}
.underL.bgWht::after {
		background: #fff;
}
@media (hover: hover) {
		a:hover .underL::after {
				transform: scaleX(1);
		}
}
/* ============ */
.anchor {
		pointer-events: none;
		z-index: -1;
		height: 0
}
.anchor.extra {
		padding-top: 100px;
		margin-top: -100px;
}
.anchor.legal {
		padding-top: 140px;
		margin-top: -140px;
}
@media(max-width: 767px) {
		.anchor {
				position: relative;
				padding-top: 100px;
				margin-top: -100px;
		}
}
/* ============ */
@media(min-width: 768px) {
		.spObj {
				display: none;
		}
		.spbr {
				display: none
		}
}
@media(max-width: 767px) {
		.pcObj {
				display: none
		}
		.pcbr {
				display: none;
		}
}
/* ============ */
.fadeInNml {
		opacity: 0;
		transition: opacity 0.35s;
}
.fadeInNmlActive {
		opacity: 1;
}
/* =============== */
.mb00 {
		margin-bottom: 0px !important;
}
.mb05 {
		margin-bottom: 5px !important;
}
.mb10 {
		margin-bottom: 10px !important;
}
.mb15 {
		margin-bottom: 15px !important;
}
.mb20 {
		margin-bottom: 20px !important;
}
/* =============== */
main .wp-pagenavi {
		display: flex;
		align-items: center;
		margin: 60px 0;
		font-size: 14px;
		font-family: 'Montserrat', sans-serif;
		font-weight: 500;
}
#page_casestudy main .wp-pagenavi {
		display: flex;
		justify-content: center;
		align-items: center;
}
main .pages {
		display: none !important
}
main .wp-pagenavi a, main .wp-pagenavi span, main a.previouspostslink, main a.nextpostslink {
		text-decoration: none;
		padding: 0;
		margin: 0 20px 0 0;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 60px;
		height: 60px;
		border-radius: 50%;
		border: 1px solid #0168B7 !important;
}
main .wp-pagenavi a {
		color: #0168B7;
		background: none;
}
@media (hover: hover) {
		main .wp-pagenavi a:hover {
				color: #fff;
				background: #0168B7;
		}
}
main .current {
		color: #fff;
		background: #0168B7;
}
main .extend {
		color: #0168B7;
}
main .wp-pagenavi .first, main .wp-pagenavi .last {
		display: none
}
main a.previouspostslink, main a.nextpostslink {
		position: relative;
		background: none;
		color: rgba(255, 255, 255, 0);
}
main a.previouspostslink::after, main a.nextpostslink::after {
		content: '';
		display: block;
		position: absolute;
		width: 7px;
		height: 7px;
		pointer-events: none;
		top: calc(50% - 4px);
}
main a.previouspostslink::after {
		border-top: 1px solid #0168B7;
		border-left: 1px solid #0168B7;
		transform: rotate(-45deg);
		left: 28px;
}
main a.nextpostslink::after {
		border-top: 1px solid #0168B7;
		border-right: 1px solid #0168B7;
		transform: rotate(45deg);
		right: 28px;
}
@media (hover: hover) {
		main a.previouspostslink:hover, main a.nextpostslink:hover {
				background: #0168B7;
		}
		main a.previouspostslink:hover::after {
				border-top: 1px solid #fff;
				border-left: 1px solid #fff;
		}
		main a.nextpostslink:hover::after {
				border-top: 1px solid #fff;
				border-right: 1px solid #fff;
		}
}
@media(max-width: 960px) {
		main .wp-pagenavi a, main .wp-pagenavi span, main a.previouspostslink, main a.nextpostslink {
				width: 54px;
				height: 54px;
				margin-right: 15px;
		}
		main a.previouspostslink::after {
				left: 26px;
		}
		main a.nextpostslink::after {
				right: 26px;
		}
}
@media(max-width: 767px) {
		main .wp-pagenavi {
				margin: 40px 0 0;
				display: flex;
				justify-content: center;
				align-items: center;
		}
		main .wp-pagenavi a, main .wp-pagenavi span, main a.previouspostslink, main a.nextpostslink {
				width: 40px;
				height: 40px;
				margin: 0 5px;
				font-size: 11px;
		}
		main a.previouspostslink::after, main a.nextpostslink::after {
				width: 6px;
				height: 6px;
				top: calc(50% - 3px);
		}
		main a.previouspostslink::after {
				left: 18px;
		}
		main a.nextpostslink::after {
				right: 18px;
		}
}