@charset "utf-8";
:root {
/* 共通設定 */
	--color--black: #000000;
	--color--white: #ffffff;
	--color--beige: #f9f9f7;
	--color--light_gray: #b3b3b3;
	--color--navy-3: #3a3a48;
	--color--navy-4: #4e4e5c;
	--color--navy-5: #585866;
	--color--navy-8: #8e8e96;
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	min-height: 100vh;
	margin: 0px;
	padding: 90px 0 0;
	background-color: var(--color--white);	
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: var(--color--navy-3);
	font-family: "Zen Old Mincho", serif;
	font-weight: 600;
	font-style: normal;
	line-height: 2;
	letter-spacing: 0.05em;
	font-feature-settings: "palt";
}

._noto {
	font-family: "Noto Sans JP", sans-serif;
}
._garamond {
	font-family: "EB Garamond", serif;
}
._roboto {
	font-family: "Roboto", sans-serif;
}

#l_wrapper {
	width: 100%;
	height: auto;
}

header {
	width: 100%;
	height: 90px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
	.header__inner {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 0 5%;
		margin: 0 auto;
		background-color: #ffffff;
	}
		.header__logo {
			width: 278px;
			height: auto;
			margin: 0 auto 0 0;
		}
			.header__logo__link {
				display: block;
				width: 100%;
				height: auto;
			}
		.header__main_menu {
			width: auto;
			height: auto;
		}
			.header__main_menu__list {
				display: flex;
				justify-content: center;
				align-self: center;
				gap: calc((70 / 1440) * 100vw);
				padding-top: 8px;
			}
				.header__main_menu__list__item {
					width: auto;
					height: auto;
				}
					.header__main_menu__list__item__link {
						display: block;
						width: auto;
						height: auto;
						padding: 5px 0;
						position: relative;
					}
						.header__main_menu__list__item__link::after {
							content: "";
							display: block;
							width: 0%;
							height: 1px;
							background-color: var(--color--navy-3);
							opacity: 1;
							position: absolute;
							bottom: -3px;
							left: 0;
							pointer-events: none;
						}
					@media (any-hover: hover) {
						.header__main_menu__list__item__link::after {
							transition: .3s;
						}
						.header__main_menu__list__item__link:hover::after {
							width: 100%;
						}
					}
						.header__main_menu__list__item__en {
							display: block;
							margin-bottom: 6px;
							font-size: 16px;
							font-weight: 500;
							line-height: 1;
							letter-spacing: 0.06em;
							color: var(--color--navy-3);
						}
						.header__main_menu__list__item__ja {
							display: block;
							font-size: 10px;
							font-weight: 400;
							line-height: 1;
							letter-spacing: 0.12em;
							color: var(--color--navy-3);
						}
		.global_nav {
			width: 100%;
			height: 100vh;
			background: rgba(58, 58, 72, 0.3);
			position: absolute;
			top: 0;
			left: 0;
			z-index: -1;
			opacity: 0;
			transition: .6s;
			visibility: hidden;
		}
		.global_nav._active {
			opacity: 1;
			visibility: visible;
		}
			.global_nav__contents {
				width: 100%;
				height: auto;
				padding: 46px 5% 50px;
				background-color: var(--color--white);
				position: absolute;
				top: 90px;
				left: 0;
				z-index: 1;
				transition: .4s;
				transform: translateY(-30px);
			}
			._active .global_nav__contents {
				opacity: 1;
				transform: translateY(0%);
			}
				.global_nav__contents__inner {
					display: flex;
					justify-content: space-between;
					align-items: stretch;
					gap: calc((50 / 1296) * 100%);
					width: 100%;
					max-width: 1440px;
					height: auto;
					margin: 0 auto;
				}
					.global_nav__contents__image {
						width: calc((500 / 1296) * 100%);
						height: auto;
					}
						.global_nav__contents__image img {
							width: 100%;
							height: 100%;
							object-fit: cover;
							object-position: center;
						}
					.global_nav__contents__menu {
						flex: 1;
						height: auto;
					}
						.global_nav__contents__menu__list_warp {
							display: flex;
							justify-content: space-between;
							align-items: stretch;
							gap: calc((20 / 720) * 100%);
							width: 100%;
							height: auto;
							margin: 0 auto 36px;
						}
							.global_nav__contents__menu__list {
								display: flex;
								flex-direction: column;
								height: auto;
							}
							._large.global_nav__contents__menu__list {
								justify-content: flex-start;
								gap: 34px;
							}
							._small.global_nav__contents__menu__list {
								justify-content: space-between;
							}
								.global_nav__contents__menu__list__item {
									width: 100%;
									height: auto;
								}
									.global_nav__contents__menu__list__item__ttl {
										width: 100%;
										height: auto;
										white-space: nowrap;
									}
										.global_nav__contents__menu__list__item__ttl a {
											display: block;
											width: 100%;
											height: auto;
											position: relative;
										}
											.global_nav__contents__menu__list__item__ttl a::after {
												content: "";
												display: block;
												width: 0%;
												height: 1px;
												background-color: var(--color--navy-3);
												position: absolute;
												bottom: -4px;
												left: 0;
												pointer-events: none;
											}
										@media (any-hover: hover) {
											.global_nav__contents__menu__list__item__ttl a::after {
												transition: .3s;
											}
											.global_nav__contents__menu__list__item__ttl a:hover::after {
												width: 100%;
											}
										}
											.global_nav__contents__menu__list__item__ttl a span {
												font-size: 28px;
												font-weight: 500;
												line-height: 1.2;
												letter-spacing: 0.06em;
												color: var(--color--navy-3);
											}
											.global_nav__contents__menu__list__item__ttl a small {
												display: inline-block;
												margin-left: 8px;
												font-size: 16px;
												font-weight: 700;
												line-height: 1;
												letter-spacing: 0.12em;
												color: var(--color--navy-3);
												position: relative;
												top: -2px;
											}
									.global_nav__contents__menu__list__item__sub_list {
										display: flex;
										justify-content: flex-start;
										align-items: flex-start;
										flex-wrap: wrap;
										row-gap: 4px;
										max-width: 370px;
										margin: 16px auto 0;
										font-size: 16px;
										font-weight: 400;
										line-height: 1.8;
										letter-spacing: 0.12em;
									}
										.global_nav__contents__menu__list__item__sub_list__item {
											width: auto;
											height: auto;
										}
											.global_nav__contents__menu__list__item__sub_list__item:not(:last-of-type)::after {
												content: "／";
												color: var(--color--navy-3);
											}
											.global_nav__contents__menu__list__item__sub_list__item a {
												display: inline-block;
												color: var(--color--navy-3);
												position: relative;
											}
												.global_nav__contents__menu__list__item__sub_list__item a::after {
													content: "";
													display: block;
													width: 0%;
													height: 1px;
													background-color: var(--color--navy-3);
													position: absolute;
													bottom: 0px;
													left: 0;
													pointer-events: none;
												}
											@media (any-hover: hover) {
												.global_nav__contents__menu__list__item__sub_list__item a::after {
													transition: .3s;
												}
												.global_nav__contents__menu__list__item__sub_list__item a:hover::after {
													width: 100%;
												}
											}
						.global_nav__contents__menu__btn_area {
							width: auto;
							height: auto;
						}
							.global_nav__contents__menu__btn_list {
								display: flex;
								justify-content: flex-start;
								align-items: center;
								gap: 24px;
							}
								.global_nav__contents__menu__btn_list__item {
									width: 240px;
									height: 40px;
								}
									.global_nav__contents__menu__btn_list__item a {
										display: flex;
										justify-content: center;
										align-items: center;
										width: 100%;
										height: 100%;
										background-color: rgba(58, 58, 72, 0.8);
										font-size: 15px;
										font-weight: 600;
										line-height: 1;
										letter-spacing: 0.1em;
										color: var(--color--white);
									}
								@media (any-hover: hover) {
									.global_nav__contents__menu__btn_list__item a {
										transition: .3s;
									}
									.global_nav__contents__menu__btn_list__item a:hover {
										background-color: rgba(58, 58, 72, 1);
									}
								}
		.hamburger {
			width: 70px;
			height: 70px;
			margin-left: 90px;
		}
			.hbg_btn {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				padding: 0;
				cursor: pointer;
			}
				.hbg_btn_line {
					width: 45px;
					height: 2px;
					background-color: var(--color--navy-3);
					position: relative;
				}
					.hbg_btn_line::before,
					.hbg_btn_line::after {
						content: "";
						display: block;
						width: 100%;
						height: 2px;
						background-color: var(--color--navy-3);
						position: absolute;
						left: 0;
					}
					.hbg_btn_line::before {
						top: -9px;
					}
					.hbg_btn_line::after {
						bottom: -9px;
					}
				/* 開く時の処理 */
				.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(58, 58, 72, 1);
						}
						60% {
							background-color: rgba(58, 58, 72, 1);
						}
						61% {
							background-color: rgba(58, 58, 72, 0);
						}
						100% {
							background-color: rgba(58, 58, 72, 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: -9px;
								transform: translate(0%,0%);
							}
							60% {
								top: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							61% {
								top: 0px;
							}
							100% {
								top: 0px;
								transform: translate(0%,0%) rotate(20deg);
							}
						}
						@keyframes hbg_btn-line_after-open {
							0% {
								bottom: -9px;
								transform: translate(0%,0%);
							}
							60% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							61% {
								bottom: 0px;
							}
							100% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(-20deg);
							}
						}
				/* 閉じる時の処理 */
				.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(58, 58, 72, 0);
						}
						60% {
							background-color: rgba(58, 58, 72, 0);
						}
						61% {
							background-color: rgba(58, 58, 72, 1);
						}
						100% {
							background-color: rgba(58, 58, 72, 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(20deg);
							}
							60% {
								top: 0px;
							}
							61% {
								top: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							100% {
								top: -9px;
								transform: translate(0%,0%);
							}
						}
						@keyframes hbg_btn-line_after-close {
							0% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(-20deg);
							}
							60% {
								bottom: 0px;
							}
							61% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							100% {
								bottom: -9px;
								transform: translate(0%,0%);
							}
						}

footer {
	width: 100%;
	height: auto;
	padding: 30px 0 0;
	background-color: var(--color--navy-3);
}
	.footer__inner {
		width: 90%;
		max-width: 1280px;
		height: auto;
		margin: 0 auto;
	}
		.footer__top {
			display: flex;
			justify-content: space-between;
			align-items: stretch;
			width: 100%;
			height: auto;
			margin: 0 auto 60px;
		}
			.footer__top__left {
				flex: 1;
				height: auto;
			}
				.footer__logo {
					width: calc((450 / 705) * 100%);
					height: auto;
				}
					.footer__logo__link {
						display: block;
						width: 100%;
						height: auto;
					}
				.footer__top__left__text {
					width: 100%;
					height: auto;
					margin: 22px auto 0;
					font-size: 20px;
					font-weight: 400;
					line-height: 1.3;
					letter-spacing: 0.08em;
					color: var(--color--white);
				}
			.footer__top__right {
				display: flex;
				justify-content: space-between;
				align-items: flex-end;
				width: calc((560 / 1280) * 100%);
				height: auto;
			}
				.footer__top__right__btn_list {
					display: flex;
					justify-content: space-between;
					align-items: flex-end;
					width: 100%;
					height: auto;
				}
					.footer__top__right__btn_list__item {
						width: calc((264 / 560) * 100%);
						height: 58px;
					}
						.footer__top__right__btn_list__item__btn {
							display: flex;
							justify-content: center;
							align-items: center;
							width: 100%;
							height: 100%;
							background-color: var(--color--white);
							border: solid 1px var(--color--white);
							font-size: 18px;
							font-weight: 600;
							line-height: 1;
							letter-spacing: 0.1em;
							color: var(--color--navy-3);
						}
					@media (any-hover: hover) {
						.footer__top__right__btn_list__item__btn {
							transition: .3s;
						}
						.footer__top__right__btn_list__item__btn:hover {
							background-color: var(--color--navy-5);
							color: var(--color--white);
						}
					}
		.footer__bottom {
			width: 100%;
			height: auto;
			margin: 0 auto;
		}
			.footer__menu_list {
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				columns: 0;
				row-gap: 40px;
				margin: 0 auto;
			}
				.footer__menu_list__item {
					width: 100%;
					height: auto;
				}
					.footer__menu_list__item__link {
						display: inline-block;
						width: auto;
						height: auto;
						padding-left: 1.16em;
						font-size: 20px;
						font-weight: 600;
						line-height: 1.4;
						letter-spacing: 0.16em;
						color: var(--color--white);
						position: relative;
					}
						.footer__menu_list__item__link::before {
							content: "●";
							position: absolute;
							top: 0;
							left: 0;
						}
						.footer__menu_list__item__link::after {
							content: "";
							display: block;
							width: calc(100% - 1.16em);
							height: 1px;
							background-color: var(--color--white);
							position: absolute;
							bottom: 1px;
							left: 1.16em;
							opacity: 0;
							pointer-events: none;
						}
					@media (any-hover: hover) {
						.footer__menu_list__item__link::after {
							transition: .3s;
						}
						.footer__menu_list__item__link:hover::after {
							opacity: 1;
						}
					}
					.footer__menu_list__item__sub_list {
						width: 100%;
						height: auto;
						padding: 0 0 0 24px;
						margin: 12px auto 0;
					}
						.footer__menu_list__item__sub_list__item {
							width: 100%;
							height: auto;
							font-size: 16px;
							font-weight: 400;
							line-height: 1.8;
							letter-spacing: 0.12em;
						}
							.footer__menu_list__item__sub_list__item__link {
								color: var(--color--white);
								position: relative;
							}
								.footer__menu_list__item__sub_list__item__link::after {
									content: "";
									display: block;
									width: 100%;
									height: 1px;
									background-color: var(--color--white);
									position: absolute;
									bottom: 1px;
									left: 0;
									opacity: 0;
									pointer-events: none;
								}
							@media (any-hover: hover) {
								.footer__menu_list__item__sub_list__item__link::after {
									transition: .3s;
								}
								.footer__menu_list__item__sub_list__item__link:hover::after {
									opacity: 1;
								}
							}
		.footer__sns {
			width: 100%;
			height: auto;
			padding: 28px 0;
		}
			.footer__sns_list {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				width: 100%;
				height: auto;
				gap: 20px;
			}
				.footer__sns_list__item {
					width: auto;
					height: auto;
				}
					.footer__sns_list__item__link {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 50px;
						height: 50px;
						border-radius: 9999px;
						background-color: var(--color--white);
					}
						.footer__sns_list__item__link svg {
							width: 26px;
							height: auto;
							fill: var(--color--navy-3);
						}
				@media (any-hover: hover) {
					.footer__sns_list__item__link {
						transition: .3s;
					}
					.footer__sns_list__item__link:hover {
						background-color: var(--color--navy-5);
					}
						.footer__sns_list__item__link svg {
							transition: .3s;
						}
						.footer__sns_list__item__link:hover svg {
							fill: var(--color--white);
						}
				}
	.footer__copyright {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		height: 100px;
		border-top: 1px solid var(--color--white);
	}
		.footer__copyright__text {
			display: block;
			width: 90%;
			max-width: 1280px;
			height: auto;
			padding: 0 25px;
			margin: 0 auto;
			font-size: 17px;
			font-weight: 400;
			line-height: 1;
			letter-spacing: 0.1em;
			color: var(--color--white);
		}

/* 共通 */
.cmn_btn_wrap {
	width: 90px;
	height: auto;
}
	.cmn_btn {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: auto;
		padding: 0 3px 7px;
		font-size: 16px;
		font-weight: 500;
		line-height: calc(18 / 16);
		letter-spacing: 0.04em;
		color: var(--color--navy-3);
		white-space: nowrap;
		overflow: hidden;
		position: relative;
	}
		.cmn_btn::after {
			content: "";
			display: block;
			width: 100%;
			height: 1px;
			border-bottom: dashed 1px var(--color--navy-3);
			position: absolute;
			bottom: 0;
			left: 0;
		}
		.cmn_btn__txt_01 {
			transform: translateY(0%);
		}
		.cmn_btn__txt_02 {
			position: absolute;
			top: 0;
			left: 3px;
			transform: translateY(calc(100% + 7px));
		}
	@media (any-hover: hover) {
		.cmn_btn__txt_01,
		.cmn_btn__txt_02 {
			transition: .4s;
		}
		.cmn_btn:hover .cmn_btn__txt_01 {
			transform: translateY(-100%);
		}
		.cmn_btn:hover .cmn_btn__txt_02 {
			transform: translateY(0%);
		}
	}

#contact {
	width: 100%;
	height: auto;
	padding: 72px 0;
	background-color: var(--color--beige);
}
	.contact__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
	}
		.contact__heading {
			width: 100%;
			height: auto;
			margin: 0 auto 18px;
		}
			.contact__heading__txt {
				font-size: 38px;
				font-weight: 600;
				line-height: calc(44 / 38);
				letter-spacing: 0.02em;
				color: var(--color--navy-3);
			}
				.contact__heading__txt span {
					display: inline-block;
					margin-right: 0.1em;
				}
			.contact__heading__ja {
				font-size: 20px;
				font-weight: 600;
				line-height: 1;
				letter-spacing: 0.1em;
				color: var(--color--navy-3);
			}
		.contact__txt {
			width: 100%;
			height: auto;
			font-size: 16px;
			font-weight: 600;
			line-height: calc(18 / 16);
			letter-spacing: 0.02em;
			color: var(--color--navy-3);
		}
		.contact__list {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			height: auto;
			margin: 56px auto 64px;
		}
			.contact__list__item {
				width: auto;
				height: auto;
			}
				.contact__list__item__ttl {
					margin: 0 auto 16px;
					font-size: 16px;
					font-weight: 600;
					line-height: calc(18 / 16);
					letter-spacing: 0.02em;
					color: var(--color--navy-3);
				}
				.contact__list__item__tel_number {
					display: flex;
					justify-content: flex-start;
					align-items: center;
					margin: 0 auto 12px;
					font-size: 44px;
					font-weight: 600;
					line-height: 1;
					letter-spacing: 0.02em;
				}
					.contact__list__item__tel_number dt {
						margin-right: 13px;
					}
						.contact__list__item__tel_number dd a {
							display: inline-block;
							color: var(--color--navy-3);
							position: relative;
						}
							.contact__list__item__tel_number dd a::after {
								content: "";
								display: block;
								width: 100%;
								height: 1px;
								background-color: var(--color--navy-3);
								position: absolute;
								bottom: -3px;
								left: 0;
								opacity: 0;
								pointer-events: none;
							}
						@media (any-hover: hover) {
							.contact__list__item__tel_number dd a::after {
								transition: .3s;
							}
							.contact__list__item__tel_number dd a:hover::after {
								opacity: 1;
							}
						}
				.contact__list__item__txt {
					font-size: 16px;
					font-weight: 600;
					line-height: calc(22 / 16);
					letter-spacing: 0.02em;
					color: var(--color--navy-3);
				}
		.contact__form {
			width: 100%;
			height: auto;
			font-size: 26px;
			font-weight: 600;
			line-height: calc(30 / 26);
			letter-spacing: 0.02em;
			text-align: center;
		}
			.contact__form__link {
				display: inline-flex;
				padding: 0 0 10px;
				color: var(--color--navy-3);
				position: relative;
				overflow: hidden;
			}
				.contact__form__link::after {
					content: "";
					display: block;
					width: 100%;
					height: 1px;
					border-bottom: dashed 1px var(--color--navy-3);
					position: absolute;
					bottom: 0;
					left: 0;
					pointer-events: none;
				}
				.contact__form__link__txt_01 {
					transform: translateY(0%);
				}
				.contact__form__link__txt_02 {
					position: absolute;
					top: 0;
					left: 0;
					transform: translateY(calc(100% + 7px));
				}
			@media (any-hover: hover) {
				.contact__form__link__txt_01,
				.contact__form__link__txt_02 {
					transition: .4s;
				}
				.contact__form__link:hover .contact__form__link__txt_01 {
					transform: translateY(-100%);
				}
				.contact__form__link:hover .contact__form__link__txt_02 {
					transform: translateY(0%);
				}
			}

#page_top {
	width: 100%;
	height: 320px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}
	.page_top__breadcrumbs {
		width: 95%;
		max-width: 1280px;
		height: auto;
		margin: 0 auto;
		position: absolute;
		top: 30px;
		left: 50%;
		transform: translate(-50%, 0%);
		z-index: 1;
	}
		.page_top__breadcrumbs__list {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			width: 100%;
			height: auto;
		}
			.page_top__breadcrumbs__list__item {
				font-size: 14px;
				font-weight: 500;
				line-height: calc(16 / 14);
				letter-spacing: 0.06em;
				color: var(--color--white);
			}
			.page_top__breadcrumbs__list__item:not(:first-of-type)::before {
				content: ">";
				margin: 0 8px;
			}
				.page_top__breadcrumbs__list__item a {
					color: var(--color--white);
				}
				.page_top__breadcrumbs__list__item span {
					color: var(--color--white);
				}
	.page_top__inner {
		width: 90%;
		max-width: 965px;
		height: auto;
		padding: 84px 0 0;
		margin: 0 auto;
	}
		.page_top__title {
			width: 100%;
			height: auto;
			margin: 0 auto 20px;
		}
			.page_top__title__en {
				display: block;
				margin-bottom: 3px;
				font-size: 28px;
				font-weight: 800;
				line-height: 1;
				letter-spacing: 0.12em;
				color: var(--color--white);
			}
			.page_top__title__ja {
				display: block;
				font-size: 13px;
				font-weight: 600;
				line-height: calc(18 / 13);
				letter-spacing: 0.12em;
				color: var(--color--white);
			}
		.page_top__txt {
			width: 100%;
			height: auto;
			font-size: 24px;
			font-weight: 600;
			line-height: calc(36 / 24);
			letter-spacing: 0.05em;
			color: var(--color--white);
		}

/* PC ================================================== */
@media all and (max-width: 1440px){

}
@media all and (max-width: 1280px){


}
@media all and (max-width: 1039px){
		.footer__top {
			flex-direction: column;
		}
				.footer__logo {
					width: 320px;
				}
			.footer__top__right {
				justify-content: flex-end;
				width: 100%;
				margin: 40px auto 0;
			}
}

@media all and (min-width: 769px){
.sp {display: none;}
.pc {display: inline-block;}
.view_sp {display: none;}
.view_pc {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}

/* Tablet ================================================== */
@media all and (max-width: 768px){
.pc {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_sp {display: block;}
body {
	padding: 70px 0 0;
}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

header {
	height: 70px;
}
	.header__inner {
		width: 100%;
		padding: 0 8px;
	}
		.header__logo {
			width: 200px;
			margin: 0 auto 0 8px;
		}
		.header__main_menu {
			display: none;
		}
			.global_nav__contents {
				height: calc(100% - 70px);
				padding: 0 0 60px;
				top: 70px;
			}
				.global_nav__contents__inner {
					display: block;
					height: 100%;
					padding: 30px calc((26/ 390) * 100%) 0;
					overflow: scroll;
				}
					.global_nav__contents__image {
						display: none;
					}
					.global_nav__contents__menu {
						flex: initial;
						width: 100%;
						height: 100%;
						padding: 0 0 60px;
						position: relative;
					}
						.global_nav__contents__menu__list_warp {
							display: block;
							padding: 0 0 32px;
							margin: 0 auto;
						}
							._large.global_nav__contents__menu__list {
								gap: 42px;
								margin: 0 auto 42px;
							}
							._small.global_nav__contents__menu__list {
								justify-content: flex-start;
								gap: 18px;
							}
									.global_nav__contents__menu__list__item__ttl {
										white-space: initial;
										font-size: 18px;
										font-weight: 500;
										line-height: 1.2;
										letter-spacing: 0.06em;
										color: var(--color--navy-3);
									}
										.global_nav__contents__menu__list__item__ttl a {
											display: inline-flex;
											justify-content: flex-start;
											width: auto;
										}
										._large .global_nav__contents__menu__list__item__ttl a {
											align-items: center;
										}
										._small .global_nav__contents__menu__list__item__ttl a {
											flex-direction: column;
											align-items: flex-start;
											gap: 4px;
										}
											.global_nav__contents__menu__list__item__ttl a span {
												font-size: 18px;
												font-weight: 500;
												line-height: 1.2;
												letter-spacing: 0.06em;
												color: var(--color--navy-3);
											}
											.global_nav__contents__menu__list__item__ttl a small {
												margin-left: 0;
												font-size: 15px;
												position: initial;
												top: initial;
											}
											._large .global_nav__contents__menu__list__item__ttl a small {
												margin-left: 18px;
												position: relative;
												top: -1px;
											}
									.global_nav__contents__menu__list__item__sub_list {
										row-gap: 12px;
										width: 100%;
										max-width: initial;
										margin: 16px auto 0;
										font-size: 14px;
									}
						.global_nav__contents__menu__btn_area {
							width: 100vw;
							position: fixed;
							bottom: 0;
							left: 50%;
							transform: translate(-50%, 0%);
						}
							.global_nav__contents__menu__btn_list {
								flex-direction: row;
								gap: 2px;
								width: 100%;
							}
								.global_nav__contents__menu__btn_list__item {
									width: calc(50% - 1px);
									height: 60px;
								}
									.global_nav__contents__menu__btn_list__item a {
										background-color: var(--color--navy-5);
										font-size: 14px;
									}
		.hamburger {
			width: 60px;
			height: 60px;
			margin-left: initial;
		}
				.hbg_btn_line {
					width: 36px;
				}
					.hbg_btn_line::before {
						top: -12px;
					}
					.hbg_btn_line::after {
						bottom: -12px;
					}
						@keyframes hbg_btn-line_before-open {
							0% {
								top: -12px;
								transform: translate(0%,0%);
							}
							60% {
								top: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							61% {
								top: 0px;
							}
							100% {
								top: 0px;
								transform: translate(0%,0%) rotate(20deg);
							}
						}
						@keyframes hbg_btn-line_after-open {
							0% {
								bottom: -12px;
								transform: translate(0%,0%);
							}
							60% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							61% {
								bottom: 0px;
							}
							100% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(-20deg);
							}
						}
						@keyframes hbg_btn-line_before-close {
							0% {
								top: 0px;
								transform: translate(0%,0%) rotate(20deg);
							}
							60% {
								top: 0px;
							}
							61% {
								top: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							100% {
								top: -12px;
								transform: translate(0%,0%);
							}
						}
						@keyframes hbg_btn-line_after-close {
							0% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(-20deg);
							}
							60% {
								bottom: 0px;
							}
							61% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							100% {
								bottom: -12px;
								transform: translate(0%,0%);
							}
						}

footer {
	padding: 20px 0 0;
}
	.footer__inner {
		width: calc((340 / 390) * 100%);
	}
		.footer__top {
			display: block;
			margin: 0 auto 26px;
		}
			.footer__top__left {
				flex: initial;
				width: 100%;
			}
				.footer__logo {
					width: calc((306 / 340) * 100%);
					max-width: 306px;
				}
				.footer__top__left__text {
					margin: 12px auto 0;
					font-size: 12px;
				}
			.footer__top__right {
				display: none;
			}
			.footer__menu_list {
				grid-template-columns: repeat(2, 1fr);
				row-gap: 18px;
			}
					.footer__menu_list__item__link {
						padding-left: 1.1em;
						font-size: 16px;
						letter-spacing: 0.1em;
					}
						.footer__menu_list__item__link::after {
							width: calc(100% - 1.1em);
							left: 1.1em;
						}
					.footer__menu_list__item__sub_list {
						display: flex;
						flex-direction: column;
						gap: 16px;
						padding: 0 0 0 2px;
					}
						.footer__menu_list__item__sub_list__item {
							font-size: 12px;
							line-height: 1.6;
							letter-spacing: 0.04em;
						}
		.footer__sns {
			padding: 60px 0 20px;
		}
			.footer__sns_list {
				gap: 16px;
			}
					.footer__sns_list__item__link {
						width: 40px;
						height: 40px;
					}
						.footer__sns_list__item__link svg {
							width: 21px;
						}
	.footer__copyright {
		height: 50px;
	}
		.footer__copyright__text {
			padding: 0;
			font-size: 10px;
			text-align: center;
		}

/* 共通 */
.cmn_btn_wrap {
	width: 70px;
}
	.cmn_btn {
		padding: 0 2px 7px;
		font-size: 14px;
		line-height: calc(16 / 14);
		letter-spacing: 0.02em;
	}

#contact {
	padding: 48px 0 45px;
}
	.contact__inner {
		width: calc((325 / 390) * 100%);
	}
		#contact .section__heading {
			margin: 0 auto 24px;
		}
			#contact .section__heading__en{
				font-size: 28px;
				font-weight: 700;
				line-height: 1.7;
			}
			#contact .section__heading__ja{
				font-size: 12px;
				font-weight: 700;
				line-height: 1;
			}
		.contact__txt {
			font-size: 14px;
			line-height: calc(16 / 14);
			letter-spacing: 0.02em;
		}
		.contact__list {
			flex-direction: column;
			justify-content: flex-start;
			gap: 64px;
			margin: 34px auto 56px;
		}
			.contact__list__item {
				width: 100%;
			}
				.contact__list__item__ttl {
					margin: 0 auto 5px;
					font-size: 14px;
					line-height: calc(16 / 14);
				}
				.contact__list__item__tel_number {
					margin: 0 auto 8px;
					font-size: 32px;
				}
					.contact__list__item__tel_number dt {
						margin-right: 8px;
					}
				.contact__list__item__txt {
					font-size: 13px;
					line-height: calc(18 / 13);
				}
		.contact__form {
			font-size: 11px;
			line-height: calc(13 / 11);
		}
			.contact__form__link {
				padding: 0 3px 6px;
			}

#page_top {
	height: 280px;
}
	.page_top__breadcrumbs {
		width: calc((315 / 390) * 100%);
		top: 10px;
	}
			.page_top__breadcrumbs__list__item {
				font-size: 10px;
				letter-spacing: 0em;
			}
				.page_top__breadcrumbs__list__item::before {
					margin: 0 6px;
				}
	.page_top__inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		width: calc((325 / 390) * 100%);
		height: 100%;
		padding: 0 0;
	}
		.page_top__title {
			margin: 0 auto 10px;
		}
			.page_top__title__ja {
				font-size: 12px;
			}
		.page_top__txt {
			font-size: 14px;
			font-weight: 700;
			line-height: calc(34 / 14);
			font-feature-settings: "palt";
			white-space: nowrap;
		}
}

/* SP ================================================== */
@media all and (max-width: 575px){

}