@charset "utf-8";


/*
page-title
*/
.page-title {
	z-index: 1;
	&::before {
		position: absolute;
		top: 316px;
		left: 0;
		width: 100%;
		height: 341px;
		content: "";
		background: linear-gradient(var(--white) 0%, var(--white) 50%, rgba(255, 255, 255, 0) 100%);
		pointer-events: none;
		z-index: -1;
		@media (width <= 800px) {
			display: none;
		}
	}
}

/*
logo-page
*/
.logo-page {
	z-index: 1;
}


/*
article
*/
article {
	z-index: inherit;
}

/*
international01
*/
.international-content {
	position: relative;
	@media (width <= 800px) {
		padding: 0 14px;
	}
	&::after {
		position: absolute;
		left: 0;
		bottom: 140px;
		width: 100%;
		height: 218px;
		background: linear-gradient(rgba(var(--white-rgba), 0) 0%, var(--white) 60%, var(--white) 100%);
		content: "";
		pointer-events: none;
		z-index: 1;
		@media (width <= 800px) {
			bottom: 0;
			height: 83px;
		}
	}
	.index {
		position: absolute;
		left: 88px;
		top: 116px;
		width: 100%;
		max-width: 355px;
		z-index: 3;
		@media (width <= 800px) {
			position: relative;
			left: auto;
			top: auto;
			background-color: var(--lightblue);
			border-radius: 16px;
			max-width: inherit;
			margin-bottom: 40px;
		}
		h2 {
			display: none;
			@media (width <= 800px) {
				display: block;
				cursor: pointer;
				padding: 24px 20px;
				margin-bottom: 0;
			}
			&.open {
				.en {				
					&::after {
						@media (width <= 800px) {
							rotate: 0deg;
						}
					}
				}
			}
			.en {
				position: relative;
				display: inline-block;
				color: var(--blue);
				font-size: 24px;
				font-weight: 600;
				padding-right: 27px;
				&::after {
					position: absolute;
					right: 0;
					top: 50%;
					translate: 0 -50%;
					width: 12px;
					height: 7px;
					content: "";
					background-image: url(../img/arrow_d02.svg);
					background-repeat: no-repeat;
					background-position: left top;
					background-size: cover;
					pointer-events: none;
					transition: rotate 0.3s ease-out;
					@media (width <= 800px) {
						rotate: -180deg;
					}
				}
			}
		}
		.slide-content {
			position: relative;
			display: flex;
			justify-content: space-between;
			width: 100%;
			@media (width <= 800px) {
				display: none;
				z-index: 2;
			}
			ol {
				position: relative;
				width: 100%;
				margin: 0;
				padding: 0;
				list-style: none;
				counter-reset: index;
				z-index: 2;
				li {
					position: relative;
					margin: 0;
					padding: 0;
					&:first-child {
						a {
							border-top: 1px solid #DDDBE0;
							@media (width <= 800px) {
								border-top-color: #D7D9DF;
							}
						}
					}
					&:last-child {
						@media (width <= 800px) {
							a {
								border-bottom: none;
							}
						}
					}
					a {
						position: relative;
						display: flex;
						align-items: center;
						width: 100%;
						min-height: 55px;
						color: var(--darkblue);
						text-decoration: none;
						font-size: 14px;
						font-weight: 500;
						padding: 0 48px 0 56px;
						border-bottom: 1px solid #DDDBE0;
						transition: background-color 0.3s ease-out;
						@media (width >= 800px) {
							&:hover {
								background-color: rgba(var(--white-rgba), 0.5);
								.btn-circle {
									background-color: var(--blue);
									&::before {
										translate: -50% 350%;
									}
									&::after {
										translate: -50% -50%;
									}
								}
							}
						}
						@media (width <= 800px) {
							min-height: 52px;
							border-bottom-color: #D7D9DF;
						}
						&::before {
							position: absolute;
							top: 50%;
							left: 20px;
							translate: 0 -50%;
							content: counter(index, decimal-leading-zero);
							counter-increment: index;
							color: var(--blue);
							font-family: "Figtree", sans-serif;
							font-size: 12px;
							font-weight: 400;
							line-height: 1;
							@media (width <= 800px) {
								padding-top: 1px;
							}
						}
						.branch {
							display: inline-block;
							font-weight: 300;
							padding-left: 1em;
						}
						.btn-circle {
							right: 16px;
							width: 14px;
							height: 14px;
							background-color :#707070;
							transition: background-color 0.3s ease-out;
							overflow: hidden;
							&::before,
							&::after  {
								position: absolute;
								left: 50%;
								top: 50%;
								width: 8px;
								height: 4px;
								content: "";
								background-color: var(--white);
								mask-image: url(../img/arrow_d02.svg);
								mask-repeat: no-repeat;
								mask-position: left top;
								mask-size: cover;
								transition: translate 0.3s ease-out;				
							}
							&::before {
								translate: -50% -50%;
							}
							&::after {
								translate: -50% -350%;
							}
						}
					}
				}
			}
			.blur,
			.bg-blur {
				@media (width <= 800px) {
					display: none;
				}
			}
		}
	}
	.read-map {
		position: absolute;
		left: 88px;
		top: 0;
		color: var(--darkblue);
		font-size: 24px;
		line-height: 1.6;
		margin: 0;
		z-index: 2;
		@media (width <= 800px) {
			position: relative;
			left: auto;
			top: auto;
			font-size: 16px;
			font-weight: 500;
		}
	}
	.international-map {
		position: relative;
		width: 1614px;
		translate: 2% -75px;
		margin: 0 auto;
		pointer-events: none;
		@media (width <= 800px) {
			width: 163.5vw;
			translate: -44vw 0;
		}
		.international-map-img {
			position: relative;
			width: 100%;
			background-color: var(--white);
			z-index: 1;
			&::before {
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				content: "";
				background-image: url(../img/bg_international_map.webp);
				background-repeat: no-repeat;
				background-position: center top;
				background-size: contain;
				pointer-events: none;
				z-index: 0;
				mix-blend-mode: soft-light;
				opacity: 0.53;
			}
			img {
				width: 100%;
			}
		}
		.international-map-img-sp {
			display: none;
			@media (width <= 800px) {
				display: block;
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				z-index: 1;
				img {
					width: 100%;
				}
			}
		}
		.pin {
			position: absolute;
			left: 50%;
			top: 50%;
			width: 12px;
			height: 14px;
			pointer-events: none;
			z-index: 1;
			@media (width <= 800px) {
				display: none;
			}
			&::before {
				position: absolute;
				left: 50%;
				bottom: 0;
				translate: -50% 0;
				width: 100%;
				height: 100%;
				background-color: var(--blue);
				mask-image: url(../img/icon_pin.svg);
				mask-repeat: no-repeat;
				mask-position: left top;
				content: "";
				pointer-events: none;
				transform-origin: center bottom;
				transition: all 0.3s ease-out;
			}
			&.active {
				&::before {
					scale: 2;
				}
				.pin-text {
					opacity: 1;
					pointer-events: auto;
				}
			}
			&.p01 {
				translate: -1530% -80%;
			}
			&.p02 {
				translate: -2435% 205%;
			}
			&.p03 {
				translate: -1315% -590%;
			}
			&.p04 {
				translate: -1540% -340%;
			}
			&.p05 {
				translate: -2280% 325%;
			}
			&.p06 {
				translate: -2250% 670%;
			}
			&.p07 {
				translate: -2040% 1035%;
			}
			&.p08 {
				translate: -2060% 435%;
			}
			&.p09 {
				translate: 4050% -495%;
				.pin-text {
					left: -160px;
				}
			}
			&.p10 {
				translate: -3110% -135%;
			}
			.pin-text {
				position: absolute;
				left: 25px;
				top: 50%;
				translate: 0 -100%;
				display: flex;
				align-items: center;
				color: var(--darkblue);
				font-size: 14px;
				font-weight: 500;
				white-space: nowrap;
				transition: opacity 0.3s ease-out;
				pointer-events: none;
				opacity: 0;
				.branch {
					display: inline-block;
					font-weight: 300;
					padding-left: 1em;
				}
			}
		}
	}
}




/*
international02
*/
.international02 {
	background-color: var(--lightblue);
	padding: 96px 0 80px;
	margin-top: -140px;
	z-index: 1;
	@media (width <= 800px) {
		padding: 64px 0 56px;
		margin-top: 0;
	}
	h2 {
		color: var(--blue);
		font-size: 32px;
		line-height: 1.43;
		margin-bottom: 40px;
		@media (width <= 800px) {
			font-size: 24px;
			margin-bottom: 32px;
		}
	}
}
.office {
	border-radius: 12px;
	background-color: var(--white);
	h3 {
		display: block; 
		width: 100%;
		color: var(--blue);
		font-size: 24px;
		line-height: 1.5;
		margin-bottom: 10px;
		@media (width <= 800px) {
			margin-bottom: 16px;
		}
		.s-title {
			display: inline-block;
			font-weight: 400;
			padding-left: 1em;
			@media (width <= 800px) {
				display: block;
				padding-left: 0;
			}
		}
	}
	.office-detail {
		display: flex;
		justify-content: space-between;
		position: relative;
		width: 100%;
		padding: 48px 40px 56px;
		@media (width <= 800px) {
			padding: 32px 14px 24px;
		}
		&::after {
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 1px;
			background-color: var(--lightgray);
			content: "";
		}
		.l-office {
			width: 70.7%;
			@media (width <= 800px) {
				width: 100%;
			}
			.office-img {
				display: none;
				@media (width <= 800px) {
					display: block;
					width: 80%;
					margin-bottom: 16px;
				}
			}
			.address-text {
				font-family: "Figtree", sans-serif;
			}
			.tel-content {
				p {
					font-family: "Figtree", sans-serif;
				}
			}
		}
		.r-office {
			width: 26%;
			@media (width <= 800px) {
				display: none;
			}
		}
		.office-img {
			width: 100%;
			img {
				width: 100%;
				border-radius: 8px;
			}
		}
	}
}


/*
related-pages
*/
.related-pages {
	ul {
		li {
			&:nth-child(3) {
				display: none;
			}
		}
	}
}