@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap');
:root {
/* 共通設定 */
	--color--black: #1E1E1E;
	--color--txt_black: #323232;
	--color--white: #ffffff;
	--color--gray: #888280;
	--color--light_beige: #F7F7F7;
	--color--blue: #121735;
	--color--red: #BE3434;
}
body {
	min-height: 100vh;
	margin: 0px;
	padding: 80px 0 0;
	background-color: #ffffff;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: #000000;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: 0em;
/*	font-feature-settings: "palt";*/
    -webkit-text-size-adjust: 100%;
	color: var(--color--txt_black);
}

.jost {
	font-family: "Jost", sans-serif;
}

header {
	width: 100%;
	height: 80px;
	background-color: var(--color--white);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 101;
}
	.header__inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: calc(((1440 - 160) / 1440) * 100%);
		height: 100%;
		padding-right: calc((15/ 375) * 100vw);
		margin: 0 auto;
		position: relative;
	}
		.hamburger {
			display: none;
		}
		/* .header__menu {
			display: block;
			width: auto;
			height: auto;
		}
			.header__menu_list {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				column-gap: 20px;
				width: auto;
				height: auto;
			}
				.header__menu_list__item {
					width: auto;
					height: auto;
					font-size: 15px;
					font-weight: 500;
					line-height: calc(20 / 15);
				}
					.header__menu_list__item a {
						color: var(--color--black);
						position: relative;
					}
						.header__menu_list__item a::after {
							content: '';
							display: block;
							width: 100%;
							height: 2px;
							background-color: var(--color--black);
							position: absolute;
							bottom: 0;
							left: 0;
							opacity: 0;
							pointer-events: none;
						}
					@media (any-hover: hover) {
						.header__menu_list__item a::after {
							transition: .3s;
						}
						.header__menu_list__item a:hover::after {
							opacity: 1;
						}
					} */
		.global_nav {
			width: auto;
			height: auto;
		}
			.global_nav__contents {
				width: auto;
				height: auto;
			}
				.global_nav__contents__inner {
					width: auto;
					height: auto;
				}
					.global_nav__menu_list {
						display: flex;
						justify-content: flex-start;
						align-items: center;
						column-gap: 18px;
						width: auto;
						height: auto;
						margin: 0 auto;
					}
						.global_nav__menu_list__item {
							width: auto;
							height: auto;
							position: relative;
						}
							.global_nav__menu_list__item dt {
								width: auto;
								height: auto;
								font-size: 15px;
								font-weight: 500;
								line-height: calc(20 / 15);
								position: relative;
								cursor: pointer;
							}
								.global_nav__menu_list__item dt::after {
									content: '';
									display: block;
									width: 100%;
									height: 2px;
									background-color: var(--color--black);
									position: absolute;
									bottom: 0;
									right: 0;
									opacity: 0;
									pointer-events: none;
								}
							@media (any-hover: hover) {
								.global_nav__menu_list__item dt::after {
									transition: .3s;
								}
								.global_nav__menu_list__item dt:hover::after {
									opacity: 1;
								}
							}
							.global_nav__menu_list__item dd {
								display: none;
								width: auto;
								height: auto;
								padding: 25px 30px;
								background-color: var(--color--white);
								position: absolute;
								top: 100%;
								left: 0;
							}
								.global_nav__child_menu_list {
									width: auto;
									height: auto;
									font-family: "Noto Sans JP", sans-serif;
									font-size: 14px;
									font-weight: 500;
									line-height: calc(26 / 16);
									white-space: nowrap;
								}
									.global_nav__child_menu_list__item {
										width: auto;
										height: auto;
									}
									.global_nav__child_menu_list__item:not(:last-of-type) {
										margin-bottom: 10px;
									}
										.global_nav__child_menu_list__item a {
											color: var(--color--txt_black);
											position: relative;
										}
										.global_nav__child_menu_list__item a::after {
											content: '';
											display: block;
											width: 100%;
											height: 2px;
											background-color: var(--color--black);
											position: absolute;
											bottom: 0;
											right: 0;
											opacity: 0;
											pointer-events: none;
										}
									@media (any-hover: hover) {
										.global_nav__child_menu_list__item a {
											transition: .3s;
										}
										.global_nav__child_menu_list__item a:hover::after {
											opacity: 1;
										}
									}

		.header__logo {
			width: 175px;
			height: auto;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
		}
		.header__customer {
			width: auto;
			height: auto;
		}
			.header__customer__list {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				column-gap: 35px;
				width: auto;
				height: auto;
			}
				.header__customer__list__item {
					width: auto;
					height: auto;
				}
					.header__customer__list__item a {
						display: block;
						width: 22px;
						height: auto;
						position: relative;
						z-index: 2;
					}
						.header__customer__list__item a::after {
							content: '';
							display: block;
							width: 34px;
							height: 34px;
							border-radius: 50%;
							background-color: var(--color--blue);
							opacity: 0;
							position: absolute;
							top: 50%;
							left: 50%;
							transform: translate(-50%,-50%);
							z-index: -1;
						}
					@media (any-hover: hover) {
						.header__customer__list__item a::after {
							transition: .3s;
						}
						.header__customer__list__item a:hover::after {
							opacity: .2;
						}
					}
						.header__customer__list__item__cart_count {
							display: flex;
							justify-content: center;
							align-items: center;
							width: 16px;
							height: 16px;
							border-radius: 9999px;
							border: solid 1px var(--color--white);
							background-color: var(--color--black);
							font-size: 10px;
							font-weight: 700;
							line-height: 1;
							letter-spacing: 0em;
							color: var(--color--white);
							text-align: center;
							position: absolute;
							top: -9px;
							right: -7px;
							z-index: 1;
						}

footer {
	width: 100%;
	height: auto;
	background-color: var(--color--black);
	position: relative;
}
	.footer__contents {
		width: 100%;
		height: auto;
		padding: 80px 0 70px;
	}
		.footer__contents__inner {
			display: flex;
			justify-content: flex-end;
			align-items: flex-start;
			flex-wrap: wrap;
			width: calc(((1440 - 160) / 1440) * 100%);
			max-width: 1280px;
			height: auto;
			margin: 0 auto;
		}
			.footer__logo {
				width: auto;
				height: auto;
				margin: 0 auto 0 0;
			}
		@media all and (max-width: 960px){
			.footer__logo {
				width: 100%;
				margin-bottom: 60px;
			}
		}
				.footer__logo a {
					display: block;
					width: 180px;
				}
			@media (any-hover: hover) {
				.footer__logo a {
					transition: .3s;
					opacity: 1;
				}
				.footer__logo a:hover {
					opacity: .6;
				}
			}
			.footer__menu {
				display: flex;
				justify-content: flex-end;
				align-items: flex-start;
				flex-wrap: wrap;
				column-gap: 55px;
				width: auto;
				height: auto;
				margin-left: 40px;
			}
				.footer__menu__item {
					width: auto;
					height: auto;
				}
		@media all and (max-width: 1361px){
			.footer__menu {
				width: 415px;
				column-gap: 30px;
				row-gap: 40px;
			}
				.footer__menu__item {
					width: 180px;
				}
		}
		@media all and (max-width: 960px){
			.footer__menu {
				justify-content: flex-start;
				margin-left: 0;
				margin-right: auto;
			}
		}
					.footer__menu__item__heading {
						margin-bottom: 18px;
						font-family: "Jost", sans-serif;
						font-size: 19px;
						font-weight: 500;
						line-height: calc(26 / 18);
						color: var(--color--white);
						white-space: nowrap;
					}
					.footer__menu__list {
						width: auto;
						height: auto;
					}
						.footer__menu__list__item {
							width: auto;
							height: auto;
							font-size: 11px;
							font-weight: 400;
							line-height: calc(16 / 11);
							white-space: nowrap;
						}
						.footer__menu__list__item:not(:last-of-type) {
							margin-bottom: 8px;
						}
							.footer__menu__list__item a {
								color: var(--color--white);
							}
			.footer__contact {
				width: 240px;
				height: auto;
				margin-left: 80px;
			}
		@media all and (max-width: 1361px){
			.footer__contact {
				margin-left: 20px;
			}
		}
				.footer__contact__txt {
					width: 100%;
					height: auto;
					font-size: 11px;
					font-weight: 400;
					line-height: calc(16 / 11);
					letter-spacing: 0em;
					color: var(--color--white);
				}
				.footer__contact__tel_number {
					width: 100%;
					height: auto;
					margin: 5px auto 3px;
					font-size: 23px;
					font-weight: 500;
					line-height: calc(26 / 18);
					letter-spacing: 0.1em;
				}
					.footer__contact__tel_number a {
						color: var(--color--white);
					}
				.footer__contact__sns_list {
					display: flex;
					justify-content: flex-end;
					align-items: center;
					column-gap: 17px;
					width: 100%;
					height: auto;
					margin: 65px auto 0;
				}
					.footer__contact__sns_list__item {
						width: 24px;
						height: auto;
					}
					.footer__contact__sns_list__item._instagram {
						margin-left: 2px;
					}
						.footer__contact__sns_list__item a {
							display: block;
						}
					@media (any-hover: hover) {
						.footer__contact__sns_list__item a {
							transition: .3s;
							opacity: 1;
						}
						.footer__contact__sns_list__item a:hover {
							opacity: .6;
						}
					}
	.footer__bottom {
		width: 100%;
		height: auto;
		padding: 55px 0 28px;
		border-top: solid 1px var(--color--white);
	}
		.footer__copyright {
			width: calc(((1440 - 160) / 1440) * 100%);
			max-width: 1280px;
			height: auto;
			margin: 0 auto;
			font-size: 11px;
			font-weight: 400;
			line-height: calc(16 / 11);
			text-align: left;
			color: var(--color--white);
		}

/* 共通 */
.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border: solid 1px var(--color--black);
	background-color: var(--color--black);
	font-size: 13px;
	font-weight: 500;
	line-height: calc(18 / 13);
	color: var(--color--white);
}
	.btn_arrow {
		width: 5.18px;
		height: auto;
		margin-left: 9px;
	}
@media (any-hover: hover) {
	.btn {
		transition: .3s;
	}
	.btn:hover {
		background-color: var(--color--white);
		color: var(--color--txt_black);
	}
}
.section_heading {
	width: 100%;
	height: auto;
	margin: 0 auto 20px;
}
	.section_heading__en {
		width: 100%;
		height: auto;
		margin: 0 auto 8px;
		font-family: "Jost", sans-serif;
		font-size: 15px;
		font-weight: 500;
		line-height: calc(22 / 15);
		text-align: left;
	}
	.section_heading__ja {
		width: 100%;
		height: auto;
		font-size: 20px;
		font-weight: 500;
		line-height: calc(29 / 20);
		letter-spacing: 0.06em;
		text-align: left;
	}

.section__heading__horizontal {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	width: 100%;
	height: auto;
	margin: 0 auto 25px;
}
	.section__heading__horizontal__en {
		margin-right: 20px;
		font-size: 28px;
		font-weight: 500;
		line-height: calc(40 / 28);
	}
	.section__heading__horizontal__ja {
		margin-bottom: 7px;
		font-size: 12px;
		font-weight: 400;
		line-height: calc(20 / 14);
	}

.to_top_btn {
	width: 60px;
	height: auto;
	position: absolute;
	top: 0;
	right: 80px;
	z-index: 2;
	transform: translate(0%,-50%);
	cursor: pointer;
}

/* PC ================================================== */
@media all and (min-width: 719px){
.tablet,.sp {display: none;}
.pc {display: inline-block;}
.view_sp {display: none;}
.view_tablet {display: none;}
.view_pc {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

/* header */
					.global_nav__signin {
						display: none;
					}


}

@media all and (max-width: 999px){
body {
	padding: 58px 0 0;
}
header {
	height: 58px;
}
	.header__inner {
		width: 100%;
	}
		.hamburger {
			display: block;
			width: 48px;
			height: 48px;
			position: relative;
			z-index: 101;
		}
			.hbg_btn {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				padding: 0;
			}
				.hbg_btn_line {
					width: 20px;
					height: 1px;
					background-color: var(--color--black);
					position: relative;
				}
				.hbg_btn_line::before,
				.hbg_btn_line::after {
					content: '';
					display: block;
					width: 100%;
					height: 100%;
					background-color: var(--color--black);
					position: absolute;
					left: 0;
				}
				.hbg_btn_line::before {
					top: -7px;
				}
				.hbg_btn_line::after {
					bottom: -7px;
				}
				/* 開く時の処理 */
				.open .hbg_btn_line {
					animation: hbg_btn-line-open .4s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
				}
					@keyframes hbg_btn-line-open {
						0% {
							background-color: rgba(60, 70, 80, 1);
						}
						60% {
							background-color: rgba(60, 70, 80, 1);
						}
						61% {
							background-color: rgba(60, 70, 80, 0);
						}
						100% {
							background-color: rgba(60, 70, 80, 0);
						}
					}
					.open .hbg_btn_line::before {
						animation: hbg_btn-line_before-open .5s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
					}
					.open .hbg_btn_line::after {
						animation: hbg_btn-line_after-open .5s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
					}
						@keyframes hbg_btn-line_before-open {
							0% {
								top: -7px;
								transform: translate(0%,0%);
							}
							60% {
								top: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							61% {
								top: 0px;
							}
							100% {
								top: 0px;
								transform: translate(0%,0%) rotate(45deg);
							}
						}
						@keyframes hbg_btn-line_after-open {
							0% {
								bottom: -7px;
								transform: translate(0%,0%);
							}
							60% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							61% {
								bottom: 0px;
							}
							100% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(-45deg);
							}
						}
				/* 閉じる時の処理 */
				.close .hbg_btn_line {
					animation: hbg_btn-line-close .4s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
				}
					@keyframes hbg_btn-line-close {
						0% {
							background-color: rgba(60, 70, 80, 0);
						}
						60% {
							background-color: rgba(60, 70, 80, 0);
						}
						61% {
							background-color: rgba(60, 70, 80, 1);
						}
						100% {
							background-color: rgba(60, 70, 80, 1);
						}
					}
					.close .hbg_btn_line::before {
						animation: hbg_btn-line_before-close .5s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
					}
					.close .hbg_btn_line::after {
						animation: hbg_btn-line_after-close .5s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
					}
						@keyframes hbg_btn-line_before-close {
							0% {
								top: 0px;
								transform: translate(0%,0%) rotate(45deg);
							}
							60% {
								top: 0px;
							}
							61% {
								top: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							100% {
								top: -7px;
								transform: translate(0%,0%);
							}
						}
						@keyframes hbg_btn-line_after-close {
							0% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(-45deg);
							}
							60% {
								bottom: 0px;
							}
							61% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							100% {
								bottom: -7px;
								transform: translate(0%,0%);
							}
						}
		/* .header__menu {
			display: none;
		} */







		.global_nav {
			display: none;
			width: 100%;
			height: 100dvh;
			padding-top: 58px;
			background-color: var(--color--white);
			position: fixed;
			top: 0;
			left: 0;
			z-index: 100;
		}
			.global_nav__contents {
				width: 100%;
				height: 100%;
				overflow: scroll;
			}
				.global_nav__contents__inner {
					width: 100%;
					height: auto;
					padding: 0 0 76px;
				}
					.global_nav__signin {
						width: 100%;
						height: auto;
						padding: 28px 0 35px;
					}
						.global_nav__signin__btn_wrap {
							width: calc((690 / 750) * 100%);
							height: 40px;
							margin: 0 auto;
						}
					.global_nav__menu_list {
						display: block;
						width: calc((690 / 750) * 100%);
						border-top: solid 1px #E9EBEB;
					}
						.global_nav__menu_list__item {
							width: 100%;
							height: auto;
							font-size: 22px;
							font-weight: 500;
							line-height: calc(26 / 22);
							border-bottom: solid 1px #E9EBEB;
						}
							.global_nav__menu_list__item dt {
								width: 100%;
								height: auto;
								padding: 20px 0;
								color: var(--color--black);
								position: relative;
							}
								.global_nav__menu_list__item dt::before,
								.global_nav__menu_list__item dt::after {
									content: '';
									display: block;
									width: 15px;
									height: 1px;
									background-color: var(--color--black);
									position: absolute;
									top: 50%;
									bottom: initial;
									right: 0;
									opacity: 1;
									pointer-events: none;
								}
								.global_nav__menu_list__item dt::after {
									transform: rotate(-90deg);
									transition: .3s;
								}
								.global_nav__menu_list__item dt.active::after {
									transform: rotate(0deg);
								}
							.global_nav__menu_list__item dd {
								width: 100%;
								height: auto;
								padding: 0 0 20px;
								position: initial;
							}
								.global_nav__child_menu_list {
									width: 100%;
									font-size: 14px;
								}
									.global_nav__child_menu_list__item {
										width: 100%;
									}
									.global_nav__child_menu_list__item:not(:last-of-type) {
										margin-bottom: 12px;
									}

		.header__logo {
			width: calc(195px / 2);
			z-index: 101;
		}
		/* header__customer */
		.header__customer {
			position: relative;
			z-index: 101;
		}
			.header__customer__list {
				column-gap: 22px;
			}
					.header__customer__list__item a {
						width: 20px;
					}
						.header__customer__list__item a::after {
							width: 32px;
							height: 32px;
						}

}

/* Tablet ================================================== */
@media all and (max-width: 718px){
.pc,.sp {display: none;}
.tablet {display: inline-block;}
.view_pc {display: none;}
.view_sp {display: none;}
.view_tablet {display: block;}

h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

/* footer */
	.footer__contents {
		padding: 78px 0 20px;
	}
		.footer__contents__inner {
			display: block;
			width: calc((700 / 750) * 100%);
		}
			.footer__logo {
				width: 100%;
				margin-bottom: 40px;
			}
				.footer__logo a {
					display: block;
					width: 142.5px;
				}
			.footer__menu {
				justify-content: space-between;
				width: 100%;
				column-gap: initial;
				row-gap: 43px;
				margin-left: initial;
				margin-right: initial;
				margin-bottom: 38px;
			}
				.footer__menu__item {
					width: calc((323 / 700) * 100%);
				}
						.footer__menu__list__item {
							font-size: 12px;
						}
						.footer__menu__list__item:not(:last-of-type) {
							margin-bottom: 10px;
						}
			.footer__contact {
				width: 100%;
				margin-left: initial;
			}
				.footer__contact__txt {
					font-size: 14px;
				}
				.footer__contact__tel_number {
					margin: 7px auto 5px;
					font-size: 23px;
				}
				.footer__contact__sns_list {
					column-gap: 15px;
					margin: 36px auto 0;
				}
	.footer__bottom {
		padding: 15px 0;
	}
		.footer__copyright {
			width: calc((700 / 750) * 100%);
			font-size: 10px;
		}

/* 共通 */
.btn {
	font-size: 12px;
}

/* section_heading */
	.section_heading__en {
		margin: 0 auto 6px;
		font-size: 12px;
	}
	.section_heading__ja {
		font-size: 18px;
	}

/* section__heading__horizontal */
	.section__heading__horizontal__en {
		margin-right: 10px;
		font-size: 22px;
	}
	.section__heading__horizontal__ja {
		margin-bottom: 6px;
		font-size: 12px;
	}

.to_top_btn {
	width: 46px;
	right: 20px;
}
}

/* SP ================================================== */
@media all and (max-width: 575px){
.pc,.tablet {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_tablet {display: none;}
.view_sp {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

}