/* ========== ========== */
/* ヘッダー
/* ========== ========== */
.header {
	background: var(--white);
	position: relative;
	width: 100%;
	z-index: 900;
}
/* .home_main,
.main_page {
	margin-top: 64px;
} */
.header_fixed {
	background: var(--white);
	position: fixed;
	width: 100%;
	z-index: 900;
}

.header_fixed::before {
	background: var(--transparent);
	/* box-shadow: 0px 0px 0px var(--pink); */
	box-shadow: 0px 0px 0px #ad7a828a;
	content: "";
	height: 100%;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: 0.3s ease-out;
	width: 100%;
	z-index: 5;
}
.roll {
	& .header_fixed::before {
		background: var(--transparent);
		box-shadow: 0px 2px 10px #ad7a828a;
		content: "";
		height: 100%;
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		transition: 0.3s ease-out;
		width: 100%;
		z-index: 5;
	}
}

.header_inner {
	margin: 0 auto;
}

.header_holder {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: space-between;
	position: relative;
}
.header_holder::before {
	background: transparent
		linear-gradient(180deg, var(--white) 0%, #ffffff00 100%);
	background: var(--white);
	content: "";
	height: 100%;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 5;
}

/* ========== ========== */
/* サイトロゴ
/* ========== ========== */
.header_logo {
	display: grid;
	height: 100%;
	justify-items: start;
	/* padding: 0 calc(10px - clamp(0rem, -1.6578rem + 2.6738vw, 0.625rem)); */
	padding: 0 20px;
	position: relative !important;
	width: 100%;
	z-index: 700;
}

.header_logo_inner {
	display: grid;
	/* margin-left: calc(clamp(0rem, -9.4219rem + 12.5vw, 1.25rem) * -1); */
	/* max-width: calc(350px * 0.8); */
	/* 1500 ~ 1920 */
	max-width: clamp(13.125rem, -18.125rem + 33.3333vw, 21.875rem);
}

.home .header_logo_inner img {
}
.header_logo_inner img {
	/* height: min(100%, 100%); */
	max-height: 64px;
	max-height: clamp(4rem, 2.3339rem + 6.7831vw, 8.125rem);
	max-height: 64px;
	width: auto;
	width: 100%;
}

.header_logo_inner a {
	align-content: center;
	align-items: center;
	display: grid;
}
.logo_black {
	display: none;
}
.header_logo_cover {
	background: var(--white);
	display: none;
	height: calc(100% + 5px);
	position: absolute;
	top: 0;
	width: 100%;
}

/* ========== ========== */
/* SNSリンク
/* ========== ========== */
.header_icon_group {
	display: flex;
	height: 64px;
	justify-content: flex-end;
}
.list_sns {
	align-items: center;
	column-gap: 15px;
	display: flex;
	position: relative;
}
.list_sns_block {
	list-style-type: none;
}
.list_sns_link {
	background: var(--transparent);
	border: none;
	cursor: pointer;
	display: grid;
}
.list_sns_icon {
}
.list_sns_search_button {
}

/* ========== ========== ========== */
/* 検索窓open
/* ========== ========== ========== */
.view_search {
	display: block;
	height: 100vh;
	left: 0;
	left: 0;
	opacity: 0;
	padding-top: 78px;
	position: fixed;
	top: 0;
	transition: 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 700;
}
.view_search::before {
	background: #a48186c4;
	content: "";
	height: 100vh;
	left: 0;
	opacity: 0.85;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

/* ========== ========== ========== */
/* 検索窓open
/* ========== ========== ========== */
.search_box {
	margin-bottom: 45px;
}
.search .search_box {
	padding-bottom: calc(clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem));
}
.search_input_wrapper {
	position: relative;
}
.search_input_title {
	background-image: linear-gradient(transparent 47%, #fff 48%);
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 600;
	left: 10px;
	line-height: 1.4375rem;
	padding: 0 5px;
	position: absolute;
	top: -11px;
	z-index: 1;
}
/* .view_search {
	margin-bottom: 15px;
	margin-top: 15px;
} */
.view_search {
	display: block;
	height: 100vh;
	left: 0;
	left: 0;
	opacity: 0;
	padding-top: 78px;
	position: fixed;
	top: 0;
	transition: 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 700;
}
.view_search_inner {
	/* left: 50%; */
	max-width: 1072px;
	/* padding: 100px 0;
	padding: 80px 0;
	position: absolute;
	top: 50%;
	translate: -50% -50% 0;
	width: min(
		100% - clamp(2.5rem, 0.4808rem + 9.2308vw, 6.25rem),
		3.912rem + 73.8952vw
	); */
	padding: 0 20px;
	width: 100%;
}
.view_search_inner {
	left: 50%;
	position: relative;
	top: 50%;
	translate: -50% -50% 0;
}
.search_form {
	/* margin-left: auto;
	margin-right: auto; */
	max-width: 642px;
	width: 100%;
}
.search_form:has(+ .used_background) {
	margin-bottom: -25px;
}
.list_sns_search {
	background: var(--pink);
	border-radius: 999px;
	color: var(--white);
	/* display: none; */
	/* padding: 5px 10px; */
	position: relative;
	z-index: 800;
}
.list_sns_search {
	background: var(--cream);
	border-radius: 50%;
	display: grid;
	height: 50px;
	width: 50px;
}
.list_sns_search_title {
	display: none;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.5rem;
}
.list_sns_search_img {
	height: auto;
	width: 100%;
}
.list_sns_search a {
	pointer-events: none;
}
.list_sns .list_sns_block:not(.list_sns_search) {
	z-index: 600;
}
.button_search_close {
	background: var(--transparent);
	border: none;
	cursor: pointer;
	/* display: none; */
	height: 70px;
	outline: none;
	position: absolute;
	right: 0;
	top: calc(-1 * (70px + clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem)));
	width: 70px;

	& .button_search_close_text {
		color: var(--transparent);
		height: 100%;
		overflow: unset;
		position: relative;
		width: 100%;
	}
	& .button_search_close_text::before {
		background: var(--white);
		content: "";
		height: 2px;
		left: 50%;
		position: absolute;
		rotate: 45deg;
		top: 50%;
		transform-origin: center;
		translate: -50% -50% 0;
		width: clamp(2.8125rem, 2.4338rem + 1.5416vw, 3.75rem);
	}
	& .button_search_close_text::after {
		background: var(--white);
		content: "";
		height: 2px;
		left: 50%;
		position: absolute;
		rotate: -45deg;
		top: 50%;
		transform-origin: center;
		translate: -50% -50% 0;
		width: clamp(2.8125rem, 2.4338rem + 1.5416vw, 3.75rem);
	}
}

.open_sub {
	& .view_search {
		opacity: 1;
		visibility: visible;
	}
	& .list_sns_search {
		background: var(--pink);
	}
	& .list_sns_search_img path {
		stroke: var(--cream);
	}
}

/* ========== ========== */
/* ハンバーガーメニュー
/* ========== ========== */
/* #sp-nav-flg {
	display: none;
} */
.header_hamburger_wrapper {
	display: grid;
	justify-items: end;
	margin-left: 10px;
	position: relative;
	z-index: 500;
}
.header_hamburger {
	column-gap: 15px;
	cursor: pointer;
	display: grid;
	height: 64px;
	justify-items: center;
	padding: 0 12px;
	place-content: center center;
	width: 64px;
}
.header_hamburger_button {
	align-items: center;
	background: var(--pink);
	border: none;
	cursor: pointer;
	display: grid;
	right: 0;
	top: 0;
}
.header_hamburger p {
	color: var(--white);
	font-size: 11px;
	font-size: 0.75rem;
	font-weight: 600;
	grid-area: 2 / 1 / 3 / 2;
	line-height: 1.25rem;
	margin-bottom: -7px;
	margin-top: 8px;
	transition: 0.4s;
}
.hamburger {
	align-content: center;
	background: transparent;
	border: none;
	display: grid;
	height: auto;
	justify-items: center;
	justify-items: end;
	width: fit-content;
}

/* ===== ===== test ===== ===== */
.hamburger {
	display: inline-block;
	height: calc((2px * 3) + ((8px + 2px) * 2));
	height: calc((2px * 2) + ((8px + 2px) * 1));
	position: relative;
	width: 30px;
	width: 24px;
}
.hamburger::before,
.hamburger::after,
.hamburger span::before,
.hamburger span {
	background: var(--white);
	border-radius: 0;
	display: block;
	height: 0.05em;
	height: 2px;
	left: 0px;
	position: absolute;
	width: 0.75em;
	width: 30px;
	width: 24px;
}
.hamburger::before,
.hamburger::after,
.hamburger span {
	top: 50%;
	translate: 0 -50% 0;
}
.hamburger::before {
	content: "";
	margin-top: calc(-1 * (8px + 2px));
}
.hamburger span {
	margin-top: 0px;
}
.hamburger span::before {
	content: "";
	left: 0;
	top: 0;
	transition: inherit;
}
.hamburger::before,
.hamburger::after {
	transition: 0.2s ease 0.2s;
}
.hamburger span {
	transition: 0.2s;
}

.open .hamburger::before,
.open .hamburger::after {
	transition: 0.3s ease;
	width: 0;
}
.open .hamburger span {
	transform: rotate(45deg);
	transition: 0.3s ease 0.3s;
}
.open .hamburger span::before {
	transform: rotate(-90deg);
}

/* ========== ========== */
/* グローバルナビゲーション
/* ========== ========== */
.nav_view {
	display: block;
	height: 100vh;
	left: 0;
	left: 0;
	opacity: 0;
	padding-top: 78px;
	position: fixed;
	top: 0;
	transition: 0.3s;
	visibility: hidden;
	width: 100%;
}
.no-js #sp-nav-flg:checked ~ .header_button_wrapper .nav_view,
.open .nav_view,
.open_sub .nav_view_sub {
	opacity: 1;
	opacity: 1;
	transition: 0.3s;
	visibility: visible;
	z-index: 1;
}
.nav_view::before,
.nav_view_sub::before {
	background: var(--white);
	content: "";
	height: 100vh;
	left: 0;
	opacity: 1;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}
.nav_gnav li {
	list-style-type: none;
}
.nav_gnav li a {
	display: grid;
}

.nav_gnav_link {
	padding: 15px 20px;
}
/* .nav_top_parent {
	& .nav_gnav_link {
		padding-right: 40px;
		pointer-events: none;
	}
} */

.sub_nav_parent {
	position: relative;
}
.nav_parent,
.sub_nav_parent {
	font-size: 1rem;
}

/* .nav_gnav .nav_parent,
.nav_gnav .sub_nav_parent {
	transition: 0.3s ease-out;
} */
.nav_gnav > li > .sub_nav_parent > a,
.nav_gnav > li > .nav_parent > a {
	font-weight: 600;
}

/*-------------------------------------------*/
/*	グローバルナビゲーション（子）
/*-------------------------------------------*/
.nav_parent {
	display: flex;
	position: relative;
}
.nav_parent_arrow {
	background: none;
	border: none;
	cursor: pointer;
	display: block;
	position: relative;
	width: calc(12px + 10px * 2 + 30px);
}
.nav_parent_arrow::before {
}
.nav_parent:hover .nav_parent_arrow::before {
	background: url(../images/pull__up__white.svg?date=202505);
	transition: 0.4s;
}
.liOpen .nav_parent .nav_parent_arrow::before {
}
@keyframes parent-arrow-before {
	0% {
		rotate: 45deg;
	}
	5% {
		rotate: 40deg;
	}
	95% {
		background: url(../images/pull__up__white.svg?date=202505);
		rotate: -10deg;
		transform: scale(1, -1);
	}
	100% {
		background: url(../images/pull__up__white.svg?date=202505);
		rotate: 0deg;
		transform: scale(1, -1);
	}
}

/* ========== ========== ========== */
/* ナビゲーション：1階層目
/* ========== ========== ========== */
.gnav_nav_title {
	font-size: 1rem;
	line-height: 1.3125rem;
}

.nav_has_child {
	& .nav_top_parent {
		position: relative;

		& .nav_gnav_link {
			padding-right: 40px;
			pointer-events: none;
			position: relative;
		}
		& .nav_gnav_link::before {
			background: var(--border-gray);
			border-radius: 50%;
			content: "";
			height: 15px;
			overflow: hidden;
			position: absolute;
			right: 20px;
			top: 50%;
			translate: 0 -50% 0;
			width: 15px;
		}
		& .nav_gnav_link::after {
			border-bottom: 3px solid transparent;
			border-left: 4.5px solid var(--white);
			border-right: 0;
			border-style: solid;
			border-top: 3px solid transparent;
			content: "";
			height: 6px;
			position: absolute;
			right: 23px;
			rotate: 90deg;
			top: 50%;
			/* translate: 0 0 0; */
			translate: -50% calc(-50% + 0.5px) 0;
			width: 5px;
		}
	}
	& .nav_top_parent::before {
		background: var(--pink);
		bottom: 0;
		content: "";
		height: 5px;
		left: 0;
		opacity: 0;
		position: absolute;
		transition: 0.3s ease-out;
		width: 100%;
	}
}
.nav_has_child.liOpen {
	& .nav_top_parent::before {
		opacity: 1;
		transition: 0.3s ease-out;
	}
}
.nav_gnav_block.liOpen {
	& .nav_gnav_link::before {
		background: var(--pink);
	}
	/* & .nav_top_parent::before {
		opacity: 1;
	} */
}
.nav_gnav_link {
	color: var(--text);
}
.nav_gnav_link_arrow {
	color: var(--text);
}
/* ========== ========== ========== */
/* ナビゲーション：2階層目
/* ========== ========== ========== */
.menu_view_01 {
	overflow: hidden;
	transition: all 0.3s ease-out;

	& .nav_parent {
		align-items: center;
		display: flex;
		justify-content: space-between;
	}
	& .nav_parent_arrow {
		align-items: center;
		cursor: pointer;
		display: grid;
		height: 100%;
		height: 50px;
		justify-items: center;
		min-width: 60px;
		position: relative;
	}
	& .nav_parent_arrow_inner {
		display: block;
		height: 100%;
		/* padding-right: 30px; */
		position: relative;
		width: 15px;
	}
	& .nav_parent_arrow_inner::before {
		border-bottom: 1px solid var(--pink);
		content: "";
		height: 3px;
		left: 50%;
		position: absolute;
		top: 50%;
		translate: -50% calc(-50% - (3px / 2)) 0;
		width: 15px;
	}
	& .nav_parent_arrow_inner::after {
		border-right: 1px solid var(--pink);
		content: "";
		height: 15px;
		left: 50%;
		position: absolute;
		top: 50%;
		transition: 0.3s ease-out;
		translate: calc(-50% - (3px / 2)) -50% 0;
		width: 3px;
	}
	& .liOpen_C {
		& .nav_parent_arrow_inner::after {
			border-right: 1px solid var(--pink);
			content: "";
			height: 15px;
			left: 50%;
			opacity: 0.5;
			position: absolute;
			rotate: 90deg;
			top: 50%;
			transform-origin: center;
			transition: 0.3s ease-out;
			translate: -50% calc(-50% - (3px / 2)) 0;
			width: 3px;
		}
	}
	& .sub_menu_01 {
		& > .nav_gnav_block {
			& .nav_parent {
				/* display: grid;
				grid-template-columns: auto 60px; */
				& .nav_gnav_link {
					color: var(--pink);
					padding: 15px 0;
					padding-left: 20px;
					pointer-events: all;
					width: 100%;
				}
				& .gnav_nav_title {
					font-size: 15px;
					font-size: 0.9375rem;
					font-weight: 600;
					line-height: 1.25rem;
					transition: 0.3s ease-out;
				}
				& .nav_gnav_link:hover {
					& .gnav_nav_title {
						color: var(--main-blue);
						transition: 0.3s ease-out;
					}
				}
			}
		}
	}
}
/* ========== ========== ========== */
/* ナビゲーション：3階層目
/* ========== ========== ========== */
.menu_view_03 {
	& .sub_menu_ul_inner {
		padding: 10px 0;
	}
	& .sub_menu_03 {
		& .nav_gnav_block {
			margin-left: 21px;
			position: relative;
		}
		& .nav_gnav_block::before {
			background: var(--pink);
			border: 1px solid var(--transparent);
			border-radius: 50%;
			content: "";
			display: block !important;
			height: 15px;
			left: 0.5px;
			overflow: hidden;
			position: absolute;
			top: 8px;
			transition: 0.3s ease-out;
			width: 15px;
		}
		& .nav_gnav_block::after {
			border-bottom: 3px solid transparent;
			border-left: 4.5px solid var(--light-gray);
			border-right: 0;
			border-style: solid;
			border-top: 3px solid transparent;
			content: "";
			display: block !important;
			height: 6px;
			left: 9px;
			position: absolute;
			top: 16px;
			transition: 0.3s ease-out;
			translate: -50% calc(-50% - 0.5px) 0;
			width: 4.5px;
		}
		& .nav_gnav_block.current-menu-item::before {
			background: var(--light-gray);
			border: 1px solid var(--pink);
			height: 15.5px;
			left: 0;
			width: 15.5px;
		}
		& .nav_gnav_block.current-menu-item::after {
			border-bottom: 3.5px solid transparent;
			border-left: 5px solid var(--pink);
			border-right: 0;
			border-style: solid;
			border-top: 3.5px solid transparent;
			left: 9px;
			top: 16px;
		}
		& .nav_gnav_link {
			color: var(--text);
			display: block;
			/* padding: 7px 20px; */
			padding: 2px 20px;
		}
		& .gnav_nav_title {
			font-size: 0.875rem;
			/* font-weight: 400; */
			line-height: 1rem;
		}
		& .nav_gnav_link {
			& .gnav_nav_title {
				background: linear-gradient(var(--orange), var(--orange)) left bottom /
					0% 1px no-repeat;
				background-size: 0% 1px;
				display: inline;
				/* padding-bottom: 3px; */
				text-decoration: none;
				transition: 0.2s;
			}
		}
		& .nav_gnav_link:hover {
			& .gnav_nav_title {
				background-size: 100% 1px;
				transition: 0.2s;
			}
		}
		/* & .nav_gnav_block:hover::before {
			background: var(--main-blue);
			border: 1px solid var(--transparent);
			transition: 0.3s ease-out;
		}
		& .nav_gnav_block:hover::after {
			border-left: 4.5px solid var(--light-gray);
			transition: 0.3s ease-out;
		} */
	}
}

/*-------------------------------------------*/
/*	グローバルナビゲーション（4ブロック）
/*-------------------------------------------*/
.nav_gnav_four {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-columns: repeat(2, min(50vw, 140px));
	justify-content: center;
}
.gnav_four_figure {
	--size: clamp(3.125rem, 2.3223rem + 1.6722vw, 3.75rem);
	aspect-ratio: 1 / 1;
	display: grid;
	height: var(--size);
	position: relative;
	width: var(--size);
}
.gnav_four_figure::before {
	/* background: var(--orange); */
	background: var(--pink);
	border-radius: 50%;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: 0.3s ease-out;
	width: 100%;
}
.gnav_four_img {
	height: 100%;
	position: relative;
	width: 100%;
}
/* & .gnav_four_img path,
& .gnav_four_img rect {
	transition: 0.3s ease-out;
} */
.gnav_four_link {
	color: var(--white);
	display: grid;
	justify-items: center;
	padding: 10px 0;
	row-gap: 5px;
}
.gnav_four_title {
	color: var(--text);
	font-size: clamp(0.875rem, 0.8245rem + 0.2055vw, 1rem);
	line-height: clamp(1.1875rem, 1.137rem + 0.2055vw, 1.3125rem);
	/* transition: 0.3s ease-out; */
	text-align: center;
}
& .gnav_four_figure::before,
& .gnav_four_img path,
& .gnav_four_title {
	transition: 0.3s ease-out;
}
.gnav_four_link:hover {
	& .gnav_four_figure::before,
	& .gnav_four_img path,
	& .gnav_four_title {
		transition: 0.3s ease-out;
	}
	& .gnav_four_figure::before {
		background: var(--cream);
	}
	& .gnav_four_img path,
	& .gnav_four_img rect {
		fill: var(--pink);
	}
	& .gnav_four_title {
		color: var(--dark-gray);
	}
}

/*-------------------------------------------*/
/*	グローバルナビゲーション（サブ）
/*-------------------------------------------*/
.nav_gnav_sub {
	display: grid;
	/* grid-template-columns: repeat(2, 1fr); */
	/* margin-right: 10px; */
	margin-top: 20px;
}
.gnav_sub_block {
	display: grid;
	height: 36px;
	list-style-type: none;
	padding-left: 15px;
	padding-right: 20px;
	position: relative;
}
.gnav_sub_link {
	align-items: center;
	color: var(--text);
	display: grid;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
.gnav_sub_link {
	background: linear-gradient(var(--main-blue), var(--main-blue)) center bottom /
		0% 1px no-repeat;
	background-size: 0% 1px;
	color: var(--text);
	font-size: 0.75rem;
	line-height: 1rem;
	padding: 2px 0;
	text-decoration: none;
	transition: 0.2s;
}
.gnav_sub_link:hover {
	background-size: 100% 1px;
	transition: 0.2s;
}
.gnav_sub_title {
	font-size: 1rem;
	line-height: 1.315rem;
	text-align: center;
}

/*-------------------------------------------*/
/*	検索バー
/*-------------------------------------------*/
.nav_side {
	& .list_sns {
		display: none;
	}
}
.block_search {
	display: grid;
	position: relative;
}
.block_search .home_heading {
	font-size: clamp(2.25rem, 1.7451rem + 2.0555vw, 3.5rem);
	line-height: clamp(2.625rem, 2.2463rem + 1.5416vw, 3.5625rem);
}
.search_form_wrapper {
	margin-bottom: calc(-1 * 51px / 2);
}
.search_form {
	align-items: start;
	display: grid;
	height: 100%;
	height: 51px;
	margin: 0 auto;
	position: relative;
}
.search_form select,
.search_form option {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}
.search_form input,
.search_form select {
	background: var(--white);
	border: 1px solid var(--border-gray);
	/* border-radius: 0;
	border-radius: 10px; */
	/* border-radius: 999px; */
	border-radius: 10px;

	color: var(--text);
	font-size: clamp(0.9375rem, 2vw, 1rem);
	font-size: 1rem;
	height: 51px;
	padding: 18px 0.75rem;
	width: 100%;
}
.search_form label {
	display: grid;
}
.search_form select {
	position: relative;
}
.search_form select > option {
	border-left: 1px solid var(--key__drak);
	border-right: 1px solid var(--key__drak);
}
.search_select_parent::before {
	border-left: solid 1px var(--key__drak);
	border-top: solid 1px var(--key__drak);
	content: "";
	height: 11px;
	position: absolute;
	right: 10px;
	top: 16px;
	transform: rotate(225deg);
	transition: 0.3s;
	width: 11px;
	z-index: 1;
}
.block_search form input {
	appearance: none;
	background: #fff;
	border: 1px solid var(--unnamed-color-999999);
	border-radius: 0;
	color: var(--dark-gray);
	font-size: 1rem;
	min-height: 46px;
	padding: 5px 40px 5px 15px;
	width: 100%;
}
.block_search form input:focus {
	border: 1px solid var(--key);
}
.block_search form > label {
	position: relative;
}
.search_submit {
	appearance: none;
	appearance: none;
	background: none;
	background: var(--cream);
	border: none;
	border: none;
	border-radius: 999px;
	color: var(--white);
	cursor: pointer;
	display: grid;
	height: 24px;
	height: 40px;
	margin-right: 12px;
	outline: none;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.3s ease-out;
	width: 24px;
	width: 40px;
	z-index: 100;
}
.search_submit:after {
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	display: inline-block;
	height: 14px;
	position: absolute;
	position: relative;
	width: 14px;
}
.search_submit:hover {
	background: var(--medium-pink);
	color: var(--text);
	transition: 0.3s ease-out;
}

.search_submit_img {
	height: auto;
	width: 100%;
}

@media screen and (min-width: 992px) {
	.block_search {
		align-items: center;
		grid-template-columns: max-content auto;
	}
}

.search_bar_change,
.search_bar_double {
	background: #fff;
	display: grid;
	padding-bottom: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
	padding-left: clamp(0.9375rem, 0.2812rem + 2.6721vw, 2.5625rem);
	padding-right: clamp(0.9375rem, 0.2812rem + 2.6721vw, 2.5625rem);
	padding-top: clamp(2.1875rem, 1.9351rem + 1.0277vw, 2.8125rem);
}
.search .search_bar_double {
	border-top: 1px solid var(--white);
	display: none;
}
.search_bar_double .search_form:first-child {
	border-bottom: 1px solid var(--key__light);
	padding-bottom: 20px;
}
.search_bar_double .search_form:last-child {
	padding-top: 20px;
}

@media screen and (min-width: 992px) {
	.search_bar_double {
		grid-template-columns: repeat(2, 1fr);
	}
	.search_bar_double .search_form:first-child {
		border-bottom: none;
		border-right: 1px solid var(--key__light);
		padding-bottom: 0px;
		padding-right: clamp(1.25rem, -0.4078rem + 2.6738vw, 1.875rem);
	}
	.search_bar_double .search_form:last-child {
		padding-left: clamp(1.25rem, -0.4078rem + 2.6738vw, 1.875rem);
		padding-top: 0px;
	}
}

.search_head {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.9375rem;
	margin-bottom: 30px;
	position: relative;
}
.search_head::after {
	background: var(--key);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 2px;
	left: calc(clamp(0.9375rem, 0.2812rem + 2.6721vw, 2.5625rem) * -1);
	position: absolute;
	top: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
}
.search_nothing {
	color: var(--key);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.6875rem;
	margin-bottom: 15px;
	padding-left: 24px;
	position: relative;
}
.search_nothing:before {
	background: url(../images/icon__nothing.svg);
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 15px;
	left: 0;
	position: absolute;
	top: 6px;
	width: 15px;
}
.search_result_text {
	font-size: 0.875rem;
	line-height: 1.5rem;
	margin-top: 15px;
}
.search_result_text span {
	font-weight: 600;
}
.search_change {
	align-items: center;
	appearance: none;
	background: none;
	background: var(--key__deepdark);
	background: var(--white);
	border: none;
	border: 1px solid #f8b500;
	border-radius: 999px;
	color: var(--text);
	cursor: pointer;
	display: grid;
	font-family: var(--font-normal);
	font-size: clamp(1rem, 0.9495rem + 0.2055vw, 1.125rem);
	font-weight: 600;
	justify-content: center;
	justify-items: center;
	line-height: clamp(1.3125rem, 1.2368rem + 0.3083vw, 1.5rem);
	line-height: 1.5rem;
	margin: 0 auto;
	margin-bottom: calc(
		clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem) * -1 - 27px
	);
	margin-top: 30px;
	max-width: clamp(23.3125rem, 19.0967rem + 17.1634vw, 33.75rem);
	max-width: 255px;
	outline: none;
	padding: 15px 34px;
	padding-right: 52px;
	position: relative;
	text-decoration: none;
	transition: 0.3s ease-out;
	width: auto;
	z-index: 1;
}
.search_change:before {
	background: url(../images/icon__plus.svg);
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 15px;
	position: absolute;
	right: 26px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
}
.search_open .search_change {
	border: 1px solid var(--gray__light);
}
.search_open .search_change:before {
	background: url(../images/icon__minus.svg);
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 15px;
	position: absolute;
	right: 26px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
}

/*-------------------------------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
/*	追加 2025/05/28
/*-------------------------------------------*/
.nav_wrapper {
	/* max-height: calc(100vh - 64px * 2);
	overflow-y: auto; */
	height: 100%;
	max-height: calc(100vh - 64px);
	max-height: calc(100svh - 64px);
	overflow-y: auto;
	padding-bottom: 64px;
}
.no-js #sp-nav-flg:checked ~ .nav_view,
.open .nav_view,
.js-js #sp-nav-flg:checked ~ .nav_view,
.open_sub .nav_view_sub {
	z-index: 100;
}
.nav_parent {
	background: var(--transparent);
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	position: relative;
	width: 100%;
}
.sub_nav_parent {
	display: flex;
	justify-content: center;
	position: relative;
}
.nav_gnav {
	& .sub_nav_parent_link {
		color: var(--pink);
		font-weight: 600;
		text-decoration: none;
	}
}

.sub_menu .sub_nav_parent {
	display: block;
}
.sub_menu_view {
	background: var(--light-gray);
	height: 0;
	opacity: 0;
	visibility: hidden;
}
.liOpen .nav_top_parent + .sub_menu_view,
.sub_menu_01 .liOpen .nav_parent + .sub_menu_view {
	height: auto;
	opacity: 1;
	visibility: visible;
}

/* ========== ========== ========== */
/* 固定SNSアイコン
/* ========== ========== ========== */
.item_fixed_sns {
	padding-top: 64px;
	position: relative;
	/* z-index: 700; */

	& .list_headersns {
		/* display: flex; */
		display: grid;
		gap: 0.625rem;
		grid-template-columns: auto auto;
		justify-content: center;
	}
	& .list_headersns_block {
		height: clamp(3.75rem, 3.4976rem + 1.0277vw, 4.375rem);
		width: clamp(3.75rem, 3.4976rem + 1.0277vw, 4.375rem);
	}
	& .list_headersns_link {
		align-content: center;
		/* align-items: center; */
		aspect-ratio: 1 / 1;
		background: var(--white);
		border-radius: 50%;
		/* box-shadow: rgba(173, 122, 130, 0.54) 0px 2px 6px; */
		display: grid;
		justify-items: center;
		padding: 10px;
		padding: calc(clamp(3.75rem, 3.4976rem + 1.0277vw, 4.375rem) / 4);
		transition: 0.3s ease-out;
	}
	/* & .list_headersns_link:hover {
		box-shadow: rgba(173, 122, 130, 0.25) 0px 1px 3px;
		transition: 0.3s ease-out;
	} */
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（768px） ---------- ---------- */
@media screen and (min-width: 768px) {
	/*-------------------------------------------*/
	/*	グローバルナビゲーション
	/*-------------------------------------------*/
	.no-js #sp-nav-flg:checked ~ .nav_view,
	.open .nav_view,
	.js-js #sp-nav-flg:checked ~ .nav_view,
	.open_sub .nav_view_sub {
		right: 0;
	}

	.home_main,
	.main_page {
		margin-top: 64px;
	}
	/* ========== ========== ========== */
	/* 固定SNSアイコン
	/* ========== ========== ========== */
	.item_fixed_sns {
		bottom: calc(155px + 20px);
		position: fixed;
		right: 10px;
		z-index: 900;

		& .list_headersns {
			display: grid;
			grid-template-columns: none;
			row-gap: 0.625rem;
		}
		& .list_headersns_block {
			height: clamp(3.75rem, 3.4976rem + 1.0277vw, 4.375rem);
			width: clamp(3.75rem, 3.4976rem + 1.0277vw, 4.375rem);
		}
		& .list_headersns_link {
			align-content: center;
			/* align-items: center; */
			aspect-ratio: 1 / 1;
			background: var(--white);
			border-radius: 50%;
			box-shadow: rgba(173, 122, 130, 0.54) 0px 2px 6px;
			display: grid;
			justify-items: center;
			padding: calc(clamp(3.75rem, 3.4976rem + 1.0277vw, 4.375rem) / 4);
			transition: 0.3s ease-out;
		}
		& .list_headersns_link:hover {
			box-shadow: rgba(173, 122, 130, 0.25) 0px 1px 3px;
			/* opacity: 0.8; */
			transition: 0.3s ease-out;
		}
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（992px） ---------- ---------- */
@media screen and (min-width: 992px) {
	/* ========== ========== ========== */
	/* ロゴ
	/* ========== ========== ========== */
	.nav_view {
		left: auto;
		max-width: 500px;
		right: 0;
	}
	/* ========== ========== ========== */
	/* ナビゲーション：2階層目
	/* ========== ========== ========== */
	.menu_view_01 {
		& .nav_parent_arrow {
			justify-items: start;
		}
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（1500px） ---------- ---------- */
@media screen and (min-width: 1500px) {
	:root {
		--logo-w: clamp(12.5rem, -55.2711rem + 90.3614vw, 21.875rem);
	}

	/* .nav_gnav > .nav_gnav_block {
		margin-bottom: 10px;
	} */

	.home_main,
	.main_page {
		margin-top: 112px;
	}

	/* ========== ========== */
	/* サイトロゴ
	/* ========== ========== */
	.header_logo {
		padding: 0;
		/* height: calc(112px - 61px); */
		z-index: 10;
	}
	/* .header_logo_inner {
		margin-left: calc(clamp(0rem, -9.4219rem + 12.5vw, 1.25rem) * -1);
	} */
	.header_logo_inner a {
		/* align-content: normal;
		align-items: end; */
		display: grid;
	}
	.open_sub .header_logo {
		z-index: 5;
	}

	/* ========== ========== ========== */
	/* ロゴ
	/* ========== ========== ========== */
	.header_logo_inner {
		width: var(--logo-w);
	}
	.header_icon_group {
		display: flex;
		height: auto;
	}
	.nav_view {
		height: auto;
		left: 0;
		max-width: none;
		opacity: 1;
		padding-top: 0;
		position: absolute;
		right: auto;
		top: auto;
		visibility: visible;
		z-index: 8;
	}
	.nav_wrapper {
		display: flex;
		flex-direction: column-reverse;
		margin: 0 auto;
		overflow-x: hidden;
		overflow-y: hidden;
		padding-bottom: 0;
	}
	.nav_side {
		display: flex;
		/* flex-direction: row-reverse; */
		justify-content: flex-start;
		justify-content: flex-end;
	}
	.view_search_inner {
		/* left: 50%;
		position: relative;
		top: 50%;
		translate: -50% -50% 0; */
	}
	.list_sns_search {
		display: block;
	}
	.header_hamburger_wrapper {
		display: none;
	}
	.nav_wrapper nav {
		align-items: flex-end;
		display: flex;
		flex-direction: column-reverse;
		justify-content: space-between;
	}
	.header_holder,
	.nav_wrapper {
		height: 112px;
	}
	.nav_gnav {
		column-gap: 1px;
		display: flex;
	}

	.nav_view::before,
	.nav_view_sub::before {
		background: none;
		display: none;
		height: 100%;
	}
	.liOpen .nav_parent .nav_parent_arrow::before,
	.nav_parent:hover .nav_parent_arrow::before {
		animation: parent-arrow-before 0.4s forwards;
	}

	.nav_gnav_link {
		padding: 15px clamp(0.625rem, -1.2463rem + 2.924vw, 1.25rem);
	}
	/* .nav_top_parent {
		& .nav_gnav_link {
			padding-right: clamp(1.25rem, -2.4927rem + 5.848vw, 2.5rem);
			padding-right: clamp(1.25rem, -2.1184rem + 5.2632vw, 2.375rem);
		}
	} */
	.nav_has_child {
		& .nav_top_parent {
			& .nav_gnav_link {
				/* padding-right: clamp(1.25rem, -2.4927rem + 5.848vw, 2.5rem);
				padding-right: clamp(1.25rem, -2.1184rem + 5.2632vw, 2.375rem); */
				padding-right: clamp(1.5625rem, -1.3393rem + 3.0952vw, 2.375rem);
			}
		}
	}

	/*-------------------------------------------*/
	/*	検索バー
	/*-------------------------------------------*/
	.header_icon_group {
		& > .list_sns {
			display: none;
		}
	}
	.nav_side {
		& .list_sns {
			display: block;
		}
		& .list_sns_search {
			align-items: center;
			background: var(--pink);
			border-radius: 999px;
			display: grid;
			grid-template-columns: auto auto;
			/* display: flex;
			flex-direction: row; */
			height: 40px;
			padding: 0 15px 0 10px;
			width: auto;
		}
		& .list_sns_search_img {
			width: auto;
		}
		& .list_sns_search_img path {
			stroke: var(--cream);
		}
		& .list_sns_search_title {
			display: block;
			height: auto;
			margin: 0;
			opacity: 1;
			position: relative;
			white-space: unset;
			width: auto;
		}
	}
	.open_sub {
		& .nav_side {
			& .list_sns_search {
				background: var(--cream);
			}
			& .list_sns_search_img path {
				stroke: var(--pink);
			}
			& .list_sns_search_title {
				color: var(--pink);
				display: block;
				opacity: 1;
				position: relative;
				visibility: visible;
			}
		}
	}

	/*-------------------------------------------*/
	/*	グローバルナビゲーション（子）
	/*-------------------------------------------*/
	.nav_gnav > li:last-child > div::after {
		display: none;
	}
	.menu_view_01 {
		background: var(--light-gray);
		height: auto;
		left: 0;
		margin: 0 calc(50% - 50vw);
		opacity: 0;
		padding-bottom: 40px !important;
		padding-top: 10px;
		position: absolute;
		right: auto;
		visibility: hidden;
		width: 100%;
		width: 100vw;

		.liOpen .nav_top_parent + .sub_menu_view,
		.sub_menu_01 .liOpen .nav_parent + .sub_menu_view {
			height: auto;
			opacity: 1;
			position: absolute !important;
			visibility: visible;
		}
	}
	.nav_top_parent:hover .nav_gnav_link::before,
	.nav_top_parent:has(+ .menu_view_01:hover) .nav_gnav_link::before {
		background: var(--pink);
	}
	.menu_view_01 {
		position: absolute !important;
		/* transition: 0.3s ease-out; */
	}
	.sub_menu_wrapper {
		display: grid;
		overflow-x: hidden;
		overflow-y: auto;
	}
	/* .nav_parent_arrow {
		display: none;
	} */
	.menu_view_01 {
		& .nav_parent_arrow {
			display: none;
		}
	}
	.sub_menu_ul_inner {
		margin: 0 auto;

		& .sub_menu_01 {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			max-height: calc(100vh - 154px - 2px);
		}
	}
	.sub_menu {
		display: grid;
	}
	.contents_main_home {
		background: var(--white);
		background: var(--transparent);
		position: relative;
		z-index: 500;
	}

	/*-------------------------------------------*/
	/*	グローバルナビゲーション（サブ）
	/*-------------------------------------------*/
	.nav_gnav_sub {
		display: flex;
	}
	.nav_gnav_sub {
		display: flex;
		justify-content: center;
	}
	.nav_gnav_sub {
		display: flex;
		height: 36px;
		justify-content: flex-end;
		margin-top: 0;
	}
	.gnav_sub_block {
		display: grid;
		height: 36px;
		list-style-type: none;
		padding-left: 15px;
		padding-right: 20px;
		position: relative;
	}
	.gnav_sub_link {
		align-items: center;
		color: var(--text);
		display: grid;
	}
	.gnav_sub_link {
		background: linear-gradient(var(--main-blue), var(--main-blue)) center
			bottom / 0% 1px no-repeat;
		background-size: 0% 1px;
		color: var(--text);
		font-size: 0.75rem;
		line-height: 1rem;
		padding: 2px 0;
		text-decoration: none;
		transition: 0.2s;
	}
	.gnav_sub_link:hover {
		background-size: 100% 1px;
		transition: 0.2s;
	}
	.gnav_sub_title {
		font-size: 0.875rem;
		line-height: 1.5rem;
	}

	/*-------------------------------------------*/
	/*	グローバルナビゲーション（4ブロック）
	/*-------------------------------------------*/
	.nav_gnav_four {
		border: 0;
		clip: rect(0, 0, 0, 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	/*-------------------------------------------*/
	/*	追加 2025/05/28
	/*-------------------------------------------*/
	.header {
		& .search_form {
			display: grid;
			/* grid-template-columns: 504fr 102fr;
			justify-items: unset; */
		}
		& .search_input_wrapper {
			width: auto;
		}
		/* & .search_submit {
			border-radius: 0;
			max-width: none;
		} */
	}
	/* ========== ========== ========== */
	/* ナビゲーション：1階層目
	/* ========== ========== ========== */
	/* .gnav_nav_title {
		font-size: 1rem;
		line-height: 1.3125rem;
	} */
	.nav_top_parent {
		padding-bottom: 10px;

		& .nav_gnav_link {
			position: relative;
		}
		& .nav_gnav_link::before {
			right: 20px;
			right: 2px;
			right: clamp(0.125rem, -3.2434rem + 5.2632vw, 1.25rem);
		}
		& .nav_gnav_link::after {
			right: 23px;
			right: 5px;
			right: clamp(0.3125rem, -3.0559rem + 5.2632vw, 1.4375rem);
		}
	}

	.nav_has_child {
		& .nav_top_parent {
			& .nav_gnav_link::before {
				right: clamp(0.3125rem, -3.0357rem + 3.5714vw, 1.25rem);
			}
			& .nav_gnav_link::after {
				right: clamp(0.5rem, -2.8482rem + 3.5714vw, 1.4375rem);
			}
		}
	}
	/* ========== ========== ========== */
	/* ナビゲーション：3階層目
	/* ========== ========== ========== */
	.menu_view_03 {
		& .sub_menu_ul_inner {
			padding: 0;
		}
	}

	.liOpen {
		.menu_view_03 {
			height: auto;
			opacity: 1;
			visibility: visible;
		}
	}
	/* ========== ========== ========== */
	/* ナビゲーション：hover
	/* ========== ========== ========== */
	.menu_view_01,
	.menu_view_03 {
		height: auto;
		transition: 0.3s ease-out;
	}
	.nav_top_parent:hover + .menu_view_01,
	.nav_top_parent:hover + .menu_view_01 .menu_view_03,
	.menu_view_01:hover,
	.menu_view_01:hover .menu_view_03 {
		height: auto;
		opacity: 1;
		visibility: visible;
	}
	.nav_top_parent:hover + .menu_view_01,
	.nav_top_parent:hover + .menu_view_01 .menu_view_03 {
		transition: 0.3s ease-out;
	}
	.nav_gnav {
		& > .nav_gnav_block:hover {
			& .nav_top_parent::before {
				opacity: 1;
				transition: 0.3s ease-out;
			}
		}
	}
	/* ========== ========== ========== */
	/* 固定SNSアイコン
/* ========== ========== ========== */
	.item_fixed_sns {
		padding-top: 0px;
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（1150px） ---------- ---------- */
@media screen and (min-width: 1700px) {
	.header_logo_inner img {
	}
}
