@charset "utf-8";

:root {
	--font_family: 'Noto Sans JP', sans-serif;
	--font_family_lato: 'Lato', sans-serif;;
	--white: #fff;
	--black: #000;
	--blue: #2A85FF;
	--blue_light: #7198CC;
	--green: #007487;
	--green_light: #71B6CC;
	--red: #FD1010;
	--orange_light: #CC9F71;
	--gray: #F4F4F4;
	--gray_light: #ccc;
	--gray_dark: #bbb;
	--header_h: 110px;
	--max_w: 1240px;
	--cubic_bezier: cubic-bezier(.8,0,.4,1);
}

.holdings-header__search {
	display: none;
}

/*setting*/
.l-xgspod img {
	width: 100%;
}

.l-xgspod a {
	text-decoration: underline;
	transition: .2s var(--cubic_bezier);
}

.l-xgspod a:hover {
	text-decoration: none;
	opacity: .8;
}

.l-xgspod em {
	font-style: normal;
	font-weight: 700;
}

.l-xgspod i {
	font-style: normal;
	font-weight: 500;
}

.u-show_mobile {
	display: none !important;
}

.u-hide_mobile {
	display: block !important;
}

.u-show_tablet {
	display: none !important;
}

.u-hide_tablet {
	display: block !important;
}

@media screen and (max-width: 999px) {
	.u-show_tablet {
		display: block !important;
	}
	
	.u-hide_tablet {
		display: none !important;
	}
	
	.u-hide_tablet {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.u-show_mobile {
		display: block !important;
	}
	
	.u-show_mobile--small {
		display: none !important;
	}
	
	.u-hide_mobile {
		display: none !important;
	}
}

.u-mgt_100 { margin-top: 100px; }
.u-mgt_80 { margin-top: 80px; }
.u-mgt_170 { margin-top: 70px; }
.u-mgt_60 { margin-top: 60px; }
.u-mgt_50 { margin-top: 50px; }
.u-mgt_40 { margin-top: 40px; }
.u-mgt_30 { margin-top: 30px; }
.u-mgt_20 { margin-top: 20px; }
.u-mgt_10 { margin-top: 10px; }

.u-bg_gray {
	padding-top: 60px;
	padding-bottom: 100px;
	background-color: #f2f2f2;
	position: relative;
}

.u-bg_gray:before {
	content: '';
	width: 100%;
	height: 60px;
	display: block;
	background-color: var(--white);
	border-radius: 0 0 60px 60px;
	position: absolute;
	top: 0;
	left: 0;
}

.u-bg_gray:last-of-type {
	border-radius: 0;
}

.u-corner {
	margin-top: 60px;
	border-radius: 0 0 60px 60px;
}

.u-inner {
	max-width: var(--max_w);
	margin-inline: auto;
	padding-right: 60px;
	padding-left: 60px;
}

.u-button > * {
	color: var(--white);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .15em;
	text-decoration: none !important;
	padding: 1.5em 2.5em 1.65em 1em;
	display: flex;
	justify-content: center;
	border-radius: 30px;
	background: var(--blue_light);
	position: relative;
}

.u-button > *:before {
	content: '';
	margin: 0 .75em 0 0;
}

.u-button.-contact > *:before {
	width: 1.3em;
	height: 1em;
	background: url("../img/icon_mail@white.svg") no-repeat center / contain;
	transform: translate(0,.1em);
}

.u-button > *:after {
	content: '';
	width: 7px;
	height: 12px;
	background: url("../img/arrow_01@white.svg") no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translate(0,-50%);
	transition: .2s var(--cubic_bezier);
}

.u-button > *:hover:after {
	right: 25px;
	transition: .2s .4s var(--cubic_bezier);
}

.u-align_center {
	text-align: center;
}

.u-title_hi {
	color: var(--black);
	font-size: 32px;
	line-height: 1.65;
	text-align: center;
	padding-top: 120px;
}

.u-title_hi + * {
	margin-top: 3em !important;
}

.u-title_mid {
	color: var(--black);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.65;
	text-align: center;
	margin: 100px 0 0;
	position: relative;
}

.u-title_mid + * {
	margin-top: 3.5em !important;
}

.u-title_mid:after {
	content: '';
	width: calc(100% + (60px * 2));
	height: 1px;
	margin: 0 -60px;
	background-color: var(--blue);
	display: block;
	opacity: .25;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	z-index: 0;
}

.u-title_mid b {
	padding: 0 1.5em;
	display: inline-block;
	background-color: var(--white);
	position: relative;
	z-index: 10;
}

.u-title_mid b:before,
.u-title_mid b:after {
	content: '';
	width: .45em;
	height: .45em;
	display: block;
	background-color: var(--blue);
	border-radius: 100vmax;
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
}

.u-title_mid b:before {
	left: 0;
}

.u-title_mid b:after {
	right: 0;
}

.u-title_low {
	color: var(--black);
	font-size: 22px;
	line-height: 1.65;
	margin: 2em 0 0;
	padding: 0 0 .65em;
	border-bottom: 1px solid var(--gray_light);
}

.u-title_low + * {
	margin-top: 1em !important;
}

.u-text {
	line-height: 2;
}

#page {
	overflow: unset;
}

.l-xgspod {
	font-family: var(--font_family);
	font-size: 16px;
	font-feature-settings: 'palt';
	letter-spacing: .1em;
	background-color: var(--white);
	overflow: unset;
}

.l-xgspod * {
	box-sizing: border-box;
}

/*faq*/
.l-faq_items {
	margin-top: 60px !important;
}

.l-faq_item:not(:first-of-type) {
	margin-top: 40px;
}

.l-faq_q {
	padding: 0 0 0 60px;
	position: relative;
}

.l-faq_q b {
	color: var(--black);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
}

.l-faq_a {
	margin: 30px 0 0;
	padding: 0 0 0 60px;
	position: relative;
}

.l-faq_q:before,
.l-faq_a:before {
	color: var(--white);
	font-family: var(--font_family_lato);
	font-size: 20px;
	font-weight: 700;
	width: 42px;
	height: 42px;
	padding: 0 0 .1em .1em;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100vmax;
	position: absolute;
	top: 0;
	left: 0;
}

.l-faq_q:before {
	content: 'Q';
	margin: -.3em 0 0;
	background: var(--blue);
}

.l-faq_a:before {
	content: 'A';
	margin: -.3em 0 0;
	background: var(--green_light);
}

.l-faq_a .u-text {
	font-size: 15px;
}

.l-faq_a .u-text small {
	font-size: 13px;
	display: block;
}

/*flow*/
.l-flow_items {
	margin-inline: -10px;
	padding: 0 0 0 40px;
	display: flex;
	flex-wrap: wrap;
}

.l-flow_item {
	width: calc(100% / 3);
	padding-inline: 10px;
	position: relative;
}

.l-flow_item:nth-of-type(n + 4) {
	margin: 60px 0 0;
}

.l-flow h3 {
	display: flex;
	position: relative;
	align-items: center;
}

.l-flow h3:before {
	content: attr(data-num);
	color: var(--white);
	font-family: var(--font_family_lato);
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	width: 1.75em;
	height: 1.75em;
	padding: 0 0 .05em .1em;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100vmax;
	background: var(--black);
	box-sizing: border-box;
	z-index: 10;
}

.l-flow h3.blue:before {
	background-color: var(--blue_light);
}

.l-flow h3.orange:before {
	background-color: var(--orange_light);
}

.l-flow h3:after {
	content: '';
	width: 100%;
	height: 1px;
	display: block;
	background: #ddd;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
}

.l-flow h3 b {
	margin: .5em 0 0;
	display: block;
	position: relative;
	flex-grow: 1;
	z-index: 10;
}

.l-flow h3 b:after {
	content: '';
	width: 0;
	height: 0;
	display: block;
	border-style: solid;
	border-width: 11px 0 11px 11px;
	border-color: transparent transparent transparent #747474;
	position: absolute;
	top: 0;
	right: 0;
}

.l-flow h3 b span {
	color: var(--black);
	font-size: 20px;
	line-height: 1.35;
	padding: 0 .75em;
	display: inline-block;
	background: var(--white);
}

.l-flow .u-text {
	font-size: 14px;
	margin: 20px 0 0;
	padding: 0 40px 0 0;
}

.l-flow .-continue h3 b:after {
	display: none;
}

.l-flow .-continued:before {
	content: '';
	width: 0;
	height: 0;
	margin: .5em 0 0 -20px;
	display: block;
	border-style: solid;
	border-width: 11px 0 11px 11px;
	border-color: transparent transparent transparent #747474;
	position: absolute;
	top: 0;
	left: 0;
}

/*casestudy*/
.l-casestudy_items {
	padding-top: 30px;
}

.l-casestudy h3 {
	display: flex;
	align-items: center;
	position: relative;
}

.l-casestudy h3:not(:nth-of-type(1)) {
	margin-top: 80px;
}

.l-casestudy h3 + * {
	margin-top: 40px;
}

.l-casestudy h3:after {
	content: '';
	width: 100%;
	height: 1px;
	margin: 0 -60px;
	background-color: var(--blue);
	display: block;
	opacity: .25;
	position: absolute;
	top: 50%;
	left: 60px;
	transform: translate(0, -50%);
	z-index: 0;
}

.l-casestudy h3 b {
	padding: 0 1.5em 0 20px;
	background: var(--white);
	display: inline-block;
	position: relative;
	z-index: 10;
}

.l-casestudy h3 b:after {
	content: '';
	width: .45em;
	height: .45em;
	display: block;
	background-color: var(--blue);
	border-radius: 100vmax;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
}

.l-casestudy h3 b span {
	color: var(--black);
	font-size: 24px;
	font-weight: 500;
}

.l-casestudy_items h3:before {
	content: attr(data-num);
	font-family: var(--font_family_lato);
	color: var(--white);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	padding: .4em 1.5em .5em;
	background: var(--blue_light);
	border-radius: 100vmax;
}

.l-casestudy_item {
	display: flex;
	align-items: center;
}

.l-casestudy_item > * {
	width: calc(100% - 280px);
}

.l-casestudy_image {
	text-align: center;
	width: 280px;
}

.l-casestudy_image figure {
	text-align: center;
}

.l-casestudy_image figure img {
	width: 140px;
	margin-inline: auto;
}

.l-casestudy_image figcaption {
	color: var(--black);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5;
	margin: .5em 0 0;
	display: block;
}

.l-casestudy_image figcaption.mini {
	font-size: 20px;
}

.l-casestudy_title {
	display: flex;
	align-items: center;
}

.l-casestudy_title + * {
	margin: 20px 0 0;
}

.l-casestudy_title h4 {
	color: var(--black);
	font-size: 20px;
	font-weight: 500;
	margin: 0 10px 0 0;
}

.l-casestudy_title dl {
	margin: 0 0 0 15px;
	display: flex;
	align-items: center;
}

.l-casestudy_title dl dt {
	color: var(--white);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
	padding: .35em 1em .5em;
	background: #9B9B9B;
	border-radius: 100vmax;
}

.l-casestudy_title dl dd {
	margin: 0 0 0 .75em;
}

.l-casestudy .u-text b {
	color: var(--blue);
	font-weight: 700;
}

/*contact*/
.l-contact {
	margin: 100px 0 0;
}

.l-contact_inner {
	margin-inner: 60px;
	padding: 60px;
	background: var(--white);
	border-radius: 30px;
	transition: .4s var(--cubic_bezier);
	box-shadow: 0 0 30px 0 rgb(0 0 0 / 0);
}

.l-contact_inner:hover {
	box-shadow: 0 0 30px 0 rgb(0 0 0 / .1);
}

.l-contact h2 {
	color: var(--black);
	font-size: 20px;
	font-weight: 500;
	text-align: center;
}

.l-contact h2:before {
	content: attr(data-en);
	color: var(--blue_light);
	font-family: var(--font_family_lato);
	margin: 0 0 15px;
	display: block;
}

.l-contact .u-text {
	text-align: center;
	margin: 30px 0 0;
}

.l-contact .u-text b {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 10px;
	display: block;
}

.l-contact .u-text small {
	font-size: 14px;
	display: block;
}

.l-contact .u-button {
	margin: 30px 0 0;
}

.l-contact .u-button a {
	width: 420px;
	margin-inline: auto;
}

/*subsidy*/
.l-subsidy_inner {
	margin: 120px 0 0;
	padding: 55px 0 70px;
	background: url("../img/bg_02.webp") no-repeat center / cover;
	border-radius: 30px;
	box-shadow: 0 0 20px 0 rgb(0 0 0 / .05);
}

.l-subsidy_title {
	color: var(--black);
	font-size: 32px;
	line-height: 1.75;
	text-align: center;
}

.l-subsidy_title small {
	font-size: 20px;
	margin: .25em 0 0;
	display: block;
}

.l-subsidy_title + * {
	margin-top: 40px;
}

.l-subsidy .u-text {
	text-align: center;
}

.l-subsidy .u-text small {
	font-size: 14px;
	margin: .25em 0 0;
	display: block;
}

.l-subsidy .l-subsidy_link {
	text-align: center;
	margin: 30px 0 0;
}

.l-subsidy .l-subsidy_link:after {
	content: '';
	width: 1.25em;
	height: 1.25em;
	vertical-align: -.25em;
	margin: 0 0 0 .25em;
	display: inline-block;
	background: url("../img/arrow_02@black.svg") no-repeat center / 100% 100%;
	transition: .2s var(--cubic_bezier);
}

.l-subsidy .l-subsidy_link a {
	color: var(--black);
}

.l-subsidy .l-subsidy_link:hover:after {
	transform: translate(5px,0);
	transition: .2s .4s var(--cubic_bezier);
}

/*details*/
.l-detail {
	display: flex;
}

.l-detail:not(:first-child) {
	margin-top: 60px;
}

.l-detail:nth-child(even) {
	flex-direction: row-reverse;
}

.l-detail_image {
	width: 42.85%;
}

.l-detail_image img {
	border-radius: 20px;
}

.l-detail_image img.border {
	border: 1px solid #e3e3e3;
}

.l-detail_image + * {
	width: calc(100% - 42.85%);
	padding: 0 0 0 40px;
}

.l-detail:nth-child(even) .l-detail_image + * {
	padding-right: 40px;
	padding-left: 0;
}

.l-detail .u-title_low {
	margin-top: 1em;
}

.l-detail .u-button {
	width: 50%;
	margin-top: 30px;
}

.l-detail .u-button > * {
	font-size: 17px;
	padding: 1.25em 2.5em 1.35em 1em;
	border-radius: 20px;
}

.-reverse .l-detail {
	flex-direction: row-reverse;
}

.-reverse .l-detail:nth-child(even) {
	flex-direction: row;
}

.-reverse .l-detail_image + * {
	padding: 0 40px 0 0;
}

.-reverse .l-detail:nth-child(even) .l-detail_image + * {
	padding-right: 0;
	padding-left: 40px;
}















/*concern*/
.l-concern {
	margin-top: -60px;
}

.l-concern_items {
	display: flex;
	flex-wrap: wrap;
}

.l-concern_item {
	width: calc(100% / 2);
	padding: 30px;
}

.l-concern_item:nth-child(-n + 2) {
	padding-top: 0;
}

.l-concern figure {
	text-align: center;
	margin: 0 0 -30px;
}

.l-concern figure img {
	max-width: 260px;
}

/*overview*/
.l-overview {
	padding: 0 0 120px;
	overflow: hidden;
	transform: translateZ(0);
}

.l-overview .u-inner {
	position: relative;
}

.l-overview_read {
	font-size: 18px;
	line-height: 2;
	text-align: center;
	position: relative;
	z-index: 10;
}

.l-overview_catch {
	position: relative;
	z-index: 50;
}

.l-overview_catch:after {
	content: '';
	width: 40px;
	height: 40px;
	margin: 80px 0 0;
	display: block;
	background: url("../img/img_03.svg") no-repeat center / 100% 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
}

.l-overview_catch strong {
	font-size: 46px;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	margin: 100px 0 0;
	display: block;
}

.l-overview_catch span {
	font-family: var(--font_family_lato);
	font-size: 52px;
	font-weight: 500;
	vertical-align: -.035em;
	display: inline-block;
}

.l-overview h2 {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.75;
	text-align: center;
	margin: 60px 0 0;
	position: relative;
	z-index: 50;
}

.l-overview .u-text {
	text-align: center;
	margin: 20px 0 0;
	position: relative;
	z-index: 50;
}

.l-overview figure {
	position: absolute;
	top: 0;
}

.l-overview figure:nth-of-type(1) {
	width: 400px;
	margin: 160px 180px 0 0;
	right: 50%;
}

.l-overview figure:nth-of-type(2) {
	width: 364px;
	margin: 210px 0 0 220px;
	left: 50%;	
}

.l-overview figure:after {
	position: absolute;
	top: 0;
	z-index: 0;
}

.l-overview figure:nth-of-type(1):after {
	content: url("../img/img_04.webp");
	margin: 100px 0 0 130px;
	left: 0;
}

.l-overview figure:nth-of-type(2):after {
	content: url("../img/img_05.webp");
	margin: -150px 120px 0 0;
	right: 0;
}

.l-overview figure img {
	position: relative;
	z-index: 10;
}

/*mv*/
.l-mv {
	position: relative;
	overflow: hidden;
	transform: translateZ(0);
}

.l-mv > * {
	top: 0;
	left: 0;
	position: absolute;
	z-index: 10;
}

.l-mv_main {
	width: 842px;
	margin: -67px 0 0 -166px;
	left: 50%;
}

.l-mv_title {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0;
	margin: 30px 0 0 -590px;
	padding-left: 30px;
	left: 50%;
}

.l-mv_catch {
	font-size: 37px;
	line-height: 1.25em;
	letter-spacing: .05em;
	vertical-align: baseline;
	margin: 90px 0 0 -590px;
	padding-left: 30px;
	left: 50%;
}

.l-mv_catch span {
	font-family: var(--font_family_lato);
	font-size: 39px;
}

.l-mv_logo {
	text-align: center;
	width: 25.5em;
	margin: 370px 0 0 -590px;
	padding-left: 30px;
	left: 50%;
}

.l-mv_logo:after {
	content: url("../img/img_10.webp");
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(.75);
	z-index: 0;
}

.l-mv_logo > * {
	position: relative;
	z-index: 10;
}

.l-mv_logo h2 {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .05em;
	text-align-last: justify;
	white-space: nowrap;
}

.l-mv_logo img {
	width: 260px;
	margin: 22px 40px 0 0;
}

.l-mv_logo figcaption {
	font-size: 13px;
	padding: 12px 35px 0 0;
}

.l-mv_bg {
	width: 100%;
	height: 580px;
	background:
		url("../img/bg_01.webp") no-repeat center / cover,
		linear-gradient(to right, #f2fefe 0%, #c3eefb 30%, #a0d9f3 67%, #a9d3f2 100%)
	;
	position: relative;
	z-index: 0;
}

.l-mv_lists {
	margin: 210px 0 0 -590px;
	padding-left: 30px;
	left: 50%;
}

.l-mv_lists li {
	font-size: 17px;
	line-height: 1.35;
	letter-spacing: .05em;
	margin: .75em 0 0;
	padding: 0 0 0 1em;
	position: relative;
}

.l-mv_lists li:before {
	content: '';
	line-height: 1;
	width: 7px;
	height: 7px;
	margin: .5em 0 0;
	display: block;
	background: var(--blue);
	border-radius: 100vmax;
	position: absolute;
	top: 0;
	left: 0;
}

.l-mv_cta {
	text-align: center;
	margin: 60px 0 0;
	position: relative;
}

.l-mv_cta p {
	font-size: 18px;
}

.l-mv_cta a {
	width: 420px;
	margin: 40px auto 0;
}

/*menu*/
.l-menu {
	background-color: var(--white);
	border-radius: 0 0 60px 60px;
	position: sticky;
	top: 0;
	z-index: 100;
}

.l-menu:after {
	content: '';
	width: calc(100% - (60px * 2));
	height: 1px;
	margin: -1px 0 0;
	background-color: #ddd;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
}

.l-menu_inner {
	max-width: var(--max_w);
	margin-inline: auto;
	padding: 15px 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.l-menu_logo a {
	display: flex;
	align-items: center;
}

.l-menu_logo span {
	width: 42px;
	margin: 0 12px 0 0;
}

.l-menu_logo b {
	width: 110px;
}

.l-menu_items {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.l-menu_item {
	margin-inline: 1.65em;
}

.l-menu_item a {
	color: var(--black);
	text-decoration: none;
	font-weight: 500;
	letter-spacing: .15em;
}

.l-menu_item.u-button {
	margin-right: 0;
}

.l-menu_item.u-button > * {
	color: var(--white);
	font-size: 15px;
	letter-spacing: .05em;
	padding: .9em 1.25em 1.125em;
	border-radius: 1em;
}

.l-menu_item.u-button > *:after {
	display: none;
}

.l-menu + .l-concern {
	padding-top: 60px;
}
