/* ==================================================
	base
================================================== */

.main_content {
	line-height: 1.375;
}
.main_content img {
	height: auto;
}
.main_content p + p,
.main_content div + p,
.main_content ul + p,
.main_content ol + p,
.main_content dl + p,
.main_content img + p,
.main_content table + p {
	margin-top: 1em;
}
.main_content * + .button,
.main_content * + [class*="c-button-"] {
	margin-top: 20px;
}
.main_content .list_basic > li {
	line-height: inherit;
}
.main_content .list_basic > li::before {
	top: 0;
}



/* ----------------------------------------
	a
---------------------------------------- */

.main_content a:not([class]):link,
.main_content a:not([class]):visited {
	color: inherit;
}



/* ----------------------------------------
	breadcrumbs, title
---------------------------------------- */

.page_title_area_aem {
	display: none;
}

@media screen and (max-width: 1023px) {
	.breadcrumbs.for_mobile {
		display: none;
	}
}

@media screen and (min-width: 1024px) {
	.breadcrumbs.for_pc {
		display: none;
	}
}



/* ----------------------------------------
	page_top
---------------------------------------- */

@media screen and (min-width: 1024px) {
	.page_top {
		padding: 0;
		border-top: none;
	}
	.page_top_text {
		display: none;
	}
}





/* ==================================================
	color
================================================== */

:root {
	--Electric-Blue: #024ad8;
	--Power-Storm: #568393;
	--Orange-Bloom: #ff5050;
	--Standard-gray: #e6e6e6;
	--Light-gray: #f2f2f2;
}

.fc_blue { color: var(--Electric-Blue) !important; }
.fc_power_storm { color: var(--Power-Storm) !important; }
.fc_orange { color: var(--Orange-Bloom) !important; }





/* ==================================================
	cont_wrap
================================================== */

.cont_wrap {
	padding: 40px 20px;
}

@media screen and (min-width: 768px) {
	.cont_wrap {
		padding: 60px 30px;
	}
}





/* ==================================================
	button
================================================== */

.main_content .button.large {
	padding: 14px 20px;
	border-radius: 8px;
}
.main_content .button.critical {
	background: var(--Electric-Blue);
}
.main_content .button.critical:hover {
	background: #0036c4;
}





/* ==================================================
	flow
================================================== */

.flow {
	display: flex;
	padding: 0 20px 40px;
	margin-top: 30px;
}

@media screen and (max-width: 767px) {
	.flow {
		flex-direction: column;
		row-gap: 30px;
		max-width: calc(382px + 40px);
		margin-right: auto;
		margin-left: auto;
	}
	.flow .media img {
		border-radius: 12px;
	}
}

@media screen and (min-width: 768px) {
	.flow {
		column-gap: 40px;
		max-width: 1920px;
		padding: 0 0 60px;
		margin-right: auto;
		margin-left: auto;
	}
	.flow .media {
		width: calc(50% - 40px);
	}
	.flow .media img {
		object-fit: cover;
		height: 100%;
		border-radius: 0 16px 16px 0;
	}
	.flow .cont {
		width: 50%;
	}
}

@media screen and (min-width: 1280px) {
	.flow {
		column-gap: 82px;
	}
	.flow .media {
		width: 56.35416666666667%;
	}
	.flow .cont {
		width: auto;
	}
}


/* flow_list -------------------- */

.flow_list {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-top: 20px;
}
.flow_list > li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	position: relative;
}
.flow_list > li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 44px;
	bottom: -28px;
	left: 19px;
	width: 2px;
	background: var(--Electric-Blue);
}
.flow_list .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	color: var(--Electric-Blue);
	text-align: center;
	border: 2px solid var(--Electric-Blue);
	border-radius: 50%;
}
.flow_list .icon span {
	padding-top: 2px;
	line-height: 1;
}
.flow_list .text {
	padding-top: 4px;
}

@media screen and (min-width: 768px) {
	.flow_list {
		margin-top: 40px;
	}
}





/* ==================================================
	secondary_navi
================================================== */


.local_navi_menu > h2 a:link,
.local_navi_menu > h2 a:visited {
	color: #000;
	text-decoration: none;
}
.local_navi_menu > h2 a:hover {
	text-decoration: underline;
}
.local_navi_menu_level1 > li a {
	text-decoration: none !important;
}



/* ----------------------------------------
	sp
---------------------------------------- */

@media screen and (max-width: 1023px) {
	body.secondary_navi_open {
		overflow: hidden;
	}
	.secondary_navi.open {
		overflow-y: auto;
		position: fixed;
		top: 0;
		max-height: 100%;
		z-index: 1000;
	}

	/* overlay -------------------- */
	.secondary_navi_overlay {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0,0,0,.75);
		z-index: 999;
	}

	/* close -------------------- */
	.secondary_navi_close {
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		bottom: 35px;
		left: 50%;
		transform: translateX(-50%);
		width: 30px;
		height: 30px;
		background: #4d4d4d;
		border: 1px solid #fff;
		z-index: 1000;
	}
	.secondary_navi_close::after {
		display: inline-block;
		content: "";
		width: 12px;
		height: 12px;
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="9 9 12 12" version="1.1" preserveAspectRatio="xMinYMin"><path d="M 9 9 L 21 21 M 9 21 L 21 9" stroke="%23fff" stroke-width="1" fill="transparent"></path></svg>');
	}

	/* trigger -------------------- */
	.secondary_navi_trigger_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		min-height: 62px;
		padding: 8px 1.6rem;
		background: #fff;
	}
	.secondary_navi_trigger {
		display: flex;
		align-items: center;
	}
	.secondary_navi_trigger::before {
		content: none;
	}
	.secondary_navi_trigger::after {
		display: inline-block;
		content: "";
		width: 12px;
		min-width: 12px;
		height: 6px;
		margin-left: 10px;
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6"><path d="m455.465 769.707-1.847-.974 3.478-5.054-3.475-4.989 1.841-.983 4.156 5.966z" transform="rotate(90 611.663 158.045)"></path></svg>');
	}
	.secondary_navi_trigger.open::after {
		transform: scaleY(-1);
	}
	.secondary_navi_trigger h2 {
		font-size: 20px;
		font-weight: normal;
		line-height: 1.2;
	}

	/* menu -------------------- */
	.secondary_navi .local_navi_menu {
		position: static;
	}
	.local_navi_menu > h2 {
		display: none;
	}

	/* level 1 -------------------- */
	.local_navi_menu_level1 > li {
		background: #fff;
		border-color: #e8e8e8;
	}
	.local_navi_menu_level1 > li a {
		color: #000;
	}
	.local_navi_menu_level1 > li a br {
		display: none;
	}
	.local_navi_menu_level1 > li > a:not(:only-child) {
		border-color: #e8e8e8;
	}
	.local_navi_menu_level1 > li.local_navi_level2_open {
		background: #fff;
	}

	/* level2 -------------------- */
	.local_navi_menu_level2 > li {
		background: rgba(243,243,243,1);
		border-top: none;
	}
	.local_navi_level2_trigger::after {
		content: "";
		width: 12px;
		height: 6px;
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6"><path d="m455.465 769.707-1.847-.974 3.478-5.054-3.475-4.989 1.841-.983 4.156 5.966z" transform="rotate(90 611.663 158.045)"></path></svg>');
	}
	.local_navi_level2_open .local_navi_level2_trigger::after {
		content: "";
		transform: translate(-50%,-50%) scaleY(-1);
	}
}

@media screen and (max-width: 479px) {
	.secondary_navi_trigger h2 {
		font-size: 18px;
		line-height: 1.1;
	}
	.secondary_navi_trigger h2 span {
		display: block;
		margin-top: 3px;
		font-size: 11px;
	}
}



/* ----------------------------------------
	pc
---------------------------------------- */

@media screen and (min-width: 1024px) {
	.local_navi {
		width: 100%;
		padding: 0 20px;
		background: #fff;
	}
	.secondary_navi_trigger_wrap {
		display: none;
	}
	.local_navi .local_navi_menu {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
		gap: 30px;
		max-width: 1220px;
		height: 72px;
		margin: 0 auto;
	}
	.local_navi_menu a {
		color: #000;
	}
	.local_navi_menu > h2 {
		margin-right: auto;
		font-size: 20px;
		font-weight: normal;
		line-height: 1;
		text-decoration: none;
	}
	.local_navi_menu > h2 a {
		color: #000;
		text-decoration: none;
	}
	.local_navi_menu > h2 a:hover {
		text-decoration: underline;
	}
	.local_navi_menu_level1 {
		display: flex;
		justify-content: space-between;
		gap: 30px;
		height: 100%;
		font-size: 15px;
		white-space: nowrap;
	}
	.local_navi_menu_level1 > li > a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		height: 100%;
		color: #000;
		line-height: 1.4;
	}
	.local_navi_menu_level1 > li > a::after {
		display: block;
		transition: .2s;
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 4px;
		background: #165dba;
		opacity: 0;
	}
	.local_navi_menu_level1 > li.current > a::after,
	.local_navi_menu_level1 > li > a:hover::after {
		opacity: 1;
	}

	/* level2 -------------------- */
	.local_navi_menu_level2_area {
		top: 100%;
		left: -20px;
	}
	.local_navi_menu_level2 {
		min-width: 300px;
		background: #fff;
		border: 1px solid #e8e8e8;
		box-shadow: 0 12px 12px 0 rgb(0 0 0 / 20%);
	}
	.local_navi_menu_level2 li a {
		display: block;
		padding: 10px 20px;
		text-align: left;
		transition: .2s;
		white-space: nowrap;
	}
	.local_navi_menu_level2 li a:hover {
		color: #165dba;
		text-decoration: none;
		background: #e6fcff; /*rgba(44,48,56,.05)*/
	}
}


@media screen and (min-width: 1024px) and (max-width: 1279px) {
	.local_navi_menu_level1 {
		gap: 20px;
		font-size: 14px;
	}
}





/* ==================================================
	main
================================================== */

.main {
	display: flex;
}

@media screen and (max-width: 767px) {
	.main {
		flex-direction: column-reverse;
	}
	.main .cont {
		padding: 30px 20px;
	}
}

@media screen and (min-width: 768px) {
	.main .cont {
		align-self: center;
		position: relative;
		z-index: 1;
		width: 50%;
	}
	.main .cont .inner {
		padding: 40px 0 40px 30px;
	}
	.main .cont h2 {
		width: max-content;
	}
	.main .media {
		width: 50%;
	}
	.main .media img {
		object-fit: cover;
		object-position: left;
		height: 100%;
		min-height: 450px;
	}
}

@media screen and (min-width: 1280px) {
	.main .cont {
		width: calc(50% - 193px);
	}
	.main .cont .inner {
		max-width: calc(416px + 30px);
		margin-left: auto;
	}
	.main .media {
		width: calc(50% + 193px);
	}
	.main .media img {
		max-width: 1053px;
	}
}

@media screen and (min-width: 1920px) {
	.main .cont {
		width: calc(50% - 93px);
	}
	.main .cont .inner {
		max-width: calc(516px + 30px);
	}
	.main .media {
		width: calc(50% + 93px);
	}
}





/* ==================================================
	inquiry_link
================================================== */

.inquiry_link {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 401;
}
.inquiry_link a {
	display: flex;
	align-items: center;
	gap: 10px;
	transition: .2s;
	height: 50px;
	padding: 0 30px;
	text-decoration: none !important;
	background: var(--Electric-Blue);
	border-radius: 30px;
	box-shadow: 6px 6px 12px 0 rgb(0 0 0 / .2);
}
.inquiry_link a::after {
	content: "";
	width: 30px;
	height: 30px;
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.7 3h-.2a5 5 0 0 0-4.4 5.8 5 5 0 0 0 8 3.2l.9-1a5 5 0 0 0-3.5-8h-.8Zm.7 1a4 4 0 1 1-.8 0h.8Zm-.6 10a8 8 0 0 0-7.6 6.2v.4c0 .2.2.4.4.4s.3 0 .4-.2l.2-.3a7 7 0 0 1 6.2-5.5h1.1a7 7 0 0 1 6.3 5.5c0 .2.1.3.2.3.2.2.4.2.6.1 0 0 .2-.1.2-.3v-.4a8 8 0 0 0-8-6.2Z"></path></svg>') no-repeat center center;
	filter: invert(1);
}
.inquiry_link a:hover {
	background: #000;
}
.inquiry_link a span {
	color: #fff;
}

@media screen and (min-width: 1024px) {
	.inquiry_link {
		right: 20px;
		bottom: 100px;
	}
	.inquiry_link a {
		height: 60px;
	}
}





/* ==================================================
	inquiry
================================================== */

.inquiry {
	background: rgb(2 74 216 / .1);
}
.inquiry_cont {
	display: grid;
	gap: 30px 80px;
}
.inquiry_cont a:link,
.inquiry_cont a:visited {
	color: var(--Power-Storm) !important;
	text-decoration: underline;
}
.inquiry_cont a:hover {
	text-decoration: none;
}
.inquiry_info_list > li {
	font-size: 18px;
}
.inquiry_info_list > li:nth-child(n+2) {
	margin-top: .5em;
}

@media screen and (min-width: 1024px) {
	.inquiry {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.inquiry_cont {
		grid-template-columns: repeat(2, 1fr);
	}
	.inquiry_cont .title {
		align-self: center;
	}
	.inquiry_cont .cont {
		position: relative;
		padding: 20px 0;
	}
	.inquiry_cont .cont::after {
		content: "";
		position: absolute;
		top: 0;
		left: -40px;
		width: 1px;
		height: 100%;
		background: #000;
	}
	.inquiry_info_list > li {
		font-size: 22px;
	}
}
