@import url("https://fonts.googleapis.com/css2?family=Cormorant Garamond:ital,wght@0,700;1,600;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto Sans JP:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori Mincho:wght@700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400..700;1,400..700&display=swap');
/* reset */
*, *::before, *::after {
	box-sizing: border-box;
}
* {
	padding: 0; /* Reset `padding` and `margin` of all elements */
	margin: 0;
}
html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	overflow-x: clip;
	box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
	margin: 0;
}

ul[role=list], ol[role=list] {
	list-style: none;
}

body {
	min-height: 100vh;
	line-height: 1.5;
}

h1, h2, h3, h4, button, input, label {
	line-height: 1.1;
}

h1, h2, h3, h4 {
	text-wrap: balance;
}

a:not([class]) {
	-webkit-text-decoration-skip: ink;
					text-decoration-skip-ink: auto;
	color: currentColor;
}

img, picture {
	max-width: 100%;
	display: block;
}

input, button, textarea, select {
	font: inherit;
}

textarea:not([rows]) {
	min-height: 10em;
}

:target {
	scroll-margin-block: 5ex;
}

a {
	text-decoration: none;
}

a:hover {
	opacity: 0.7;
}

:where([hidden]:not([hidden=until-found])) {
	display: none !important;
}

:where(html) {
	-webkit-text-size-adjust: none;
	color-scheme: dark light;
	-moz-tab-size: 2;
	-o-tab-size: 2;
	tab-size: 2;
	scrollbar-gutter: stable;
}

:where(html:has(dialog:modal[open])) {
	overflow: clip;
}

@media (prefers-reduced-motion: no-preference) {
	:where(html:focus-within) {
		scroll-behavior: smooth;
	}
}
:where(body) {
	line-height: 1.5;
	font-family: system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
}

:where(button) {
	all: unset;
}

:where(input, button, textarea, select) {
	font: inherit;
	color: inherit;
}

:where(textarea) {
	resize: vertical;
	resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
	cursor: pointer;
}

:where(:disabled) {
	cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
	cursor: not-allowed;
}

:where(a) {
	color: inherit;
	text-underline-offset: 0.2ex;
}

:where(ul, ol) {
	list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
	display: block;
}

:where(img, picture, svg, video) {
	max-inline-size: 100%;
	block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
	overflow-wrap: break-word;
}

:where(h1, h2, h3) {
	line-height: calc(1em + 0.5rem);
	text-wrap: balance;
}

:where(hr) {
	border: none;
	border-block-start: 1px solid;
	color: inherit;
	block-size: 0;
	overflow: visible;
}

:where(dialog) {
	border: none;
	background: none;
	inset: unset;
	max-width: unset;
	max-height: unset;
}

:where(dialog:not([open], [popover])) {
	display: none !important;
}

:where([popover]) {
	border: none;
	background: none;
	inset: unset;
	color: inherit;
}

:where([popover]:not(:popover-open)) {
	display: none !important;
}

:where(:focus-visible) {
	outline: 3px solid CanvasText;
	box-shadow: 0 0 0 5px Canvas;
	outline-offset: 1px;
}

:where(:focus-visible, :target) {
	scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	border: 0 !important;
	-webkit-user-select: none !important;
	-moz-user-select: none !important;
	user-select: none !important;
}

.pc_on {
	display: block;
}

.sp_on {
	display: none;
}

@media screen and (max-width: 750px) {
	.pc_on {
		display: none;
	}
	.sp_on {
		display: block;
	}
}
/* Global */
:root {
	--white00: rgba(255, 255, 255, 1);
	--black00: rgba(0, 0, 0, 1);
	--black01: rgba(34, 34, 34, 1);
	--black02: rgba(0, 0, 0, .5);
	--gray-line: rgba(201, 203, 213, 1);
	--dark-gray: rgba(137, 137, 137, 1);
	--bg-gray: rgba(236, 238, 240, 1);
	--bg-gray02: rgba(192, 199, 205, 1);
	--bg-gray03: rgba(227, 230, 233, 1);
	--bg-gray04: rgba(220, 221, 217, 1);
	--bg-gold: rgba(165, 155, 99, 1);
	--bg-green: rgba(176, 221, 205, 0.2);
	--bg-blue: rgba(155, 223, 243, 0.2);
	--bg-tag: rgba(115, 119, 123, 1);
}
/* title */
#title {
	position: relative;
	width: 100%;
	height: 40.5rem;/*15.5rem*/
	/*margin-top: 6.25rem;*/
	background: url(../images/access/bg_title_access.jpg) center center/cover no-repeat;
	box-sizing: border-box;
	/*z-index: 100;*/
}
#title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	/*background-color: rgba(255, 255, 255, 0.7);
	background-image: linear-gradient(180deg, rgb(192, 199, 205) 0%, rgba(192, 199, 205, 0) 32%);*/
}
#title .title_wrap {
	width: 90%;/*90rem*/
	height: 100%;
	margin: 0 auto;
}
#title .title_wrap .title_inner {
	position: relative;
	width: 100%;/*75rem*/
	margin: 0 auto;
	/*z-index: 200;*/
}
#title .title_wrap .title_inner .breadcrumb {
	width: 100%;
	padding-top: 8.5rem;
}
#title .title_wrap .title_inner .breadcrumb ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
}
#title .title_wrap .title_inner .breadcrumb ul li {
	font-size: 0.75rem;
	font-weight: 400;
	font-style: normal;
	font-family: "Noto Sans JP", cursive;
	/*color: var(--black02);*/
	color: #fff;
}
#title .title_wrap .title_inner .breadcrumb ul li::after {
	content: "/";
	margin-left: 0.75rem;
	margin-right: 0.75rem;
}
#title .title_wrap .title_inner .breadcrumb ul li.focus_on {
	/*color: var(--black00);*/
	color: #fff;
}
#title .title_wrap .title_inner .breadcrumb ul li:last-child::after {
	content: "";
	margin-right: 0;
}
#title .title_wrap .title_inner h1 {
	margin-top: 1rem;
	margin-left: 0;
	font-size: 3rem;
	font-family: "Cormorant Garamond", cursive;
	font-style: italic;
	line-height: normal;
	/*color: var(--black00);*/
	color: #fff;
	display: block;
}
#title .title_wrap .title_inner h1 span {
	margin-top: 0.125rem;
	font-size: 0.875rem;
	font-weight: 400;
	font-style: normal;
	font-family: "Noto Sans JP", cursive;
	line-height: 200%;
	display: block;
}
#title .title_wrap .title_inner h1 span:before {
	content: "";
	display: none;/*inline-block*/
	width: 0.375rem;
	height: 0.375rem;
	background-image: url(../images/title_dot01.svg);
	background-size: contain;
	margin-right: 0.375rem;
}

@media screen and (max-width: 750px) {
	#title {
		width: 100%;            /* 100vwによるスクロールバーのハミ出しを防止 */
		height: 100%;          /* 59.73vw ＝ 224px */
		margin-top: 0;       /* 21.33vw ＝ 80px */
		background: url(../images/bg_title_default_sp.png) center center/cover no-repeat;
		aspect-ratio: 10 / 9;
	}
	#title .title_wrap {
		width: 100%;            /* 横幅いっぱいは%で指定するのが安全 */
	}
	#title .title_wrap .title_inner {
		width: 100%;            /* 89.33vw(約335px)でガチガチに固めず、％と左右余白で可変に対応 */
		max-width: 480px;       /* 元の狙いのサイズ（335px）を上限にする */
		margin: 0;     /* 中央寄せ */
		padding: 20px;
		box-sizing: border-box;
	}
	#title .title_wrap .title_inner .breadcrumb {
		display: block;
		padding: 80px 20px 0;      /* 8vw ＝ 30px */
		overflow-x: auto;       /* scrollよりautoのほうがブラウザに優しく自然 */
		box-sizing: border-box;
	}
	#title .title_wrap .title_inner .breadcrumb ul {
		justify-content: flex-end;
	}
	#title .title_wrap .title_inner .breadcrumb ul li {
		font-size: 12px;        /* 3.2vw ＝ 12px */
		color: #fff;
		white-space: nowrap;
	}
	#title .title_wrap .title_inner .breadcrumb ul li::after {
		margin-left: 12px;      /* 3.2vw ＝ 12px */
		margin-right: 12px;     /* 3.2vw ＝ 12px */
	}
	#title .title_wrap .title_inner h1 {
		margin-top: 42px;       /* 11.2vw ＝ 42px */
		font-size: 28px;        /* 7.46vw ＝ 28px */
		padding: 0 20px 0;
		box-sizing: border-box;
	}
	#title .title_wrap .title_inner h1 span {
		margin-top: 2px;        /* 0.53vw ＝ 2px */
		font-size: 14px;        /* 3.73vw ＝ 14px */
		box-sizing: border-box;
	}
	#title .title_wrap .title_inner h1 span:before {
		width: 6px;             /* 1.6vw ＝ 6px */
		height: 6px;            /* 1.6vw ＝ 6px */
		margin-right: 6px;      /* 1.6vw ＝ 6px */
	}
}