@charset "utf-8";
:root {
/* 共通設定 */
	--color--black: #000000;
}
a {
	display: block;
}
img,video{
	display: block;
}
html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.pc {
	display: inline-block;
}
.sp {
	display: none;
}
.view_pc {
	display: block;
}
.view_sp {
	display: none;
}
/* ディレイ */
.delay01{
	transition-delay: .1s;
}
.delay02{
	transition-delay: .2s;
}
.delay03{
	transition-delay: .3s;
}
.delay04{
	transition-delay: .4s;
}
.delay05{
	transition-delay: .5s;
}
.delay06{
	transition-delay: .6s;
}
.delay07{
	transition-delay: .7s;
}
.delay08{
	transition-delay: .8s;
}
.delay09{
	transition-delay: .9s;
}
.delay10{
	transition-delay: 1s;
}
/* アニメーション */
.fadeIn_logo{
	opacity: 0;
	filter: blur(10px);
	transition: 1s;
	-webkit-transition: 1s;
	transition-delay: 0.6s;
}
.fadeIn_logo.run {
	filter: blur(0px);
	opacity: 1;
}
.fadeIn {
	opacity: 0;
	transition: .8s;
	-webkit-transition: .8s;
}
.fadeIn.run {
	opacity: 1;
}
.fadeIn_up {
	opacity: 0;
	transform: translate(0, 20px);
	-webkit-transform: translate(0, 20px);
	transition: .8s;
	-webkit-transition: .8s;
}
.fadeIn_up.run {
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	opacity: 1;
}
.fadeIn_right {
	opacity: 0;
	transform: translate(20px, 0px);
	-webkit-transform: translate(20px, 0px);
	filter: blur(10px);
	transition: .8s;
	-webkit-transition: .8s;
}
.fadeIn_right.run {
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	filter: blur(0px);
	opacity: 1;
}
.fadeIn_left {
	opacity: 0;
	transform: translate(-20px, 0px);
	-webkit-transform: translate(-20px, 0px);
	filter: blur(10px);
	transition: .8s;
	-webkit-transition: .8s;
}
.fadeIn_left.run {
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	filter: blur(0px);
	opacity: 1;
}
/* ここまで */
body {
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	background-color: #ffffff;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: #000000;
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: 0.05em;
/*	font-feature-settings: "palt";*/
}
body.scroll-stop {
	overflow: hidden;
}
#wrap{
	width: 100%;
	height: 100%;
	background-image: url(../image/page_big_bg.webp);
	background-size: 100% auto;
	background-position: top center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.noto__sc{
	font-family: "Noto Serif SC", serif;
	font-weight: 500;
  }
.noto__tc{
	font-family: "Noto Serif TC", serif;
	font-weight: 500;
  }
.noto__ko{
	font-family: "Noto Serif KR", serif;
	font-weight: 500;
  }
header{
    width: 100%;
    height: 100px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
	pointer-events: none;
}
	.header__inner{
		width: 100%;
		height: 100px;
	}
		.header__logo{
			width: 173px;
			height: 42px;
			position: absolute;
			top: 44.29px;
			left: 44px;
			transition: 0.6s;
			pointer-events: auto;
		}
			.hero__logo_first{
				display: block;
				z-index: 3;
			}
			.hero__logo_second{
				display: block;
				z-index: 2;
			}
			/* .hero__logo_first.scrolled_logo{
				display: none;
			}
			.hero__logo_second.scrolled_logo{
				display: block;
			} */
			.header__logo_link{
				width: 100%;
				height: 100%;
				display: block;
			}
				.header__logo_link img{
					width: 100%;
				}
		.header__nav{
			display: flex;
			align-items: flex-start;
			column-gap: 20px;
			position: absolute;
			top: 20px;
			right: 20px;
			pointer-events: auto;
		}
			.header__nav_lang{
				width: 118px;
				height: auto;
				border: 1px solid #000;
				border-radius: 18px;
				background-color: #fff;
				cursor: pointer;
				overflow: hidden;
				margin-top: 10px;
			}
				.header__nav_lang_btn{
					width: 100%;
					height: 100%;
					padding: 10px 14px 12px 14px;
					display: flex;
					align-items: center;
					justify-content: space-between;
					column-gap: 6px;
				}
					.header__nav_lang_btn_text{
						font-size: 14px;
						font-weight: 500;
						color: #000;
						flex: 1;
						line-height: 1;
					}
					.arrow_down{
						width: 7px;
						height: auto;
						min-width: 7px;
						padding-top: 4px;
						transition: 0.3s;
					}
						.arrow_down img{
							width: 100%;
							height: auto;
						}
					.active .arrow_down{
						transform: scaleY(-1) translateY(-2px);
						padding-top: 0;
					}
				.header__nav_lang_menu{
					width: 100%;
					display: none;
					padding: 0px 2px 14px 14px;
				}
					.header__nav_lang_btn_link{
						font-size: 14px;
						letter-spacing: 0em;
						font-weight: 500;
						color: #000;
					}
			.hamburger{
				width: 60px;
				height: 60px;
				position: relative;
				z-index: 102;
			}
				.hbg_btn{
					width: 100%;
					height: 100%;
					border-radius: 50%;
					background-color: #C39A6C;
					padding: 0;
					display: flex;
					align-items: center;
					justify-content: center;
					cursor: pointer;
				}
					.hbg_btn__inner{
						width: 18px;
						height: 14px;
						position: relative;
					}
						.hbg_btn_line{
							width: 18px;
							height: 2px;
							background-color: #fff;
							position: absolute;
							transition: 0.8s ease;
						}
						.hbg_btn_line_top{
							width: 18px;
							height: 2px;
							top: 0;
							left: 0;
						}
						.open .hbg_btn_line_top{
							transform: translateY(0px) rotate(0deg);
							animation: open_hbg_btn_line_top 0.6s forwards;
						}
						.hbg_btn_line_mid{
							width: 18px;
							height: 2px;
							top: 50%;
							left: 0;
							transform: translateY(-50%);
						}
						.open .hbg_btn_line_mid{
							opacity: 0;
						}
						.hbg_btn_line_btm{
							width: 18px;
							height: 2px;
							bottom: 0;
							left: 0;
						}
						.open .hbg_btn_line_btm{
							transform: translateY(0px) rotate(0deg);
							animation: open_hbg_btn_line_btm 0.6s forwards;
						}
						@keyframes open_hbg_btn_line_top {
							0%{
								transform: translateY(0px) rotate(0deg);
							}
							60%{
								transform: translateY(6px) rotate(0deg);
							}
							100%{
								transform: translateY(6px) rotate(-45deg);
							}
						}
						@keyframes open_hbg_btn_line_btm {
							0%{
								transform: translateY(0px) rotate(0deg);
							}
							60%{
								transform: translateY(-6px) rotate(0deg);
							}
							100%{
								transform: translateY(-6px) rotate(45deg);
							}
						}
						.close .hbg_btn_line_top{
							transform: translateY(0px) rotate(0deg);
							animation: close_hbg_btn_line_top 0.6s forwards;
						}
						.close .hbg_btn_line_btm{
							transform: translateY(0px) rotate(0deg);
							animation: close_hbg_btn_line_btm 0.6s forwards;
						}
						@keyframes close_hbg_btn_line_top {
							0%{
								transform: translateY(6px) rotate(-45deg);
							}
							40%{
								transform: translateY(6px) rotate(0deg);
							}
							100%{
								transform: translateY(0px) rotate(0deg);
							}
						}
						@keyframes close_hbg_btn_line_btm {
							0%{
								transform: translateY(-6px) rotate(45deg);
							}
							40%{
								transform: translateY(-6px) rotate(0deg);
							}
							100%{
								transform: translateY(0px) rotate(0deg);
							}
						}
	.global_nav{
		display: none;
		width: 100%;
		height: 100vh;
		background-color: #000;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 101;
		pointer-events: auto;
	}
		.global_nav__contents{
			width: 100%;
			height: 100%;
			position: relative;
		}
			.global_nav_list{
				width: fit-content;
				height: auto;
				display: flex;
				align-items: flex-start;
				column-gap: 55px;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%,-50%);
			}
				.global_nav_item{
					width: 60px;
					display: block;
				}
					.global_nav_link{
						writing-mode: vertical-rl;
						line-height: 1;
						font-size: 28px;
						font-weight: 500;
						letter-spacing: 0.06em;
						color: #FFFFFF;
					}
					.global_nav_link:hover .global_nav_link_ja{
						color: #868686;
					}
					.global_nav_link:hover .global_nav_link_ja::before{
						background-color: #868686;
					}
						.global_nav_link .global_nav_link_ja{
							display: inline-block;
							position: relative;transition: 0.4s;
						}
							.global_nav_link .global_nav_link_ja::before{
								content: "";
								display: block;
								background-color: #fff;
								width: 6px;
								height: 6px;
								border-radius: 50%;
								position: absolute;
								top: -22px;
								left: 50%;
								transform: translateX(-50%);
								transition: 0.4s;
							}
						.global_nav_link .global_nav_link_en{
							display: inline-block;
							writing-mode: vertical-rl;
							font-size: 18px;
							font-weight: 500;
							letter-spacing: 0.06em;
							padding-left: 8px;
							color: #868686;
							transition: 0.3s;
						}
			.global_nav__btm_contents{
				width: 100%;
				height: auto;
				position: absolute;
				bottom: 0;
				left: 0;
			}
				.copy{
					font-weight: 500;
					font-size: 14px;
					letter-spacing: 0.06em;
					color: #FFFFFF;
					line-height: 1;
					position: absolute;
					bottom: 50px;
					left: 50px;
				}
					.copy span{
						display: block;
						padding-top: 2px;
						writing-mode: vertical-rl;
					}
				.global_nav__btm_contents_logo_min{
					width: 115px;
					height: auto;
					position: absolute;
					bottom: 70.69px;
					left: 50%;
					transform: translateX(-50%);
				}
					.global_nav__btm_contents_logo_min img{
						width: 100%;
						height: auto;
					}
				.global_nav__btm_contents_info{
					position: absolute;
					bottom: 50px;
					right: 50px;
				}
					.global_nav__btm_contents_info_inner{
						width: 226px;
						height: auto;
					}
						.global_nav__btm_contents_info_link{
							display: flex;
							justify-content: space-around;
							align-items: center;
							width: 100%;
							height: auto;
							padding-bottom: 23px;
							transition: 0.4s;
						}
						.global_nav__btm_contents_info_link:hover{
							opacity: 0.8;
						}
						.global_nav__btm_contents_info_link:last-of-type{
							padding-bottom: 0px;
							padding-top: 21px;
							border-top: #fff solid 1px;
						}
						.global_nav__btm_contents_info_web {
							width: 100%;
							height: auto;
							margin: 0 auto 18px;
						}
							.global_nav__btm_contents_info_web_link {
								display: flex;
								justify-content: space-between;
								align-items: center;
								width: 100%;
								height: auto;
								transition: 0.4s;
							}
							.global_nav__btm_contents_info_web_link:hover{
								opacity: 0.8;
							}
								.global_nav__btm_contents_info_web_logo {
									width: 67px;
									height: auto;
								}
						.global_nav__btm_contents_info_txt{
							font-size: 12px;
							font-weight: 500;
							text-align: center;
							letter-spacing: 0.1em;
							color: #FFFFFF;
						}
						.global_nav__btm_contents_info_web .global_nav__btm_contents_info_txt {
							width: 100%;
							margin-bottom: 14px;
						}
						.global_nav__btm_contents_info_link .global_nav__btm_contents_info_txt {
							padding-bottom: 1px;
						}
							.global_nav__btm_contents_info_web_logo{
								width: 68.18px;
								height: auto;
							}
								.global_nav__btm_contents_info_web_logo img{
									width: 100%;
									height: auto;
								}
							.global_nav__btm_contents_info_instagram_logo{
								width: 40px;
								height: auto;
							}
								.global_nav__btm_contents_info_instagram_logo img{
									width: 100%;
									height: auto;
								}
/* フッター */
footer{
	width: 100%;
	height: auto;
	background-color: #000;
}
	.footer__inner{
		width: 88%;
		height: auto;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		padding: 90px 0;
	}
		.footer__logo{
			width: 147px;
			height: auto;
		}
			.footer__logo img{
				width: 100%;
				height: auto;
			}
		.footer__nav_list{
			width: fit-content;
			height: auto;
			display: flex;
			align-items: flex-start;
			column-gap: calc((55 / 1440) * 100vw);
			padding: 46px calc((81 / 1440) * 100vw) 0 calc((273 / 1440) * 100vw);
		}
			.footer__nav_item{
				width: 60px;
			}
				.footer__nav_link{
					writing-mode: vertical-rl;
					line-height: 1;
					font-size: 28px;
					font-weight: 500;
					letter-spacing: 0.06em;
					color: #FFFFFF;
					cursor: pointer;
				}
					.footer__nav_link:hover .footer__nav_link_ja{
						color: #868686;
					}
						.footer__nav_link .footer__nav_link_ja{
							display: inline-block;
							position: relative;transition: 0.4s;
						}
						.footer__nav_link .footer__nav_link_en{
							display: inline-block;
							writing-mode: vertical-rl;
							font-size: 18px;
							font-weight: 500;
							letter-spacing: 0.06em;
							padding-left: 8px;
							color: #868686;
							transition: 0.3s;
						}
			.footer_nav__btm_contents{
				width: fit-content;
				height: auto;
			}
				.footer_nav__btm_contents_info{
					width: fit-content;
					padding: 49px 0 0 calc((128 / 1440) * 100vw);
				}
					.footer_nav__btm_contents_info_inner{
						width: 226px;
						height: auto;
					}
						.footer_nav__btm_contents_info_link{
							width: 100%;
							height: auto;
							display: flex;
							align-items: center;
							justify-content: space-around;
							padding-bottom: 23px;
							transition: 0.4s;
						}
						.footer_nav__btm_contents_info_link:hover{
							opacity: 0.7;
						}
						.footer_nav__btm_contents_info_link:last-of-type{
							padding-bottom: 0px;
							padding-top: 21px;
							border-top: #fff solid 1px;
						}
							.footer_nav__btm_contents_info_txt{
								font-size: 12px;
								font-weight: 500;
								text-align: center;
								letter-spacing: 0.1em;
								color: #FFFFFF;
								padding-bottom: 18px;
							}
							.footer_nav__btm_contents_info_txt.__ig{
								padding-bottom: 0;
							}
						@media (any-hover: hover) {
							.footer_nav__btm_contents_info_txt{
								transition: 0.4s;
							}
							.footer_nav__btm_contents_info_txt:hover{
								opacity: 0.7;
							}
						}
								.footer_nav__btm_contents_info_web_logo{
									width: 68.18px;
									height: auto;
								}
									.footer_nav__btm_contents_info_web_logo img{
										width: 100%;
										height: auto;
									}
								.footer_nav__btm_contents_info_instagram_logo{
									width: 40px;
									height: auto;
								}
									.footer_nav__btm_contents_info_instagram_logo img{
										width: 100%;
										height: auto;
									}
			.footer_copy{
				font-size: 20px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.06em;
				color: #FFFFFF;
				padding: 61px 0 0 0;
			}
				.footer_copy span{
					display: block;
					padding-top: 2px;
					writing-mode: vertical-rl;
				}		
			
/* SP ================================================== */
@media all and (max-width: 820px){
.pc {
	display: none;
}
.sp {
	display: inline-block;
}
.view_pc {
	display: none;
}
.view_sp {
	display: block;
}
header{
    width: 100%;
    height: 60px;
}
		.header__logo{
			width: 50px;
			height: 29px;
			top: 20px;
			left: 20px;
		}
			.hero__logo_first{
				display: block;
				z-index: 3;
			}
			.header__logo_link{
				width: 100%;
				height: 100%;
				display: block;
			}
				.header__logo_link img{
					width: 100%;
				}
		.header__nav{
			column-gap: 15px;
			top: 14px;
			right: 14px;
		}
			.header__nav_lang{
				margin-top: 5px;
			}
			.hamburger{
				width: 46px;
				height: 46px;
			}
				.hbg_btn{
					width: 100%;
					height: 100%;
					border-radius: 50%;
					background-color: #C39A6C;
					padding: 0;
					display: flex;
					align-items: center;
					justify-content: center;
					cursor: pointer;
				}
					.hbg_btn__inner{
						width: 14px;
						height: 12px;
						position: relative;
					}
						.hbg_btn_line{
							width: 14px;
							height: 2px;
							background-color: #fff;
							position: absolute;
							transition: 0.8s ease;
						}
						.hbg_btn_line_top{
							width: 14px;
							height: 2px;
							top: 0;
							left: 0;
						}
						.open .hbg_btn_line_top{
							transform: translateY(0px) rotate(0deg);
							animation: open_hbg_btn_line_top 0.6s forwards;
						}
						.hbg_btn_line_mid{
							width: 14px;
							height: 2px;
							top: 50%;
							left: 0;
							transform: translateY(-50%);
						}
						.open .hbg_btn_line_mid{
							opacity: 0;
						}
						.hbg_btn_line_btm{
							width: 14px;
							height: 2px;
							bottom: 0;
							left: 0;
						}
						.open .hbg_btn_line_btm{
							transform: translateY(0px) rotate(0deg);
							animation: open_hbg_btn_line_btm 0.6s forwards;
						}
						@keyframes open_hbg_btn_line_top {
							0%{
								transform: translateY(0px) rotate(0deg);
							}
							60%{
								transform: translateY(5px) rotate(0deg);
							}
							100%{
								transform: translateY(5px) rotate(-45deg);
							}
						}
						@keyframes open_hbg_btn_line_btm {
							0%{
								transform: translateY(0px) rotate(0deg);
							}
							60%{
								transform: translateY(-5px) rotate(0deg);
							}
							100%{
								transform: translateY(-5px) rotate(45deg);
							}
						}
						.close .hbg_btn_line_top{
							transform: translateY(0px) rotate(0deg);
							animation: close_hbg_btn_line_top 0.6s forwards;
						}
						.close .hbg_btn_line_btm{
							transform: translateY(0px) rotate(0deg);
							animation: close_hbg_btn_line_btm 0.6s forwards;
						}
						@keyframes close_hbg_btn_line_top {
							0%{
								transform: translateY(5px) rotate(-45deg);
							}
							40%{
								transform: translateY(5px) rotate(0deg);
							}
							100%{
								transform: translateY(0px) rotate(0deg);
							}
						}
						@keyframes close_hbg_btn_line_btm {
							0%{
								transform: translateY(-5px) rotate(45deg);
							}
							40%{
								transform: translateY(-5px) rotate(0deg);
							}
							100%{
								transform: translateY(0px) rotate(0deg);
							}
						}
	.global_nav{
		display: none;
		width: 100%;
		height: 100vh;
		background-color: #000;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 101;
		pointer-events: auto;
	}
		.global_nav__contents{
			width: 100%;
			height: 100%;
			position: relative;
		}
			.global_nav_list{
				width: fit-content;
				height: auto;
				display: flex;
				align-items: flex-start;
				column-gap: 30px;
				position: absolute;
				top: calc((255 / 375) * 100vw);
				left: 50%;
				transform: translate(-50%,-50%);
			}
				.global_nav_list{
					width: auto;
				}
					.global_nav_item{
						width: 39px;
					}
						.global_nav_link{
							font-size: 16px;
						}
							.global_nav_link .global_nav_link_ja::before{
								content: "";
								display: block;
								background-color: #fff;
								width: 6px;
								height: 6px;
								border-radius: 50%;
								position: absolute;
								top: -22px;
								left: 50%;
								transform: translateX(-50%);
								transition: 0.4s;
							}
						.global_nav_link .global_nav_link_en{
							display: inline-block;
							writing-mode: vertical-rl;
							font-size: 12px;
							font-weight: 500;
							letter-spacing: 0.06em;
							padding-left: 8px;
							color: #868686;
							transition: 0.3s;
						}
			.global_nav__btm_contents{
				position: unset;
			}
				.copy{
					font-weight: 500;
					font-size: 12px;
					letter-spacing: 0.06em;
					color: #FFFFFF;
					line-height: 1;
					position: absolute;
					bottom: calc((30px / 375) * 100vw);
					left: 50%;
					transform: translateX(-50%);
				}
					.copy span{
						display: inline;
						padding-top: 4px;
						writing-mode: unset;
						padding-left: 4px;
					}
				.global_nav__btm_contents_logo_min{
					width: 50px;
					height: auto;
					position: absolute;
					bottom: unset;
					top: 20px;
					left: 20px;
					transform: translateX(0%);
				}
				.global_nav__btm_contents_info{
					position: absolute;
					bottom: calc((102 / 375) * 100vw);
					right: 50%;
					transform: translateX(50%);
				}
/* フッター */
	.footer__inner{
		display: block;
		padding: 40px 0 30px 0;
	}
		.footer__logo{
			width: 96px;
			height: auto;
			margin: 0 auto;
		}
		.footer__nav_list{
			width: 100%;
			height: auto;
			display: flex;
			align-items: flex-start;
			justify-content: center;
			column-gap: calc((30 / 375) * 100vw);
			padding: 61px 0 50px 0;
		}
			.footer__nav_item{
				width: 39px;
			}
				.footer__nav_link{
					font-size: 16px;
				}
						.footer__nav_link .footer__nav_link_en{
							font-size: 12px;
						}
			.footer_nav__btm_contents{
				margin: 0 auto;
			}
				.footer_nav__btm_contents_info{
					width: fit-content;
					padding: 0;
				}
					.footer_nav__btm_contents_info_inner{
						width: 226px;
						height: auto;
					}
			.footer_copy{
				text-align: center;
				font-size: 12px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.06em;
				color: #FFFFFF;
				padding: 61px 0 30px 0;
			}
				.footer_copy span{
					display: inline;
					writing-mode: unset;
					padding-left: 4px;
				}	
}