@charset "utf-8";

/*----------------------------
	「nav.html」 pc navListWrap
------------------------------*/
.pc.navListWrap {
	position: fixed;
	overflow-y: auto;
	width: 420px;
	height: 100dvh;
	top: 0;
	left: 0;
	background: #f0f7ff;
	padding: 15px 40px 50px;
}
/* スクロールバー非表示 */
.pc.navListWrap {
	scrollbar-width: none;
}
.pc.navListWrap::-webkit-scrollbar {
	display: none;
}

/* language */
.pc.navListWrap .language {
	display: flex;
	justify-content: flex-end;
	position: relative;
}
.pc.navListWrap .language .languageBtn {
	font-size: var(--9px);	/* 13px ÷ 1.42 */
	font-weight: 500;
	border-bottom: 1px solid #bccad9;
	padding: 0 2px 1px 1px;
}
.pc.navListWrap .language .languageBtn::before {
	content: "";
	display: inline-block;
	position: relative;
	background: url(/common/img/ico_language.svg) no-repeat top center;
	background-size: contain;
	width: var(--13px);	/* 18px ÷ 1.42 */
	height: var(--13px);
	top: var(--3px);
	margin-right: 0.3em;
}
.pc.navListWrap .language .langList {
	display: none;
	position: absolute;
	z-index: 1001;
	top: var(--26px);
	right: -12px;
	background: #fff;
	border-radius: var(--5px);
	box-shadow: 0 0 10px rgba(52,74,98,0.15);
	padding: var(--8px) var(--12px);
	min-width: var(--80px);
}
.pc.navListWrap .language .langList li {
	padding: var(--2px) 0;
}
.pc.navListWrap .language .langList li a {
	font-size: var(--9px);	/* 13px ÷ 1.42 */
	font-weight: 500;
	line-height: 1.3;
	display: block;
	text-align: center;
	padding: var(--4px) 0;
}
.pc.navListWrap .language .langList li a {
	font-size: var(--9px);	/* 13px ÷ 1.42 */
	font-weight: 500;
	line-height: 1.3;
	display: block;
	text-align: center;
	padding: var(--4px) 0;
}
.pc.navListWrap .language .langList li a.pdf {
	padding: var(--1px) 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pc.navListWrap .language .langList li a.pdf::after {
	width: 2.1em;
	height: 2.1em;
	top: 0;
	margin-right: calc(0px - var(--2px));
}

/* navList */
.pc.navListWrap .navList {
	margin-top: 20px;
}
.pc.navListWrap .navList h2 {
	text-align: center;
	font-family: "Lora", serif;
	font-weight: 500;
	font-size: var(--20px);	/* 28px ÷ 1.42 */
	color: var(--keyColor02);
}
.pc.navListWrap .navList ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 15px;
}
.pc.navListWrap .navList ul li {
	width: calc((100% - 60px) / 4);
}
.pc.navListWrap .navList ul li a {
	display: block;
}
.pc.navListWrap .navList ul li a .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #fff;
	border-radius: 70px;
	box-shadow: 0 0 10px rgba(52,74,98,0.15);
}
.pc.navListWrap .navList ul li a .icon img {
	width: 36px;
}
.pc.navListWrap .navList ul li a .txt {
	display: block;
	text-align: center;
	font-size: var(--9px);	/* 13px ÷ 1.42 */
	font-weight: 500;
	line-height: 1.3;
	margin: 8px -5px 0;
}

/* bnrWrap */
.pc.navListWrap .bnrWrap {
	margin-top: 40px;
}
.pc.navListWrap .bnrWrap ul {
	margin: 0 auto;
	width: 95.384615%;
}
.pc.navListWrap .bnrWrap li + li {
	margin-top: 20px;
}
.pc.navListWrap .bnrWrap li a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2px;
	background: #fff;
	box-shadow: 0 0 8px rgba(52,74,98,0.15);
	border-radius: 8px;
}
.pc.navListWrap .bnrWrap li a img {
	border-radius: 6px;
}

/* snsWrap */
.pc.navListWrap .snsWrap {
	margin-top: 40px;
}
.pc.navListWrap .snsWrap h2 {
	position: relative;
	text-align: center;
	font-family: "Lora", serif;
	font-weight: 500;
	font-size: var(--13px);	/* 18px ÷ 1.42 */
	padding-bottom: 6px;
}
.pc.navListWrap .snsWrap h2::after {
	content: "";
	position: absolute;
	background: #222;
	width: 40px;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.pc.navListWrap .snsWrap ul {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-top: 20px;
}
.pc.navListWrap .snsWrap ul li {
	width: 64px;
}
.pc.navListWrap .snsWrap ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #fff;
	border-radius: 64px;
	box-shadow: 0 0 10px rgba(52,74,98,0.15);
}
.pc.navListWrap .snsWrap ul li a img {
	width: 38px;
}
.pc.navListWrap .snsWrap ul li:last-child a img {
	width: 40px;
}

/* txtLinkWrap */
.pc.navListWrap .txtLinkWrap {
	margin-top: 45px;
}
.pc.navListWrap .txtLinkWrap ul {
	margin: 0 auto;
	width: 95.384615%;
}
.pc.navListWrap .txtLinkWrap ul li + li {
	margin-top: 15px;
}
.pc.navListWrap .txtLinkWrap ul li {
	font-size: var(--10px);	/* 14px ÷ 1.42 */
	text-indent: -1em;
	padding-left: 1em;
}
.pc.navListWrap .txtLinkWrap ul li::before {
	content: "・";
}
.pc.navListWrap .txtLinkWrap ul li.blank a::after {
	content: "";
	display: inline-block;
	position: relative;
	background: url(/common/img/link_blank.svg) no-repeat top center;
	background-size: contain;
	width: var(--10px);	/* 14px ÷ 1.42 */
	height: var(--10px);
	top: var(--2px);
	margin-left: 0.3em;
}

/*----------------------------
	「nav.html」 sp navListWrap
------------------------------*/
.sp.navListWrap .navList a:focus-visible,
.sp.navListWrap .navList button:focus-visible {
	outline: 2px #fff solid;
	outline-offset: var(--8px);
}
.sp.navListWrap .navList.is-hidden {
	opacity: 0;
	pointer-events: none;
}
.sp.navListWrap .navList {
	position: fixed;
	background: var(--keyColor01);
	width: 100%;
	height: var(--57px);
	bottom: 0;
	left: 0;
	z-index: 999;
	transition: opacity 0.3s ease;
}
.sp.navListWrap .navList ul {
	display: flex;
	height: 100%;
}
.sp.navListWrap .navList ul li {
	width: calc(100% / 5);
	display: flex;
	align-items: center;
	justify-content: center;
}
.sp.navListWrap .navList ul li a {
	display: block;
}
.sp.navListWrap .navList ul li .menuicon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.sp.navListWrap .navList ul li .menuicon img {
	width: var(--22px);
}
.sp.navListWrap .navList ul li .menutxt {
	display: block;
	text-align: center;
	font-size: var(--11px);
	color: #fff;
	line-height: 1;
	margin: var(--4px) -5px var(--2px);
}

/*----------------------------
	hamburger
------------------------------*/
body {
	overflow-x: clip;
}
body.menuOpen {
	overflow: clip;
}
.sp.navListWrap .navList ul .hamburger #menuButton {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.sp.navListWrap .navList ul .hamburger #menuButton:hover {
	opacity: 1;
}
.sp.navListWrap .navList ul .hamburger .bar,
.sp.navListWrap .navList ul .hamburger .bar::before,
.sp.navListWrap .navList ul .hamburger .bar::after {
	width: var(--22px);
	height: 2px;
	background: #fff;
	margin: 0 auto;
	transition: transform 0.3s;
}
.sp.navListWrap .navList ul .hamburger .bar {
	display: grid;
	margin-top: 8px;
}
.sp.navListWrap .navList ul .hamburger .bar::before ,
.sp.navListWrap .navList ul .hamburger .bar::after {
	content: "";
	grid-area: 1 / 1;
}
.sp.navListWrap .navList ul .hamburger .bar::before {
	transform: translateY(calc(0px - var(--7px)));
}
.sp.navListWrap .navList ul .hamburger .bar::after {
	transform: translateY(calc(0px + var(--7px)));
}
.sp.navListWrap .navList ul .hamburger .menutxt {
	width: 100%;
	margin-top: 14px;
}

/* hamburger .menuOpen */
.menuOpen .sp.navListWrap .navList ul .hamburger .bar,
.menuOpen .sp.navListWrap .navList ul .hamburger .bar::before,
.menuOpen .sp.navListWrap .navList ul .hamburger .bar::after {
	transform: translateX(0);
}
.menuOpen .sp.navListWrap .navList ul .hamburger .bar {
	background-color: transparent;
}
.menuOpen .sp.navListWrap .navList ul .hamburger .bar::before {
	transform: rotate(45deg);
}
.menuOpen .sp.navListWrap .navList ul .hamburger .bar::after {
	transform: rotate(-45deg);
}

/*----------------------------
	hamburger .hamburgerMenuWrap
------------------------------*/
.sp.navListWrap #overlay {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	inset: 0;
	width: 100%;
	height: calc(100dvh - var(--57px));
	background: rgba(0, 0, 0, 0.5);
	z-index: 49;
	transition: opacity 0.3s ease;
}
.menuOpen .sp.navListWrap #overlay {
	visibility: visible;
	opacity: 1;
}
.sp.navListWrap .menuWrap {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50;
	width: 100%;
	height: calc(100dvh - var(--57px));
	padding: 0;
	background: #fff;
	/*opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease, visibility 0.6s ease;*/
	transform: translateY(120%);
	transition: transform 0.3s ease-out;
}
.menuOpen .sp.navListWrap .menuWrap {
	/*opacity: 1;
	visibility: visible;*/
	overflow-y: auto;
	transform: translateY(0);
}

/*----------------------------
	hamburger .menuWrap
------------------------------*/
/* headerLogo */
.sp.navListWrap .menuWrap .headerLogo {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--12px) 0;
	border-bottom: 1px solid var(--grayBorderColor);
}
.sp.navListWrap .menuWrap .headerLogo .logoLandmark {
	width: 69%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sp.navListWrap .menuWrap .headerLogo .logoLandmark a {
	width: 88.5%;
}
.sp.navListWrap .menuWrap .headerLogo .logomitsubishi {
	width: 27%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--5px) 0;
	border-left: 1px solid var(--grayBorderColor);
}
.sp.navListWrap .menuWrap .headerLogo .logomitsubishi img {
	width: 78%;
}

/* inner */
.sp.navListWrap .menuWrap .inner {
	width: 89.333333%;
	margin: 0 auto;
	padding: var(--60px) 0 var(--50px);
	position: relative;
}

/* language */
.sp.navListWrap .menuWrap .language {
	position: absolute;
	border: 1px solid var(--grayBorderColor);
	background: #fff;
	border-radius: var(--5px);
	padding: 0 var(--5px);
	top: var(--25px);
	left: 0;
	z-index: 1001;
}
.sp.navListWrap .menuWrap .languageBtn {
	position: relative;
	font-size: var(--13px);
	padding: var(--6px) var(--25px) var(--6px) var(--5px);
	min-width: 135px;
	text-align: left;
	display: flex;
	align-items: center;
}
.sp.navListWrap .menuWrap .languageBtn::before {
	content: "";
	display: inline-block;
	position: relative;
	background: url(/common/img/ico_language.svg) no-repeat top center;
	background-size: contain;
	width: var(--17px);
	height: var(--17px);
	margin-right: 0.5em;
}
.sp.navListWrap .menuWrap .languageBtn::after {
	content: "";
	position: absolute;
	border-top: solid 1px var(--baseColor);
	border-right: solid 1px var(--baseColor);
	width: var(--9px);
	height: var(--9px);
	top: 41%;
	right: var(--10px);
	transform: translateY(-50%) rotate(135deg);
}
.sp.navListWrap .menuWrap .langList {
	display: none;
	padding: var(--8px) 0;
	border-top: 1px solid var(--grayBorderColor);
}
.sp.navListWrap .menuWrap .langList li {
	padding: var(--5px) 0;
}
.sp.navListWrap .menuWrap .langList li a {
	font-size: var(--13px);
	line-height: 1.3;
	display: block;
	text-align: left;
	padding: var(--5px) 0 var(--5px) var(--28px);
}
.sp.navListWrap .menuWrap .langList li a.pdf {
	padding-top: 0;
}
.sp.navListWrap .menuWrap .langList li a.pdf::after {
	width: 1.6em;
	height: 1.6em;
	top: var(--5px);
}
.sp.navListWrap .menuWrap .langList li:has(a.pdf) {
	padding-top: var(--2px);
}

/* hamMenuList */
.sp.navListWrap .menuWrap .hamMenuList {
	display: block;
	padding-top: var(--15px);
}
.sp.navListWrap .menuWrap .hamMenuList li {
	width: 100%;
	display: block;
	border-bottom: 1px solid var(--grayBorderColor);
}
.sp.navListWrap .menuWrap .hamMenuList li a {
	display: flex;
	align-items: center;
	padding: var(--15px) var(--30px) var(--15px) 0;
	position: relative;
}
.sp.navListWrap .menuWrap .hamMenuList li a .icon {
	width: var(--24px);
	margin-right: var(--10px);
}
.sp.navListWrap .menuWrap .hamMenuList li a .txt {
	font-size: var(--14px);
	padding-bottom: var(--2px);
}
.sp.navListWrap .menuWrap .hamMenuList li a::after {
	content: "";
	position: absolute;
	background: url(/common/img/link_arrow.png) no-repeat top center;
	background-size: contain;
	width: var(--15px);
	height: var(--15px);
	top: calc(50% - var(--3px));
	right: var(--5px);
}
.sp.navListWrap .menuWrap .hamMenuList li.blank a::after {
	background: url(/common/img/link_blank.svg) no-repeat top center;
	background-size: contain;
	width: var(--15px);
	height: var(--15px);
	top: 50%;
	right: var(--6px);
	transform: translateY(-50%);
}

/* hamBnrList */
.sp.navListWrap .menuWrap .hamBnrList {
	margin-top: var(--35px);
	display: block;
}
.sp.navListWrap .menuWrap .hamBnrList li {
	width: 100%;
}
.sp.navListWrap .menuWrap .hamBnrList li + li {
	margin-top: var(--15px);
}

/* hamLinkList */
.sp.navListWrap .menuWrap .hamLinkList {
	margin-top: var(--25px);
	display: flex;
	flex-wrap: wrap;
	gap: var(--15px) var(--25px);
}
.sp.navListWrap .menuWrap .hamLinkList li {
	width: auto;
	font-size: var(--13px);
}
.sp.navListWrap .menuWrap .hamLinkList li.blank a::after {
	content: "";
	display: inline-block;
	position: relative;
	background: url(/common/img/link_blank.svg) no-repeat top center;
	background-size: contain;
	width: var(--14px);
	height: var(--14px);
	top: var(--2px);
	margin-left: 0.3em;
}


/*----------------------------
	翻訳モーダルのスタイル上書き
------------------------------*/
.cl-notranslate #crosslang-translate-modal .crosslang-translate-modal__container {
	width: 90% !important;
	min-width: auto !important;
	max-width: 810px !important;
	padding-bottom: 40px !important;
}
@media (max-width: 768px) {
	.cl-notranslate #crosslang-translate-modal .crosslang-translate-modal__footer {
		gap: 0 1rem !important;
		padding-bottom: 0 !important;
	}
	.cl-notranslate #crosslang-translate-modal .crosslang-translate-modal__btn {
		min-width: auto !important;
		width: calc(50% - 0.5rem) !important;
		margin: 0 auto !important;
	}
}
