:root {
	--z-preloader: 100;
	--z-modal: 15;
	--z-header-pc: 15;
	--z-header-sp: 12;
	--z-header: 12;
	--z-navSp: 11;
	--z-navside: 10;
	--z-pulldown: 11;
	--z-breadcrumbs: 3;
	--z-title: 3;
	--z-kv: 3;
	--z-content: 1;
	--z-bg: 0;
	--z-footer: 0;

	/* 20 columns */
	--col025: 1vw;
	--col05: 2vw;
	--col1: 4.166vw;
	--col2: 8.333vw;
	--col3: 12.5vw;
	--col4: 16.666vw;
	--col5: 20.833vw;
	--col6: 25vw;
	--col7: 29.166vw;
	--col8: 33.333vw;
	--col9: 37.5vw;
	--col10: 41.666vw;
	--col11: 45.833vw;
	--col12: 50vw;
	--col13: 54.166vw;
	--col14: 58.333vw;
	--col15: 62.5vw;
	--col16: 66.666vw;
	--col17: 70.833vw;
	--col18: 75vw;
	--col19: 79.166vw;
	--col20: 83.333vw;
	--col21: 87.5vw;
	--col22: 91.666vw;
	--col23: 95.833vw;
	--col24: 100vw;

	--content-width: 130rem;
	--content-width-sp: 90%;

	--sp-width: var(--grid11);
	--port-width: var(--grid14);

	--grid: 0; /* Base grid unit */
	--grid05: calc(var(--grid) * 0.5);
	--grid-05: calc(var(--grid) * -0.5);
	--grid1: var(--grid);
	--grid2: calc(var(--grid) * 2);
	--grid3: calc(var(--grid) * 3);
	--grid4: calc(var(--grid) * 4);
	--grid5: calc(var(--grid) * 5);
	--grid6: calc(var(--grid) * 6);
	--grid7: calc(var(--grid) * 7);
	--grid8: calc(var(--grid) * 8);
	--grid9: calc(var(--grid) * 9);
	--grid10: calc(var(--grid) * 10);
	--grid11: calc(var(--grid) * 11);
	--grid12: calc(var(--grid) * 12);
	--grid13: calc(var(--grid) * 13);
	--grid14: calc(var(--grid) * 14);
	--grid15: calc(var(--grid) * 15);
	--grid16: calc(var(--grid) * 16);
	--grid17: calc(var(--grid) * 17);
	--grid18: calc(var(--grid) * 18);
	--grid19: calc(var(--grid) * 19);
	--grid20: calc(var(--grid) * 20);

	--grid-gap: var(--grid2);
	/* --grid-gap-sp: calc(var(--grid) / 2); */
	--grid-gap-sp: max(16px, min(1.6rem, 1.6rem));
	--grid-gap-xl: var(--grid4);

	--icon-size: max(48px, min(4.8rem, 54px));
	--btn-size: max(48px, min(4.8rem, 54px));
	--btn-scale: 1.05;
	--hover-oacity: 0.9;

	/* Color */
	--white: #ffffff;
	--black: #2f2b2b;
	--gray: #808080;
	--gray-light: #f8f8f8;
	--gray-dark: #484848;
	--gray-tag: #e8e8e8;
	--gray-bg: #f2f2f2;
	--gray-nav-bg: #f1f1f1;
	--gray-line: #e6e6e6;
	--gray-line2: #cccccc;
	--gold: #7d7654;
	--gold-light: #e4e0cf;
	--gold-light-bg: #f9f7f3;
	--gold-medium: #e2ddcc;

	--black-olive: #2e2e2e;
	--ash: #1b1b1b;
	--light: #ababab;
	--subtle: #f2f2f2;
	--category-off: #242424;
	--category-on: #393939;
	--tag-off: #242424;
	--tag-on: #3a3a3a;

	/* --icon-size: clamp(48px 6.8rem 68px);
	--btn-size: clamp(48px 6.8rem 68px); */

	/* Gradient */
	/* --grad-blue: linear-gradient(10deg, #dee5e7 20%, #dee5e7 20%, #ffffff 100%); */

	/* Animation Easing */
	/* --transition_01: cubic-bezier(0.075, 0.82, 0.165, 1); */
	/* --transition_02: cubic-bezier(0.49, 0.01, 0.19, 0.89); */
	--transition_03: cubic-bezier(0.32, 0.181, 0.3, 1);
	/* --expo-ease: cubic-bezier(0, 0.62, 0, 0.99); */
	--smooth-ease: cubic-bezier(0.2, 1, 0.24, 1);
	/* --slow-fade: cubic-bezier(0.41, 0.08, 0.73, 0.85); */
	/* --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1); */
	--expo-in-out: cubic-bezier(0.89, 0.01, 0, 1);
	/* --expo-in-out2: cubic-bezier(0.54, 0.13, 0, 1); */
	/* --expo-in-out3: cubic-bezier(0.67, 0.09, 0.15, 0.86); */
	/* --sleek-out: cubic-bezier(0.8, 0, 0.172, 1); */
}

/*--------------------
  Style
--------------------*/

/* .box-shadow {
	box-shadow: rgba(0, 0, 0, 0.26) 0px 22px 70px 4px;
} */

/*--------------------
  Icon
--------------------*/

.icon {
	position: relative;
	-o-object-fit: contain;
	   object-fit: contain;
}

@media (max-width: 767px) {

.icon.-member {
			width: max(20px, min(2rem, 2rem));
			height: max(20px, min(2rem, 2rem));
	}
		}

@media (min-width: 768px) {

.icon.-member {
			width: max(20px, min(2rem, 2rem));
			height: max(20px, min(2rem, 2rem));
	}
		}

@media (max-width: 767px) {

.icon.-login {
			width: max(21px, min(2.1rem, 2.1rem));
			height: max(21px, min(2.1rem, 2.1rem));
	}
		}

@media (min-width: 768px) {

.icon.-login {
			width: max(21px, min(2.1rem, 2.1rem));
			height: max(21px, min(2.1rem, 2.1rem));
	}
		}

@media (max-width: 767px) {

.icon.-logout {
			width: max(17px, min(1.7rem, 1.7rem));
			height: max(18px, min(1.8rem, 1.8rem));
	}
		}

@media (min-width: 768px) {

.icon.-logout {
			width: max(17px, min(1.7rem, 1.7rem));
			height: max(18px, min(1.8rem, 1.8rem));
	}
		}

@media (max-width: 767px) {

.icon.-english {
			width: max(20px, min(2rem, 2rem));
			height: max(20px, min(2rem, 2rem));
	}
		}

.icon.-facebook {
		width: max(20px, min(2rem, 2rem));
		height: max(20px, min(2rem, 2rem));
	}

.icon.-X {
		width: max(20px, min(2rem, 2rem));
		height: max(20px, min(2rem, 2rem));
	}

.icon.-youtube {
		width: max(20px, min(2rem, 2rem));
		height: max(16px, min(1.6rem, 1.6rem));
	}

.icon.-email {
		width: max(20px, min(2rem, 2rem));
		height: max(16px, min(1.6rem, 1.6rem));
	}

.icon.-marker {
		width: max(14px, min(1.4rem, 1.4rem));
		height: max(24px, min(2.4rem, 2.4rem));
	}

.icon.-search-s {
		width: max(20px, min(2rem, 2rem));
		height: max(20px, min(2rem, 2rem));
	}

.icon.-search-xs {
		width: max(18px, min(1.8rem, 1.8rem));
		height: max(18px, min(1.8rem, 1.8rem));
	}

/* &.-search {
		width: 3.7rem;
		height: 3.7rem;
	}

	&.-job {
		width: 2.8rem;
		height: 3.4rem;
	}

	&.-training {
		width: 3rem;
		height: 3.6rem;
	} */

.icn-bg {
	display: block;
	position: absolute;
	top: 50%;
	content: '';
	background-repeat: no-repeat;
	background-position: right 0 center;
	transform: translateY(-50%);
}

.icn-member {
	width: max(20px, min(2rem, 2rem));
	height: max(20px, min(2rem, 2rem));
	background-image: url('../img/shared/icn-btn-member.svg');
	background-size: max(20px, min(2rem, 2rem)) max(20px, min(2rem, 2rem));
}

/* custom media query breakpoints */

/* @custom-media --spLand (orientation: landscape) and (width <= 844px);
@custom-media --port (orientation: portrait) and (width > 768px) and (width < 1024px);
@custom-media --sm (width < 768px);
@custom-media --m (width < 768px);
@custom-media --md (width >= 768px);
@custom-media --mdl (width >= 1024px);
@custom-media --lg (width >= 1201px);
@custom-media --xl (width >= 1440px); */

/*
@custom-media --port (orientation: portrait) and (min-width: 47.9375em);
@custom-media --spLand (orientation: landscape) and (max-width: 52.75em) and (not (orientation: portrait) and (min-width: 47.9375em));
@custom-media --sm (max-width: 47.9375em);
@custom-media --md (min-width: 48em);
@custom-media --mdl (min-width: 64em);
@custom-media --lg (min-width: 90.0625em);
@custom-media --xl (min-width: 120em); */

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	text-rendering: optimizeLegibility;
	outline: none;
}

html :focus-visible {
		outline: 1;
	}

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

ul,
li {
	list-style-type: 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 {
	color: inherit;
}

a:focus-visible {
		outline: rgb(29, 115, 181) solid 2px;
		outline-offset: 1px;
	}

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;
	-webkit-user-select: auto;
	white-space: revert;
	padding: 0;
}

input:focus-visible {
		outline: rgb(29, 115, 181) solid 2px;
		outline-offset: 1px;
	}

button:focus-visible {
		outline: rgb(29, 115, 181) solid 2px;
		outline-offset: 1px;
	}

textarea:focus-visible {
		outline: rgb(29, 115, 181) solid 2px;
		outline-offset: 1px;
	}

select:focus-visible {
		outline: rgb(29, 115, 181) solid 2px;
		outline-offset: 1px;
	}

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

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

@tailwind base;

@tailwind components;

@tailwind utilities;

html {
	/* hyphens: auto; */
	line-break: normal;
	text-underline-position: under;
	/* overscroll-behavior: none; */
	word-wrap: break-word;
	background-color: #f9f7f3;
	background-color: var(--gold-light-bg);
	-webkit-overflow-scrolling: touch;

	/* Reset */
	text-rendering: optimizeLegibility;
	outline: none;

	/* Avoid zooming or panning */
	/* touch-action: manipulation; */
}

body {
	/* For Custome Scroll */
	/* position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%; */
	-webkit-overflow-scrolling: touch;
	font-family: 'Public Sans', 'Noto Sans JP', 'Helvetica Neue', 'Arial,', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	font-family: var(--font-family);
	-webkit-font-smoothing: antialiased;
	background-color: #f9f7f3;
	background-color: var(--gold-light-bg);
	color: #2f2b2b;
	color: var(--black);
	/* transition: background-color 0.88s var(--smooth-ease),
		color 0.88s var(--smooth-ease); */
}

@media (max-width: 767px) {

body {
		line-height: 1.77;
}
	}

@media (min-width: 768px) {

body {
		line-height: 1.7;
}
	}

/* Scroll bar */

/* For Chrome, Safari and Opera */

::-webkit-scrollbar {
	width: 6px; /* width of the entire scrollbar */
}

/* color of the tracking area */

::-webkit-scrollbar-track {
	background-color: #e4e0cf;
	background-color: var(--gold-light);
}

/* color of the scroll thumb */

::-webkit-scrollbar-thumb {
	background-color: #7d7654;
	background-color: var(--gold);
	-webkit-transition: background-color 0.6s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: background-color 0.6s cubic-bezier(0.32, 0.181, 0.3, 1);
	-webkit-transition: background-color 0.6s var(--transition_03);
	transition: background-color 0.6s var(--transition_03);
}

/* color of the scroll thumb when hovering */

::-webkit-scrollbar-thumb:hover {
	background-color: #7d7654;
	background-color: var(--gold);
}

/*
input,
optgroup,
select,
textarea, */

button {
	font: inherit;
	letter-spacing: inherit;
}

/* select {
	appearance: none;
} */

svg {
	max-width: 100%;
	height: auto;
}

ul,
li {
	list-style-type: none;
}

a {
	display: block;

	/* Reset */
	border-radius: 0;
	-webkit-text-decoration: none;
	text-decoration: none;
	outline: none;
	-webkit-outline: none;
	-webkit-tap-highlight-color: transparent;
}

a:active,a:hover {
		outline: 0;
	}

img {
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	user-drag: none;
	-webkit-user-select: none;
	        user-select: none;
	-webkit-user-drag: none;
	-moz-user-select: none;
	transition: opacity 0.48s ease;
}

.image-cover {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center center;
	   object-position: center center;
}

button {
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	background: none;
	border: none;
	outline: none;
	-webkit-outline: none;
	-webkit-tap-highlight-color: transparent;
}

::-moz-selection {
	background-color: #e4e0cf;
	background-color: var(--gold-light);
	color: #2f2b2b;
	color: var(--black);
}

::selection {
	background-color: #e4e0cf;
	background-color: var(--gold-light);
	color: #2f2b2b;
	color: var(--black);
}

.js-lazy {
	opacity: 0;
}

/* .js-preload {
	.sub & {
		.content & {
			opacity: 0;
		}
	}
} */

.is-loaded {
	opacity: 1;
}

/* https://github.com/WICG/focus-visible#2-update-your-css */

.js-focus-visible :focus:not(.focus-visible) {
	outline: none;
}

/*--------------------
  Content
--------------------*/

.content {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	width: 100%;
	height: auto;
	overflow-x: hidden;
}

.assets {
	display: none;
}

/*--------------------
Layout
--------------------*/

section {
	position: relative;
}

@media (max-width: 767px) {
			.about section:nth-child(2) {
				padding-top: 16.666vw;
				padding-top: var(--col4);
			}
			.sub section:nth-child(2) {
				padding-top: 16.666vw;
				padding-top: var(--col4);
			}

			.about section:nth-child(n + 3) {
				padding-top: 25vw;
				padding-top: var(--col6);
				/* padding-right: 8rem; */
			}

			.sub section:nth-child(n + 3) {
				padding-top: 25vw;
				padding-top: var(--col6);
				/* padding-right: 8rem; */
			}
	}

@media (min-width: 768px) {
			.about section:nth-child(2) {
				padding-top: 8.333vw;
				padding-top: var(--col2);
			}
			.sub section:nth-child(2) {
				padding-top: 8.333vw;
				padding-top: var(--col2);
			}

			.about section:nth-child(n + 3) {
				padding-top: 8.333vw;
				padding-top: var(--col2);
				/* padding-right: 8rem; */
			}

			.sub section:nth-child(n + 3) {
				padding-top: 8.333vw;
				padding-top: var(--col2);
				/* padding-right: 8rem; */
			}
	}

@media (orientation: landscape) and (max-width: 844px) {
		/* &:nth-child(2){
			padding-top: var(--col2);
		} */

		section:nth-child(n + 2) {
			/* padding-right: 6rem; */
		}
	}

/* .main {
	width: 100%;
	padding-bottom: 20rem;
	overflow: hidden;
	background-color: var(--white);

	.sub & {
		@media (--sm) {
			padding-right: 7rem;
		}

		@media (--md) {
			padding-right: 7rem;
		}
	}
} */

.wrap-full {
	width: 100%;
	margin: 0 auto;
	padding-right: 4.166vw;
	padding-right: var(--col1);
	padding-left: 4.166vw;
	padding-left: var(--col1);
}

@media (max-width: 767px) {

.wrap-full {
		padding-right: 12rem;
}
	}

@media (min-width: 768px) {

.wrap-full {
		padding-right: 14rem;
}
	}

.wrap-m {
	width: 100%;
	margin: 0 auto;
}

@media (max-width: 767px) {

.wrap-m {
		padding-right: 8.333vw;
		padding-right: var(--col2);
		padding-left: 8.333vw;
		padding-left: var(--col2);
}
	}

@media (min-width: 768px) {

.wrap-m {
		padding-right: 8.333vw;
		padding-right: var(--col2);
		padding-left: 8.333vw;
		padding-left: var(--col2);
}
	}

.wrap-s {
	width: 100%;
	margin: 0 auto;
}

@media (max-width: 767px) {

.wrap-s {
		padding-right: 16.666vw;
		padding-right: var(--col4);
		padding-left: 16.666vw;
		padding-left: var(--col4);
}
	}

@media (min-width: 768px) {

.wrap-s {
		padding-right: 12.5vw;
		padding-right: var(--col3);
		padding-left: 12.5vw;
		padding-left: var(--col3);
}
	}

.wrap-ss {
	width: 100%;
	margin: 0 auto;
}

@media (max-width: 767px) {

.wrap-ss {
		padding-right: 12.5vw;
		padding-right: var(--col3);
		padding-left: 12.5vw;
		padding-left: var(--col3);
}
	}

@media (min-width: 768px) {

.wrap-ss {
		padding-right: 12.5vw;
		padding-right: var(--col3);
		padding-left: 12.5vw;
		padding-left: var(--col3);
}
	}

@media (min-width: 1441px) {

.wrap-ss {
		padding-right: 12.5vw;
		padding-right: var(--col3);
		padding-left: 12.5vw;
		padding-left: var(--col3);
}
	}

@media (orientation: landscape) and (max-width: 844px) {

.wrap-ss {
		padding-right: 16.666vw;
		padding-right: var(--col4);
		padding-left: 16.666vw;
		padding-left: var(--col4);
}
	}

/*--------------------
Column Lyaout
--------------------*/

.col-2-item,
.col-3-item {
	position: relative;
}

@media (max-width: 767px) {
		.col-2-item .col-3-item:nth-child(n + 2) {
			margin-top: 6rem;
		}
}

@media (min-width: 768px) {
	.col-2 {
		display: grid;
		/* grid-template-columns: repeat(2, minmax(0, 1fr)); */
		grid-template-columns: repeat(2, 1fr);

		grid-row-gap: 16rem;

		row-gap: 16rem;
		grid-column-gap: 8rem;
		-moz-column-gap: 8rem;
		     column-gap: 8rem;
		align-items: stretch;
	}

		@media (orientation: landscape) and (max-width: 844px) {
	.col-2 {
			gap: 5rem;
	}
		}

	/* .col-2-item {
		display: grid;
		grid-template-rows: auto 1fr auto;
	} */

	.col-3 {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-row-gap: 8rem;
		row-gap: 8rem;
		grid-column-gap: 6rem;
		-moz-column-gap: 6rem;
		     column-gap: 6rem;
		align-items: stretch;

		/* @media (--sm) {
			&:not(:first-child) {
				margin-top: var(--col1);
			}
		}

		@media (--md) {
			&:not(:first-child) {
				margin-top: var(--col2);
			}
		} */
	}
}

/*--------------------
 Section Components
--------------------*/

.section-ttl {
	font-size: var(--font-ttl-s);
	font-weight: 600;
	letter-spacing: 0.3rem;
	text-transform: uppercase;
}

.section-txt {
	margin-top: 4rem;
	font-size: var(--font-txt-m);
}

@media (max-width: 767px) {

.section-txt {
		line-height: 1.77;
}
	}

@media (min-width: 768px) {

.section-txt {
		line-height: 2;
}
	}

/*--------------------
 Breadcrumbs
--------------------*/

.breadcrumbs {
	margin-left: 0.3rem;
}

@media (max-width: 767px) {

.breadcrumbs {
		margin-top: 1rem;
}

		.post + .breadcrumbs {
			margin-top: 3rem;
		}
	}

@media (min-width: 768px) {

.breadcrumbs {
		margin-top: 3rem;
}

		.post + .breadcrumbs {
			margin-top: 3rem;
		}
	}

.breadcrumbs__crumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.breadcrumbs__crumb {
	display: flex;
	font-size: var(--font-txt-s);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.14rem;
	align-items: center;
	color: #ababab;
	color: var(--light);
}

.c-breadcrumbs__separator {
	display: inline-block;
	margin: 4px;
}

.icon-breadcrumbs {
	stroke: #ababab;
	stroke: var(--light);
}

.breadcrumbs-a:hover,.breadcrumbs-a.is-current {
		color: #ffffff;
		color: var(--white);
	}

/*--------------------
 Modifier
--------------------*/

@media (max-width: 767px) {

.br-sp {
		display: block;
}
	}

@media (min-width: 768px) {

.br-sp {
		display: none;
}
	}

@media (max-width: 767px) {

.br-pc {
		display: none;
}
	}

@media (min-width: 768px) {

.br-pc {
		display: block;
}
	}

html {
	/* Sets base font-size to 62.5% of browser default (16px)
     * This makes 1rem = 10px for easier calculations:
     * - 1.6rem = 16px
     * - 2.0rem = 20px
     * - 2.4rem = 24px
     */
	font-size: 62.5%;
}

@media (min-width: 768px) {

html {
		/* For desktop (≥768px), switch to viewport-based fluid scaling
         * --vw is set to 1% of viewport width via JavaScript
         * 0.6667 coefficient provides smooth scaling across larger screens
         */
		font-size: calc(var(--vw) * 0.6667);
}
	}

body {
	font-size: var(--font-txt-m);
}

@media (max-width: 767px) {

body {
		line-height: 1.77;
}
	}

@media (min-width: 768px) {

body {
		line-height: 1.7;
}
	}

/*--------------------
Font Face
--------------------*/

:root {
	/* fonts */
	/* --font-family:
		'Public Sans', 'Noto Sans JP', 'Helvetica Neue', 'Helvetica', sans-serif; */
	--font-family: 'Public Sans', 'Noto Sans JP', 'Helvetica Neue', 'Arial,', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;

	--font-public: 'Public Sans', sans-serif;
	--font-noto-sans: 'Noto Sans JP', sans-serif;
	--font-noto-serif: 'Noto Serif JP', serif;
}

/*
@font-face {
	font-family: 'scandia-web';
	src: url('https://use.typekit.net/af/eba7b7/00000000000000007735f52b/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3')
		format('woff2');
	font-display: swap;
	font-style: normal;
	font-weight: 400;
	font-stretch: normal;
} */

@media (max-width: 767px) {

:root {
		--font-nav-txt: max(12px, min(1.2rem, 14px));
		--font-nav-txt-s: max(10px, min(1rem, 1rem));
		--font-ttl-x: max(36px, min(3.6rem, 3.6rem));
		--font-ttl-l: max(30px, min(3rem, 3rem));
		--font-ttl-m: max(24px, min(2.4rem, 2.4rem));
		--font-ttl-s: max(20px, min(2rem, 2rem));
		--font-ttl-xs: max(14px, min(1.4rem, 1.4rem));
		--font-ttl-xxs: max(11px, min(1.1rem, 1.1rem));
		--font-txt-x: max(8rem, min(10rem, 10rem));
		--font-txt-l: max(3rem, min(5rem, 5rem));
		--font-txt-m: max(12px, min(1.4rem, 1.4rem));
		--font-txt-s: max(12px, min(1.2rem, 1.2rem));
		--font-txt-xs: max(10px, min(1rem, 1rem));
		--font-link: max(12px, min(1.2rem, 1.2rem));
}
	}

@media (min-width: 768px) {

:root {
		--font-nav-txt: max(16px, min(1.6rem, 18px));
		--font-nav-txt-s: max(14px, min(2rem, 14px));
		--font-ttl-x: max(42px, min(4.6rem, 46px));
		--font-ttl-l: max(40px, min(4.4rem, 44px));
		--font-ttl-m: max(38px, min(4.2rem, 42px));
		--font-ttl-s: max(34px, min(3.8rem, 38px));
		--font-ttl-xs: max(20px, min(2.2rem, 22px));
		--font-ttl-xxs: max(14px, min(1.6rem, 16px));
		--font-txt-x: max(8rem, min(10rem, 10px));
		--font-txt-l: max(20px, min(3rem, 22px));
		--font-txt-m: max(18px, min(2rem, 20px));
		--font-txt-s: max(16px, min(2rem, 16px));
		--font-txt-xs: max(14px, min(2rem, 14px));
		--font-txt-xxs: max(12px, min(2rem, 12px));
		--font-link: max(16px, min(1.8rem, 18px));
}
	}

.preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(1vh * 100);
	height: calc(var(--vh, 1vh) * 100);
	z-index: 100;
	z-index: var(--z-preloader);
}

.preloader-bg {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 0;
	z-index: var(--z-bg);
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	background-color: var(--white);
}

/*--------------------
  Header
--------------------*/

.-current {
	color: #7d7654;
	color: var(--gold);
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(1vh * 100);
	height: calc(var(--vh, 1vh) * 100);
	pointer-events: none;
}

/* transform: translate(calc(var(--grid-gap) * -1), 0); */

.header.-active .nav-menu-list {
			display: none;
		}

.header.-active .hamburger {
			display: flex;
		}

@media (max-width: 767px) {

.header {
		/* height: auto; */
		z-index: 12;
		z-index: var(--z-header-sp);
}
	}

@media (min-width: 768px) {

.header {
		padding: 0 calc(0 * 2);
		padding: 0 var(--grid-gap);
		z-index: 15;
		z-index: var(--z-header-pc);
}
	}

@media (orientation: landscape) and (max-width: 844px) {

.header {
		padding: 0 max(16px, min(1.6rem, 1.6rem));
		padding: 0 var(--grid-gap-sp);
}
	}

.header-bg {
	position: fixed;
	z-index: 0;
	z-index: var(--z-bg);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #2f2b2b;
	background-color: var(--black);
	opacity: 0;
	transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.48s var(--transition_03);
	will-change: opacity;
	pointer-events: none;
}

.header-bg.-active {
		opacity: 0.45;
		visibility: visible;
		transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.48s var(--transition_03);
		pointer-events: auto;
	}

@media (max-width: 767px) {

.header-wrap {
		position: relative;
		z-index: 1;
		z-index: var(--z-content);
		/* height: 100%; */
}
	}

/* .nav-top {
	display: flex;

	@media (--sm) {
		display: none;
	}

	@media (--md) {
	}
} */

.nav-top {
	display: flex;
	justify-self: center;
	width: -moz-fit-content;
	width: fit-content;
	min-height: 40px;
	margin-left: auto;
	padding: 1.4rem 2rem;
	background-color: #ffffff;
	background-color: var(--white);
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
	font-size: var(--font-nav-txt-s);
	pointer-events: auto;

	/* .english & {
		background-color: var(--gold);
		color: var(--white);
	} */
}

@media (max-width: 767px) {

.nav-top {
		display: none;
}
	}

@media (min-width: 768px) {

.nav-top {
		box-shadow: 0 1px 1px rgba(42, 51, 70, 0.1);
}
	}

.nav-top-list {
	display: flex;
}

.nav-top-item {
	padding: 0 1.5rem;
}

.nav-top-item:nth-child(n + 2) {
		border-left: dotted 1px #808080;
		border-left: dotted 1px var(--gray);
	}

.nav-top-link {
	line-height: 1;
	transition: color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: color 0.38s var(--transition_03);
	font-size: var(--font-nav-txt-s);
}

.nav-top-link:hover {
		color: #7d7654;
		color: var(--gold);
	}

.nav-menu {
	position: relative;
	z-index: 12;
	z-index: var(--z-header);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	pointer-events: auto;
}

@media (max-width: 767px) {

.nav-menu {
		/* position: fixed; */
		z-index: 12;
		z-index: var(--z-header);
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		padding: max(16px, min(1.6rem, 1.6rem)) 2rem;
		padding: var(--grid-gap-sp) 2rem;
		background-color: #ffffff;
		background-color: var(--white);
}
	}

@media (min-width: 768px) {

.nav-menu {
		position: relative;
		row-gap: 3rem;
		width: 100%;
		margin-top: 2rem;
		padding: 1.6rem;
		border-radius: 4px;
		background-color: #ffffff;
		background-color: var(--white);
		color: #2f2b2b;
		color: var(--black);
		font-size: var(--font-nav-txt);
		line-height: 1.2;

		box-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.02),
			0 8px 8px rgba(42, 51, 70, 0.02);
		/* 0 20px 20px rgba(42, 51, 70, 0.08),
			0 30px 60px rgba(42, 51, 70, 0.16),
			0 70px 70px rgba(42, 51, 70, 0.12); */
}
	}

@media (orientation: landscape) and (max-width: 844px) {

.nav-menu {
		row-gap: 1rem;
}
	}

@media (max-width: 767px) {

.nav-menu-list {
		display: none;
}
	}

@media (min-width: 768px) {

.nav-menu-list {
		display: flex;
		margin-right: 1rem;
}
	}

@media (orientation: landscape) and (max-width: 844px) {

.nav-menu-list {
		display: none;
}
	}

.nav-menu-item {
	position: relative;
}

.nav-menu-link {
	padding: 0 2rem;
	font-weight: 500;
	white-space: nowrap;
	transition: color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: color 0.38s var(--transition_03);
	font-size: var(--font-nav-txt-s);
	font-weight: 600;
}

.nav-menu-link:hover {
		color: #7d7654;
		color: var(--gold);
	}

.header-actions {
	font-size: var(--font-nav-txt-s);
}

@media (max-width: 767px) {

.header-actions {
		justify-content: space-between;
		margin-left: auto;
}
	}

@media (min-width: 768px) {

.header-actions {
		display: flex;
		/* margin-left: auto; */
		/* margin-left: 2rem; */
}
	}

.header-action {
	position: relative;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background-color: #7d7654;
	background-color: var(--gold);
	color: #ffffff;
	color: var(--white);
	border-radius: 9999px;
	line-height: 1;
	white-space: nowrap;
	transition:
		opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), transform 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition:
		opacity 0.38s var(--transition_03), transform 0.38s var(--transition_03);
	will-change: opacity, transform;
}

.header-action:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
		transform: scale(1.03);
	}

@media (max-width: 767px) {

.header-action {
		display: flex;
		align-self: stretch;
		flex-shrink: 0;
		width: max(48px, min(4.8rem, 54px));
		width: var(--btn-size);
		height: max(48px, min(4.8rem, 54px));
		height: var(--btn-size);
}

		.header-action.-member {
			display: none;
		}
	}

@media (max-width: 375px) {

.header-action {
		width: 38px;
		height: 38px;
}
	}

@media (min-width: 768px) {

.header-action {
		display: inline-flex;
		min-width: max(48px, min(4.8rem, 54px));
		min-width: var(--btn-size);
		min-height: max(48px, min(4.8rem, 54px));
		min-height: var(--btn-size);
		padding: 0rem 1.5rem;
}
			.header-action:hover .icon {
				animation: slideInBtn 0.68s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
				animation: slideInBtn 0.68s var(--transition_03) forwards;
			}

		.header-action:nth-child(n + 2) {
			margin-left: 1rem;
		}

		.header-action.-english {
			display: none;
		}
	}

/* @media (--spLand) {
		padding: 0;
		flex-shrink: 0;
		width: var(--btn-size);
		height: var(--btn-size);
	} */

.header-action-text {
	margin-left: 0.4rem;
	font-size: var(--font-nav-txt-s);
	font-weight: 600;
}

@media (max-width: 767px) {
		.header-action.-login .header-action-text {
			display: none;
		}
	}

@media (min-width: 768px) {

.header-action-text {
		display: block;
}
	}

@media (max-width: 767px) {

.header-action-text {
		display: none;
}
	}

/* @media (--spLand) {
		.header-action.-login &,
		.header-action.-member & {
			display: none;
		}
	} */

@media (max-width: 767px) {

.sp-nav-action {
		display: flex;
		margin-left: auto;
}
	}

@media (min-width: 768px) {

.sp-nav-action {
		display: none;
}
	}

@media (max-width: 767px) {

.sp-nav-header-action {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 4.8rem;
		height: 4.8rem;
		background-color: #7d7654;
		background-color: var(--gold);
		border-radius: 9999px;
}
	}

@media (max-width: 767px) {

.sp-nav-action-text {
		display: none;
}
	}

.hamburger {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(48px, min(4.8rem, 54px));
	width: var(--btn-size);
	height: max(48px, min(4.8rem, 54px));
	height: var(--btn-size);
	margin-left: 1rem;
	background-color: #7d7654;
	background-color: var(--gold);
	border-radius: 100%;
	cursor: pointer;
}

@media (max-width: 375px) {

.hamburger {
		width: 38px;
		height: 38px;
		margin-left: 0.5remrem;
}
	}

@media (min-width: 768px) {

.hamburger {
		display: none;
}
	}

/* @media (--sml) {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: var(--btn-size);
		height: var(--btn-size);
		margin-left: 1rem;
		background-color: var(--gold);
		border-radius: 100%;
		cursor: pointer;
	}*/

@media (orientation: landscape) and (max-width: 844px) {

.hamburger {
		display: flex;
}
	}

.hamburger-btn {
	position: relative;
	width: 2rem;
	height: 18px;
	cursor: pointer;
}

@media (max-width: 375px) {

.hamburger-btn {
		width: 1.8rem;
		height: 14px;
}
	}

@media (orientation: landscape) and (max-width: 844px) {

.hamburger-btn {
		width: 3rem;
}
	}

.hamburger-btn-top,
.hamburger-btn-middle,
.hamburger-btn-bottom {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	background-color: var(--white);
}

.hamburger-btn-top {
	transition: transform 0.3s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: transform 0.3s var(--transition_03);
}

.hamburger-btn.-active .hamburger-btn-top {
		transform: translateY(8px) rotate(45deg);
	}

@media (max-width: 375px) {

.hamburger-btn.-active .hamburger-btn-top {
			transform: translateY(6px) rotate(45deg);
	}
		}

.hamburger-btn-middle {
	transition: opacity 0.3s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.3s var(--transition_03);
}

.hamburger-btn.-active .hamburger-btn-middle {
		opacity: 0;
	}

.hamburger-btn-bottom {
	transition: transform 0.3s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: transform 0.3s var(--transition_03);
}

.hamburger-btn.-active .hamburger-btn-bottom {
		transform: translateY(-8px) rotate(-45deg);
	}

@media (max-width: 375px) {

.hamburger-btn.-active .hamburger-btn-bottom {
			transform: translateY(-6px) rotate(-45deg);
	}
		}

.hamburger-btn-top {
	top: 0;
}

.hamburger-btn-middle {
	top: 8px;
}

@media (max-width: 375px) {

.hamburger-btn-middle {
		top: 6px;
}
	}

.hamburger-btn-bottom {
	top: 16px;
}

@media (max-width: 375px) {

.hamburger-btn-bottom {
		top: 12px;
}
	}

/*--------------------
  Logo
--------------------*/

.header-logo {
	display: flex;
	flex-shrink: 0;
	align-items: center;
}

@media (max-width: 767px) {

.header-logo {
		width: max(220px, min(22rem, 22rem));
		height: max(37px, min(3.7rem, 3.7rem));
}
	}

@media (max-width: 375px) {

.header-logo {
		width: 190px;
		height: 32px;
}
	}

@media (min-width: 768px) {

.header-logo {
		width: max(280px, min(28rem, 28rem));
		height: max(47px, min(4.7rem, 4.7rem));
		margin-right: auto;
}
	}

.logo-img {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	height: 100%;
	fill: #ffffff;
	fill: var(--white);
	-o-object-fit: contain;
	   object-fit: contain;
}

/*--------------------
  Nav
--------------------*/

.nav-side {
	pointer-events: auto;
	z-index: 10;
	z-index: var(--z-navside);
}

@media (max-width: 767px) {

.nav-side {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 2rem;
		width: 100%;
		padding: 0 max(16px, min(1.6rem, 1.6rem)) 2rem;
		padding: 0 var(--grid-gap-sp) 2rem;
		background-color: #ffffff;
		background-color: var(--white);
}
	}

@media (min-width: 768px) {

.nav-side {
		position: fixed;
		top: 33vh;
		right: 0;
		/* transform: translateY(-50%); */
		background-color: #e2ddcc;
		background-color: var(--gold-medium);
		border-top-left-radius: 4px;
		border-bottom-left-radius: 4px;
}
	}

.nav-side-actions {
	display: flex;
}

@media (max-width: 767px) {

.nav-side-actions {
		align-items: center;
		justify-content: center;
		gap: max(16px, min(1.6rem, 1.6rem));
		gap: var(--grid-gap-sp);
		width: 100%;
}
	}

@media (min-width: 768px) {

.nav-side-actions {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 1rem 1rem;
		font-size: var(--font-nav-txt);
}
	}

@media (max-width: 767px) {

.nav-side-action {
		display: flex;
		align-items: center;
		justify-content: center;
		align-self: stretch;
		width: calc(100% - 1rem);
		height: 4.8rem;
		padding: 1rem 2rem;
		background-color: #7d7654;
		background-color: var(--gold);
		border-radius: 4px;
		line-height: 1;
}

		.nav-side-action.-training {
			display: none;
		}
	}

@media (max-width: 375px) {

.nav-side-action {
		padding: 1rem 1rem;
}
	}

@media (min-width: 768px) {

.nav-side-action {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 1.4rem 0;
		cursor: pointer;
}

		.nav-side-action:nth-child(n + 2) {
			border-top: 1px solid #808080;
			border-top: 1px solid var(--gray);
		}
	}

.nav-side-text {
	font-size: var(--font-nav-txt-s);
	font-weight: 500;
}

@media (max-width: 767px) {

.nav-side-text {
		margin-left: 0.8rem;
		color: #ffffff;
		color: var(--white);
		font-size: var(--font-nav-txt);
		line-height: 1.2;
}
	}

@media (min-width: 768px) {

.nav-side-text {
		margin-top: 0.4rem;
		color: #2f2b2b;
		color: var(--black);
		transition: color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: color 0.38s var(--transition_03);
}

		.nav-side-action:hover .nav-side-text {
			color: #7d7654;
			color: var(--gold);
		}
	}

.nav-side-icon {
	stroke-width: 1.8;
	stroke-linecap: round;
}

.nav-side-icon.-logout path {
			stroke-width: 1px;
		}

@media (max-width: 767px) {

.nav-side-icon.-logout {
			width: 3rem;
			height: 3.1rem;
			stroke: #ffffff;
			stroke: var(--white);
	}
		}

@media (min-width: 768px) {

.nav-side-icon.-logout {
			width: 3rem;
			height: 3.1rem;
			stroke: #2f2b2b;
			stroke: var(--black);
			transition: stroke 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
			transition: stroke 0.38s var(--transition_03);
	}

			.nav-side-action:hover .nav-side-icon.-logout {
				stroke: #7d7654;
				stroke: var(--gold);
				stroke-dasharray: 100;
				stroke-dashoffset: 100;
				animation: draw 1.48s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
				animation: draw 1.48s var(--transition_03) forwards;
			}
		}

@media (max-width: 767px) {

.nav-side-icon.-search {
			width: 3.7rem;
			height: 3.7rem;
			stroke: #ffffff;
			stroke: var(--white);
	}
		}

@media (min-width: 768px) {

.nav-side-icon.-search {
			width: 3.7rem;
			height: 3.7rem;
			stroke: #2f2b2b;
			stroke: var(--black);
			transition: stroke 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
			transition: stroke 0.38s var(--transition_03);
	}

			.nav-side-action:hover .nav-side-icon.-search {
				stroke: #7d7654;
				stroke: var(--gold);
				stroke-dasharray: 100;
				stroke-dashoffset: 100;
				animation: draw 1.48s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
				animation: draw 1.48s var(--transition_03) forwards;
			}
		}

@media (max-width: 767px) {

.nav-side-icon.-job {
			width: 2.8rem;
			height: 3.4rem;
	}
		}

@media (min-width: 768px) {

.nav-side-icon.-job {
			width: 2.8rem;
			height: 3.4rem;
			transition: stroke 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
			transition: stroke 0.38s var(--transition_03);
	}
				.nav-side-action:hover .nav-side-icon.-job .path-stroke {
					stroke: #7d7654;
					stroke: var(--gold);
					stroke-dasharray: 100;
					stroke-dashoffset: 100;
					animation: draw 1.08s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
					animation: draw 1.08s var(--transition_03) forwards;
				}

				.nav-side-action:hover .nav-side-icon.-job .path-fill {
					fill: #7d7654;
					fill: var(--gold);
					opacity: 0;
					animation: fadeIn 1.08s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
					animation: fadeIn 1.08s var(--transition_03) forwards;
				}
		}

.nav-side-icon.-training {
		stroke-linejoin: round;
	}

@media (max-width: 767px) {

.nav-side-icon.-training {
			width: 3rem;
			height: 3.6rem;
			stroke: #ffffff;
			stroke: var(--white);
	}
		}

@media (min-width: 768px) {

.nav-side-icon.-training {
			width: 3rem;
			height: 3.6rem;
			stroke: #2f2b2b;
			stroke: var(--black);
	}

			.nav-side-action:hover .nav-side-icon.-training {
				stroke: #7d7654;
				stroke: var(--gold);
				stroke-dasharray: 100;
				stroke-dashoffset: 100;
				animation: draw 2.48s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
				animation: draw 2.48s var(--transition_03) forwards;
			}
		}

/* transition: opacity 0.38s var(--transition_03); */

.nav-side-action:hover .path-arrow,.nav-side-action:hover .path-line {
		animation: fadeOutIn 0.88s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
		animation: fadeOutIn 0.88s var(--transition_03) forwards;
	}

@keyframes draw {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

@keyframes fadeOutIn {
	0% {
		opacity: 1;
	}
	20% {
		opacity: 0;
		transform: translateX(-4px);
	}
	21% {
		transform: translateX(4px);
	}
	100% {
		opacity: 1;
	}
}

@media (max-width: 767px) {

.path-fill {
		fill: #ffffff;
		fill: var(--white);
}
	}

@media (min-width: 768px) {

.path-fill {
		fill: #2f2b2b;
		fill: var(--black);
}
	}

.path-stroke {
	stroke-width: 1.4;
}

@media (max-width: 767px) {

.path-stroke {
		stroke: #ffffff;
		stroke: var(--white);
}
	}

@media (min-width: 768px) {

.path-stroke {
		stroke: #2f2b2b;
		stroke: var(--black);
}
	}

.nav-menu-sub-btn {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid #808080;
	border-top: 1px solid var(--gray);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
}

@media (max-width: 767px) {
	.nav-menu-sub-btn .nav-side-action {
		width: auto;
	}
}

.nav-menu-sub .nav-side-action {
	width: auto;
	flex-direction: row;
	gap: 16px;
	padding: 0.5em;
	border: none;
	border-radius: 4px;
	background-color: #e2ddcc;
	background-color: var(--gold-medium);
}

.nav-menu-sub .nav-side-text {
	margin: 0;
}

.nav-bottom {
	position: fixed;
	bottom: 0;
	right: 0;
}

.nav-page-top {
	display: flex;
	align-items: center;
	justify-content: center;

	padding-top: 3rem;
	background-color: #2f2b2b;
	background-color: var(--black);
	pointer-events: auto;
	cursor: pointer;
	opacity: 0;
	will-change: opacity;
	transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.48s var(--transition_03);
}

@media (max-width: 767px) {

.nav-page-top {
		width: 5.8rem;
		height: 5.8rem;
}
	}

@media (min-width: 768px) {

.nav-page-top {
		width: 7rem;
		height: 7rem;
}
	}

.nav-page-top::before {
		position: absolute;
		top: 40%;
		left: 50%;
		width: 17px;
		height: 15px;
		transform: translate(-50%, -50%);
		background-repeat: no-repeat;
		content: '';
		background-image: url('../img/shared/icn-page-top.svg');
		background-size: 17px 15px;
	}

.nav-page-top.-active {
		opacity: 1;
	}

.nav-page-top-text {
	color: #ffffff;
	color: var(--white);
	font-family: 'Public Sans', sans-serif;
	font-family: var(--font-public);
	font-size: var(--font-txt-xxs);
	font-weight: 600;
	text-transform: uppercase;
}

/*--------------------
  Modal
--------------------*/

.nav-menu-sp {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	position: absolute;
	z-index: 11;
	z-index: var(--z-navSp);
	top: 0;
	left: 0;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	background-color: var(--white);
	overflow-y: auto;
	pointer-events: none;
	padding: 0;
	visibility: hidden;
	/* transition: opacity 0.38s var(--transition_03);
	will-change: opacity; */
}

.nav-menu-sp.-active {
		/* opacity: 1;
		visibility: visible; */
		pointer-events: auto;
	}

.nav-menu-sp-list {
	/* display: flex; */
	/* justify-content: center; */
	flex-shrink: 0;
	margin: 2rem auto 0;
	width: 80%;
	height: -moz-fit-content;
	height: fit-content;
	pointer-events: auto;
}

.nav-menu-sp-cont {
	/* width: 80%;
	height: 100%; */
}

.sp-actions-top {
	display: flex;
	justify-content: space-between;
	gap: max(16px, min(1.6rem, 1.6rem));
	gap: var(--grid-gap-sp);
	width: 100%;
	padding: 0 max(16px, min(1.6rem, 1.6rem));
	padding: 0 var(--grid-gap-sp);
}

@media (orientation: landscape) and (max-width: 844px) {

.sp-actions-top {
		margin-top: 10rem;
}
	}

.sp-action-top {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - (0 * 2));
	width: calc(100% - calc(0 * 2));
	width: calc(100% - var(--grid-gap));
	height: max(48px, min(4.8rem, 54px));
	height: var(--btn-size);
	background-color: #7d7654;
	background-color: var(--gold);
	color: #ffffff;
	color: var(--white);
	border-radius: 9999px;
	line-height: 1;
	white-space: nowrap;
	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.38s var(--transition_03);
	will-change: opacity;
}

.sp-action-top:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
	}

.sp-action-top-text {
	margin-left: 0.8rem;
	font-weight: 500;
}

.nav-menu-sp-toggle {
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(26px, min(2.6rem, 2.6rem));
	height: max(26px, min(2.6rem, 2.6rem));
	background-color: #7d7654;
	background-color: var(--gold);
	border-radius: 3px;
	transition: background-color 0.3s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: background-color 0.3s var(--transition_03);
}

.nav-menu-sp-toggle.-active {
		background-color: #e4e0cf;
		background-color: var(--gold-light);
	}

/*
	&::after {
		border: solid var(--gray);
		content: '';
		transition: transform 0.3s var(--transition_03);
		display: block;
		position: absolute;
		background-image: url('icon-arrow-down.svg');
		background-repeat: no-repeat;
		background-size: contain;
		bottom: 15px;
		right: auto;
	}

	&.-active::after {
		background-image: url('icon-arrow-up.svg');
	} */

.icn-toggle-line1,
.icn-toggle-line2 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 2px;
	background-color: #ffffff;
	background-color: var(--white);
	transform: translate(-50%, -50%);
}

.icn-toggle-line2 {
	transform: translate(-50%, -50%) rotate(-90deg);
	transition:
		transform 0.3s cubic-bezier(0.32, 0.181, 0.3, 1), background-color 0.3s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition:
		transform 0.3s var(--transition_03), background-color 0.3s var(--transition_03);
}

.nav-menu-sp-toggle.-active .icn-toggle-line2 {
		background-color: #7d7654;
		background-color: var(--gold);
		transform: translate(-50%, -50%) rotate(0);
	}

.nav-menu-sp-item {
	margin-top: 3rem;
	margin-bottom: 1rem;
	position: relative;
	z-index: 1;
}

.nav-menu-sp-item-link {
	position: relative;
	font-weight: 500;
}

.nav-menu-sp-item-main .nav-menu-sp-item-link {
		font-size: var(--font-nav-txt);
		padding: 0 80px 0 0;
	}

.nav-menu-sp-item-sub .nav-menu-sp-item-link {
		position: relative;
		/* display: flex; */
		/* align-items: center; */
		padding: 0.8rem 0 0.8rem 3.4rem;
		margin-left: 1rem;
		font-size: var(--font-nav-txt-s);
	}

.nav-menu-sp-item-sub .nav-menu-sp-item-link::before {
			display: block;
			position: absolute;
			top: 50%;
			left: 0;
			width: 2.6rem;
			height: 2.6rem;
			background-image: url('../img/shared/icn-link-arrow-s.svg');
			background-size: 2.6rem 2.6rem;
			content: '';
			background-repeat: no-repeat;
			background-position: left 0 center;
			transform: translateY(-50%);
		}

.nav-menu-sp-item-sub [target=_blank].nav-menu-sp-item-link::after{
		display: inline-block;
		width: 1.5rem;
		height: 1.5rem;
		background-image: url('../img/common/icon-external.svg');
		background-size: 1.5rem;
		content: '';
		background-repeat: no-repeat;
		background-position: left 0 center;
		margin-left: 4px;
}

.nav-menu-sp-item-main {
	position: relative;
	z-index: 1;
}

.nav-menu-sp-item-main .nav-menu-sp-item-link .ja {
			display: block;
			margin-top: 0.5rem;
			font-size: var(--font-nav-txt);
			font-family: 'Noto Sans JP', sans-serif, serif;
			font-family: var(--font-noto-sans), serif;
			font-weight: 400;
			line-height: 1.2;
		}

.nav-menu-sp-item-sub {
	position: relative;
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: max-height 0.48s var(--transition_03);
	will-change: max-height;
}

.nav-menu-sp-item-sub.-active .nav-menu-sp-item-item {
			opacity: 1;
		}

@media (max-width: 767px) {

.nav-menu-sp-item-item {
		position: relative;
		opacity: 1;
		transition: opacity 0.3s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.3s var(--transition_03);
}
			.nav-menu-sp-item-sub .nav-menu-sp-item-item:first-child {
				margin-top: 1rem;
			}
	}

.nav-menu-sp-info {
	margin-top: 4rem;
	padding-top: 3rem;
	border-top: solid 1px #e6e6e6;
	border-top: solid 1px var(--gray-line);
}

.nav-menu-sp-info-link {
	font-size: var(--font-nav-txt);
}

.nav-menu-sp-info-item:nth-child(n + 2) {
		margin-top: 1.4rem;
	}

.nav-menu-sp-sns {
	display: inline-flex;
	margin-top: 3rem;
}

.nav-menu-sp-sns-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(48px, min(4.8rem, 54px));
	width: var(--icon-size);
	height: max(48px, min(4.8rem, 54px));
	height: var(--icon-size);
	background-color: #f2f2f2;
	background-color: var(--gray-bg);
	border-radius: 100%;
	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.38s var(--transition_03);
}

.nav-menu-sp-sns-link:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
	}

.nav-menu-sp-sns-link:nth-child(n + 2) {
		margin-left: 1rem;
	}

/*
.nav-menu-sp-top {
	display: flex;
}

.nav-menu-sp-top-link {
	position: relative;
	align-items: center;
	justify-content: center;
	height: auto;
	background-color: var(--gold);
	color: var(--white);
	border-radius: 9999px;
	line-height: 1;
	white-space: nowrap;
	transition: opacity 0.38s var(--transition_03);
	will-change: opacity;

	&:hover {
		opacity: var(--hover-oacity);
	}

	@media (--sm) {
		display: flex;
		align-self: stretch;
		width: calc(50% - 1rem);
		height: 5.8rem;
		padding: 1rem 2rem;
	}

	@media (--md) {
		display: inline-flex;
		padding: 1.4rem 2rem;

		&:nth-child(n + 2) {
			margin-left: 1rem;
		}

		&.-english {
			display: none;
		}
	}
}

.nav-menu-sp-top-text {
	margin-left: 0.8rem;
	font-weight: 500;
} */

.sp-action-bottom {
	width: 100%;
	margin-top: auto;
	margin-top: 6rem;
	padding: 3rem 10%;
	background-color: #f2f2f2;
	background-color: var(--gray-bg);
}

.sp-action-bottom-email {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 4.8rem;
	min-height: max(48px, min(4.8rem, 54px));
	min-height: var(--icon-size);
	padding: 12px 20px;
	background-color: #7d7654;
	background-color: var(--gold);
	border-radius: 9999px;
	color: #ffffff;
	color: var(--white);
	font-weight: 500;
	line-height: 1;
}

.sp-action-bottom-icon {
	margin-right: 8px;
}

.sp-action-bottom-search {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 4.8rem;
	margin-top: 2rem;
	padding: 0 12px;
	background: #ffffff;
	background: var(--white);
	border: 1px solid #808080;
	border: 1px solid var(--gray);
	border-radius: 9999px;
}

.sp-action-bottom-search-input {
	width: 90%;
	padding: 0.4rem 1rem;
	border: none;
	outline: none;
	flex-grow: 1;
	background-color: #ffffff;
	background-color: var(--white);
	color: #2f2b2b;
	color: var(--black);
}

.sp-action-bottom-btn {
	margin: 0.2rem 1rem;
	/* position: absolute; */
	/* top: 50%; */
	/* right: 2rem; */
	/* background: none; */
	/* border: none; */
	cursor: pointer;
	/* transform: translateY(-50%); */
}

#cse-search-box-sp .sp-action-bottom-btn {
	margin: 0;;
	width: 48px;
	height: 48px;
	border: none;
	background: #fff;
	color: #fff;
	font-size: 0em;
	background:url(../img/shared/icn-modal-search.svg) no-repeat;
	background-size: 20px;
	background-position: center;
}

/* @import './components/navSide.css'; */

/*--------------------
  Nav Modal
--------------------*/

.nav-modal {
	display: flex;
	justify-content: center;
	position: fixed;
	z-index: 15;
	z-index: var(--z-modal);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	visibility: hidden;
	transition: visibility 0s cubic-bezier(0.32, 0.181, 0.3, 1) 0.48s;
	transition: visibility 0s var(--transition_03) 0.48s;
	pointer-events: none;
}

.nav-modal.-active {
		visibility: visible;
		transition: visibility 0s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: visibility 0s var(--transition_03);
		pointer-events: auto;
	}

@media (max-width: 767px) {

.nav-modal {
		padding-top: 15rem;
}
	}

@media (min-width: 768px) {

.nav-modal {
		/* padding: 15vh 0 15vh; */
		align-items: center;
}
	}

.nav-modal-wrap {
	position: relative;
	/* visibility: hidden;
	transition: visibility 0s var(--transition_03) 0.48s;

	.nav-modal.-active & {
		visibility: visible;
		transition: visibility 0s var(--transition_03);
	} */
}

@media (max-width: 767px) {

.nav-modal-wrap {
		padding: max(16px, min(1.6rem, 1.6rem));
		padding: var(--grid-gap-sp);
		width: 90%;
		height: 70vh;
		overflow-x: hidden;
		overflow-y: hidden;
}
	}

@media (min-width: 768px) {

.nav-modal-wrap {
		width: 80%;
		height: 100%;
}
	}

.nav-modal-bg {
	position: absolute;
	z-index: 0;
	z-index: var(--z-bg);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	background-color: #2f2b2b;
	background-color: var(--black);
	transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.48s var(--transition_03);
	will-change: opacity;
	pointer-events: none;
}

.nav-modal.-active .nav-modal-bg {
		opacity: 0.45;
		transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.48s var(--transition_03);
		pointer-events: auto;
	}

.modal-title {
	font-size: var(--font-ttl-xs);
	font-weight: 500;
}

.modal-title:nth-child(n + 2) {
		margin-top: 2rem;
	}

.modal-text {
	font-size: var(--font-txt-s);
	font-weight: 400;
}

.modal-text:nth-child(n + 2) {
		margin-top: 2rem;
	}

.modal-text a {
	display: inline;
	text-decoration: underline;
	color: #7d7654;
}

.modal-text a:hover{
	text-decoration: none;
}

.modal-login {
	position: absolute;
	z-index: 1;
	z-index: var(--z-content);
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.48s var(--transition_03);
	will-change: opacity;
	pointer-events: none;
}

.modal-login.-active {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.48s var(--transition_03);
		pointer-events: auto;
	}

/*
	&.-active {
		visibility: visible;
		pointer-events: auto;
		transition: visibility 0s var(--transition_03);
	}

	@media (--sm) {
		padding: var(--grid-gap-sp);
	}

	@media (--md) {
		padding: 17rem var(--grid-gap) 0 0;
	}
} */

.modal-login-content {
	display: flex;
	flex-direction: column;
	position: absolute;
	z-index: 1;
	z-index: var(--z-content);
	min-width: -moz-fit-content;
	min-width: fit-content;
	padding: 4rem;
	background-color: #ffffff;
	background-color: var(--white);
	border-radius: 4px;
	/* opacity: 0;
	transition: opacity 0.48s var(--transition_03);
	will-change: opacity;

	&.-active {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.48s var(--transition_03);
	} */

	/* &::before {
		position: absolute;
		top: -14px;
		left: 50%;
		width: 20px;
		height: 20px;
		content: '';
		background-image: url('../img/shared/modal-arrow.svg');
		background-size: 20px 20px;
		transform: translateX(-50%);
	} */
}

@media (max-width: 767px) {

.modal-login-content {
		gap: 2rem;
		top: 0;
		width: 100%;
}
	}

@media (min-width: 768px) {

.modal-login-content {
		gap: 3rem;
		/* top: var(--grid6); */
		right: calc(-15rem);
		width: 20rem;
}
	}

.action-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	height: auto;
	min-height: max(48px, min(4.8rem, 54px));
	min-height: var(--btn-size);
	color: #ffffff;
	color: var(--white);
	border-radius: 9999px;
	line-height: 1;
	white-space: nowrap;
	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.38s var(--transition_03);
	will-change: opacity;
}

.action-btn:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
	}

.action-btn.-logout {
		background-color: #484848;
		background-color: var(--gray-dark);
	}

.action-btn.-member {
		background-color: #7d7654;
		background-color: var(--gold);
	}

@media (min-width: 768px) {

.action-btn {
		width: -moz-fit-content;
		width: fit-content;
		padding: 1.4rem 3rem;
}
	}

.action-link {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	height: auto;
	line-height: 1;
	white-space: nowrap;
	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.38s var(--transition_03);
	will-change: opacity;
}

.action-link:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
	}

.action-text {
	margin-left: 0.8rem;
	font-weight: 500;
}

.modal-login-bg {
	position: absolute;
	z-index: 0;
	z-index: var(--z-bg);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	background-color: #2f2b2b;
	background-color: var(--black);
	transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.48s var(--transition_03);
	will-change: opacity;
}

.modal-login.-active .modal-login-bg {
		opacity: 0.45;
		transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.48s var(--transition_03);
		pointer-events: auto;
	}

.modal-search {
	position: absolute;
	z-index: 1;
	z-index: var(--z-content);
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.48s var(--transition_03);
	will-change: opacity;
}

.modal-search.-active {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.48s var(--transition_03);
	}

@media (max-width: 767px) {

.modal-search {
		top: 0;
		left: 0;
		height: 100%;
}
	}

@media (min-width: 768px) {

.modal-search {
		top: 50%;
		/* overflow: visible; */
		overflow: hidden;
		transform: translateY(-50%);
}
	}

.search-tabs {
	display: flex;
}

.search-tab-btn {
    color: #2f2b2b;
    color: var(--black);
	cursor: pointer;
	border: none;
	background-color: #e2ddcc;
	background-color: var(--gold-medium);
	line-height: 1.2;
	transition: background-color 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: background-color 0.48s var(--transition_03);
}

.search-tab-btn:first-child {
		border-top-left-radius: 4px;
	}

.search-tab-btn:last-child {
		border-top-right-radius: 4px;
	}

.search-tab-btn:nth-child(n + 2) {
		border-left: 1px solid #ffffff;
		border-left: 1px solid var(--white);
	}

@media (max-width: 767px) {

.search-tab-btn {
		padding: 2rem 1.4rem;
}
	}

@media (max-width: 480px) {

.search-tab-btn {
		padding: 1.5rem 0.5rem;
}
	}

@media (min-width: 768px) {

.search-tab-btn {
		padding: 2rem;
}
	}

.search-tab-btn[aria-selected='true'] {
	background-color: #ffffff;
	background-color: var(--white);
	font-weight: 500;
}

.search-tab-content {
	position: relative;
	background-color: #ffffff;
	background-color: var(--white);
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
	/* overflow-y: auto; */
}

@media (max-width: 767px) {

.search-tab-content {
		height: 100%;
		padding-bottom: 4rem;
}
	}

@media (min-width: 768px) {

.search-tab-content {
		height: 100%;

		/* height: 70vh;
		overflow: hidden; */
}
	}

.modal-close-btn {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	width: max(48px, min(4.8rem, 54px));
	width: var(--btn-size);
	height: max(48px, min(4.8rem, 54px));
	height: var(--btn-size);
	cursor: pointer;
}

.modal-close-btn.-side {
		z-index: 15;
		z-index: var(--z-modal);
	}

@media (max-width: 767px) {

.modal-close-btn {
		position: fixed;
		top: 10rem;
		right: 5%;
}
	}

@media (min-width: 768px) {

.modal-close-btn {
		position: absolute;
		top: 0;
		right: 0;
		background-color: #484848;
		background-color: var(--gray-dark);
		border-top-right-radius: 4px;
		border-bottom-left-radius: 4px;
}
	}

.modal-close-line1,
.modal-close-line2 {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 2px;
	background-color: #ffffff;
	background-color: var(--white);
}

@media (max-width: 767px) {

.modal-close-line1,
.modal-close-line2 {
		width: 2.8rem;
}
	}

@media (min-width: 768px) {

.modal-close-line1,
.modal-close-line2 {
		width: 1.8rem;
}
	}

.modal-close-line1 {
	transform: translate(-50%, -50%) rotate(45deg);
}

.modal-close-line2 {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.search-tab-panel {
	position: absolute;
	z-index: 0;
	z-index: var(--z-bg);
	top: 0;
	left: 0;
	width: 100%;
	max-height: 70vh;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1), visibility 0s cubic-bezier(0.32, 0.181, 0.3, 1) 0.48s;
	transition:
		opacity 0.48s var(--transition_03), visibility 0s var(--transition_03) 0.48s;
	-webkit-overflow-scrolling: touch;
	overflow-y: auto;
}

@media (max-width: 767px) {

.search-tab-panel {
		/* min-height: 60vh; */
		padding: 4rem 2rem 12rem;
}
	}

@media (min-width: 768px) {

.search-tab-panel {
		padding: 6rem;
}
	}

.search-tab-panel[aria-hidden='false'] {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	opacity: 1;
	visibility: visible;
	transition:
		opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1) 0.01s, visibility 0s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition:
		opacity 0.48s var(--transition_03) 0.01s, visibility 0s var(--transition_03);
}

@media (max-width: 767px) {

.search-form {
}
	}

@media (min-width: 768px) {

.search-form {
		display: flex;
		flex-wrap: wrap;
}
	}

.form-group {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 4rem;
	width: 100%;
}

@media (max-width: 767px) {

.form-group {
		margin-top: 2rem;
}
	}

@media (max-width: 480px) {

.form-group {
		margin-top: 3rem;
}
	}

@media (min-width: 768px) {

.form-group {
		margin-top: 4rem;
}
	}

@media (max-width: 767px) {

.form-item {
		width: 30rem;
}

		.form-item.-long {
			width: 30rem;
		}
	}

@media (max-width: 480px) {

.form-item {
		width: 100%;
}

		.form-item.-long {
			width: 100%;
		}
	}

@media (min-width: 768px) {

.form-item {
		width: 30rem;
}

		.form-item.-long {
			min-width: 60rem;
		}
	}

.form-label {
	width: 100%;
	font-size: var(--font-txt-s);
	font-weight: 500;
}

@media (max-width: 767px) {
		.form-label.last-name {
			display: none;
		}
	}

.form-input,
.nav-modal select,
.p-sub__article select{
    color: #2f2b2b;
    color: var(--black);
	width: 100%;
	margin-top: 1rem;
	padding: 1rem 1rem;
	background-color: #f8f8f8;
	background-color: var(--gray-light);
	border: 1px solid #cccccc;
	border: 1px solid var(--gray-line2);
	border-radius: 4px;
}

.nav-modal select,
.p-sub__article select {
		padding: 1.5rem 1rem;
	}

.nav-modal fieldset {
		border: none;
	}

.group-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.group-header .form-label {
		display: block;
		width: 50%;
	}

@media (max-width: 480px) {
.group-header .form-label {
		width: 100%;
	}
}

.btn-clear {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 11rem;
	padding: 1rem 3rem;
	background-color: #ffffff;
	background-color: var(--white);
	border: 1px solid #2f2b2b;
	border: 1px solid var(--black);
	border-radius: 9999px;
	color: #2f2b2b;
	color: var(--black);
	cursor: pointer;
	font-size: var(--font-txt-s);
	word-break: keep-all;
}

.date-range-fields {
	display: flex;
	align-items: center;
	gap: 2rem;
}

@media (max-width: 480px) {

.date-range-fields {
	flex-wrap: wrap;
	gap: 1rem;
}

}

.date-range-fields .form-input {
		font-size: var(--font-txt-s);
	}

.checkbox-columns {
	position: relative;
	width: 100%;
	margin-top: 1rem;
	background-color: #f2f2f2;
	background-color: var(--gray-bg);
}

@media (max-width: 767px) {

.checkbox-columns {
		padding: 3rem 2rem;
}
	}

@media (max-width: 480px) {

.checkbox-columns {
		padding: 1.5rem;
}
	}

@media (min-width: 768px) {

.checkbox-columns {
		padding: 4rem;
}
	}

.checkbox-columns .check-all {
		display: block;
		width: -moz-fit-content;
		width: fit-content;
	}

.checkbox-columns fieldset {
		display: flex;
		flex-wrap: wrap;
	}

@media (max-width: 767px) {

.checkbox-columns fieldset {
			gap: 1.4rem 1rem;
			margin: 2rem 1rem;
	}
		}

@media (max-width: 480px) {

.checkbox-columns fieldset {
			margin: 2rem 0rem;
	}
		}

@media (min-width: 768px) {

.checkbox-columns fieldset {
			gap: 1.4rem 3rem;
			margin: 4rem 2rem;
	}
		}

.checkbox-columns fieldset legend {
			width: 100%;
			margin-bottom: 1rem;
		}

@media (max-width: 767px) {

.checkbox-columns fieldset input {
				margin-left: 0.8rem;
		}
			}

@media (min-width: 768px) {

.checkbox-columns fieldset input {
				margin-left: 1.8rem;
		}
			}

.checkbox-columns legend,.checkbox-columns label {
		font-size: var(--font-txt-s);
	}

.checkbox-columns .checkbox-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 1.4rem 3rem;
		margin: 4rem 2rem 1rem;
	}

@media (max-width: 480px) {

.checkbox-columns .checkbox-grid {
		margin: 4rem 0rem 1rem;
	}

}

.form-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 13rem;
	padding: 1rem 3rem;
	background-color: #7d7654;
	background-color: var(--gold);
	border-radius: 9999px;
	color: #ffffff;
	color: var(--white);
	cursor: pointer;
}

.form-btn-text {
	margin-left: 0.6rem;
	font-weight: 500;
}

.form-btn-area{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	margin-top: 4rem;
}

.form-btn-area .btn-clear{
    min-width: 13rem;
    padding: 1rem 3rem;
}

.modal-job,
.modal-training {
	position: absolute;
	z-index: 1;
	z-index: var(--z-content);
	left: 0;
	width: 100%;
	max-height: 70vh;
	padding: 4rem;
	background-color: #ffffff;
	background-color: var(--white);
	border-radius: 4px;
	opacity: 0;
	transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.48s var(--transition_03);
	will-change: opacity;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.-active.modal-job,.-active.modal-training {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.48s var(--transition_03);
	}

@media (max-width: 767px) {

.modal-job,
.modal-training {
		top: 0;
}
	}

@media (min-width: 768px) {

.modal-job,
.modal-training {
		top: 50%;
		transform: translateY(-50%);
}
	}

/* .modal-job {
	.form-item {
		display: flex;
		align-items: center;
	}
} */

/*--------------------
  Nav Pulldown
--------------------*/

@media (min-width: 768px) {
	.nav-menu-sub {
		position: absolute;
		z-index: 11;
		z-index: var(--z-pulldown);
		top: 4rem;
		left: 50%;
		min-width: 50vw;
		height: auto;
		padding-top: 4rem;
		opacity: 0;
		visibility: hidden;
		transform: translateX(-50%);
		transition:
			opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1), visibility 0s linear 0.48s;
		transition:
			opacity 0.48s var(--transition_03), visibility 0s linear 0.48s;
		will-change: opacity visibility;
	}

		.nav-menu-sub.-active {
			opacity: 1;
			visibility: visible;
			transition:
				opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1), visibility 0s linear;
			transition:
				opacity 0.48s var(--transition_03), visibility 0s linear;
		}
}

.nav-menu-sub-wrap {
	position: relative;
	padding: 5rem;
	background-color: #ffffff;
	background-color: var(--white);
	border-radius: 4px;
}

.nav-menu-sub-wrap::before {
		position: absolute;
		top: -14px;
		left: 50%;
		width: 20px;
		height: 20px;
		content: '';
		background-image: url('../img/shared/modal-arrow.svg');
		background-size: 20px 20px;
		transform: translateX(-50%);
	}

.nav-bg {
	position: absolute;
	z-index: 11;
	z-index: var(--z-pulldown);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	visibility: hidden;
	background-color: #2f2b2b;
	background-color: var(--black);
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1), visibility 0.48s cubic-bezier(0.32, 0.181, 0.3, 1) 0.48s;
	transition:
		opacity 0.48s var(--transition_03), visibility 0.48s var(--transition_03) 0.48s;
	will-change: opacity;
}

.nav-bg.-active {
		opacity: 0.45;
		visibility: visible;
		transition:
			opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1) 0.01s, visibility 0s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition:
			opacity 0.48s var(--transition_03) 0.01s, visibility 0s var(--transition_03);
	}

.nav-menu-sub-header {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	width: 100%;
}

.nav-menu-sub-title {
	font-size: var(--font-nav-txt);
	font-weight: 500;
}

.nav-menu-sub-title-link {
	position: relative;
	margin-left: 1rem;
	padding: 0.6rem 3.6rem 0.6rem 1.5rem;
	background-color: #7d7654;
	background-color: var(--gold);
	border-radius: 0.2rem;
	color: #ffffff;
	color: var(--white);
	font-size: var(--font-nav-txt-xs);
	font-weight: 500;
	line-height: 1;
}

.nav-menu-sub-title-link::before {
		display: block;
		position: absolute;
		top: 50%;
		right: 1.3rem;
		width: 0.8rem;
		height: 0.8rem;
		background-image: url('../img/shared/icn-menu-arrow.svg');
		background-size: 0.8rem 0.8rem;
		content: '';
		background-repeat: no-repeat;
		background-position: left 0 center;
		transform: translateY(-50%);
	}

.nav-menu-sub-list {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
	grid-auto-flow: row dense;
	grid-gap: 1rem 2rem;
	gap: 1rem 2rem;
	width: 100%;
	margin-top: 3rem;
	transition: max-height 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: max-height 0.48s var(--transition_03);
}

.nav-menu-sub-list.-active {
	}

.nav-menu-sub-link {
	position: relative;
	/* display: flex; */
	/* align-items: center; */
	padding: 0.8rem 0 0.8rem 3.4rem;
	font-weight: 500;
	font-size: var(--font-nav-txt-s);
	transition: color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: color 0.38s var(--transition_03);
}

.nav-menu-sub-link:hover {
		color: #7d7654;
		color: var(--gold);
	}

.nav-menu-sub-link::before {
		display: block;
		position: absolute;
		/* top: 50%; */
		top: 0.4rem;
		left: 0;
		width: 2.6rem;
		height: 2.6rem;
		background-image: url('../img/shared/icn-link-arrow-s.svg');
		background-size: 2.6rem 2.6rem;
		content: '';
		background-repeat: no-repeat;
		background-position: left 0 center;
		/* transform: translateY(-50%); */
	}

[target=_blank].nav-menu-sub-link::after{
		display: inline-block;
		width: 1.5rem;
		height: 1.5rem;
		background-image: url('../img/common/icon-external.svg');
		background-size: 1.5rem;
		content: '';
		background-repeat: no-repeat;
		background-position: left 0 center;
		margin-left: 4px;
}

@media (max-width: 767px) {

.nav-menu-sub-item {
		position: relative;
		opacity: 1;
		transition: opacity 0.3s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.3s var(--transition_03);
}
			.nav-menu-sp-item-sub .nav-menu-sub-item:first-child {
				margin-top: 1rem;
			}
	}

/*--------------------
Footer
--------------------*/

footer {
	width: 100%;
	background-color: #ffffff;
	background-color: var(--white);
	color: #2f2b2b;
	color: var(--black);
}

@media (max-width: 767px) {

footer {
		font-size: var(--font-txt-m);
}
	}

@media (min-width: 768px) {

footer {
		font-size: var(--font-txt-m);
}
	}

@media (max-width: 767px) {

.footer-top {
		grid-template:
			'info menu' auto
			'sns actions' auto
			/ auto auto;
		padding: 5rem max(16px, min(1.6rem, 1.6rem)) 0;
		padding: 5rem var(--grid-gap-sp) 0;
}
	}

@media (min-width: 768px) {

.footer-top {
		display: grid;
		grid-template:
			'info menu' 1fr
			'sns actions' auto
			/ 1fr auto;
		grid-gap: 5rem 4rem;
		gap: 5rem 4rem;
		grid-column-gap: calc(0 * 2);
		grid-column-gap: var(--grid-gap);
		-moz-column-gap: calc(0 * 2);
		     column-gap: calc(0 * 2);
		-moz-column-gap: var(--grid-gap);
		     column-gap: var(--grid-gap);
		padding: 8rem calc(0 * 2) 0;
		padding: 8rem var(--grid-gap) 0;
}
	}

@media (max-width: 767px) {

.footer-info {
}
	}

@media (min-width: 768px) {

.footer-info {
		grid-area: info;
}
	}

.footer-logo {
	display: flex;
	align-items: center;
	cursor: pointer;
}

@media (max-width: 767px) {

.footer-logo {
		width: 21rem;
		height: 3.5rem;
}
	}

@media (min-width: 768px) {

.footer-logo {
		width: 34rem;
		height: 5.8rem;
}
	}

/* @media (--lg) {
		width: 34rem;
		height: 5.8rem;
	} */

.footer-company {
}

@media (max-width: 767px) {

.footer-description {
		margin-top: 2rem;
}
	}

@media (min-width: 768px) {

.footer-description {
		margin-top: 4rem;
}
	}

.footer-text {
	font-size: var(--font-txt-s);
	line-height: 1.4;
}

.footer-text:nth-child(n + 2) {
		margin-top: 1rem;
		font-size: var(--font-txt-xs);
	}

@media (max-width: 767px) {

.footer-menu {
		display: none;
}
	}

@media (min-width: 768px) {

.footer-menu {
		display: flex;
		flex-wrap: wrap;
		grid-area: menu;
		margin-left: auto;
		gap: calc(0 * 2);
		gap: var(--grid-gap);
}
	}

@media (min-width: 768px) {

.footer-menu-column {
		grid-column: span 5;
}
	}

@media (min-width: 768px) {

.footer-menu-column-last {
		grid-column: span 3;
}
	}

.footer-menu-top {
	font-size: var(--font-nav-txt);
	font-weight: 600;
	transition: color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: color 0.38s var(--transition_03);
}

.footer-menu-top:nth-child(n + 2) {
		margin-top: 1.2rem;
	}

.footer-menu-top:hover {
		color: #7d7654;
		color: var(--gold);
	}

.footer-menu-list {
	margin-top: 1.2rem;
	padding-left: 1rem;
}

.footer-menu-item {
	position: relative;
	margin-top: 0.5rem;
	padding-left: 0.5rem;
}

.footer-menu-item::before {
		position: absolute;
		left: -0.8rem;
		top: 50%;
		content: "";
		width: 5px;
		height: 5px;
		background: #7d7654;
		border-radius: 50vh;
		transform: translateY(-50%);
	}

.footer-menu-link {
	font-size: var(--font-nav-txt-s);
	transition: color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: color 0.38s var(--transition_03);
}

.footer-menu-link:hover {
		color: #7d7654;
		color: var(--gold);
	}

[target=_blank].footer-menu-link::after {
		display: inline-block;
		width: 1.5rem;
		height: 1.5rem;
		background-image: url('../img/common/icon-external.svg');
		background-size: 1.5rem;
		content: '';
		background-repeat: no-repeat;
		background-position: left 0 center;
		margin-left: 4px;
}

@media (max-width: 767px) {

.footer-sns {
		display: inline-flex;
		margin-top: 2rem;
}
	}

@media (min-width: 768px) {

.footer-sns {
		display: flex;
		grid-area: sns;
}
	}

.footer-sns-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(48px, min(4.8rem, 54px));
	width: var(--icon-size);
	height: max(48px, min(4.8rem, 54px));
	height: var(--icon-size);
	background-color: #f2f2f2;
	background-color: var(--gray-bg);
	border-radius: 100%;
	transition: background-color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: background-color 0.38s var(--transition_03);
}

.footer-sns-link:hover {
		background-color: #e4e0cf;
		background-color: var(--gold-light);
	}

@media (max-width: 767px) {
		.footer-sns-link:nth-child(n + 2) {
			margin-left: 1rem;
		}
	}

@media (min-width: 768px) {
		.footer-sns-link:nth-child(n + 2) {
			margin-left: 2rem;
		}
	}

@media (max-width: 767px) {

.footer-actions {
		display: inline-flex;
}
	}

@media (min-width: 768px) {

.footer-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 2.4rem;
		grid-area: actions;
}
	}

.footer-header-action {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	transition:
		opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition:
		opacity 0.38s var(--transition_03), color 0.38s var(--transition_03);
}

.footer-header-action:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
		color: #7d7654;
		color: var(--gold);
	}

@media (max-width: 767px) {

.footer-header-action {
		margin-left: 1rem;
}
	}

.footer-action-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: max(48px, min(4.8rem, 54px));
	width: var(--icon-size);
	height: max(48px, min(4.8rem, 54px));
	height: var(--icon-size);
	background-color: #484848;
	background-color: var(--gray-dark);
	border-radius: 100%;
	transition: background-color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: background-color 0.38s var(--transition_03);
}

.footer-header-action:hover .footer-action-icon {
		background-color: #7d7654;
		background-color: var(--gold);
	}

.footer-action-text {
	font-size: var(--font-txt-s);
	font-weight: 500;
}

@media (max-width: 767px) {

.footer-action-text {
		display: none;
}
	}

@media (min-width: 768px) {

.footer-action-text {
		margin-left: 0.8rem;
}
	}

.footer-bottom {
	background-color: #484848;
	background-color: var(--gray-dark);
}

@media (max-width: 767px) {

.footer-bottom {
		margin-top: 3rem;
		padding: 2rem max(16px, min(1.6rem, 1.6rem));
		padding: 2rem var(--grid-gap-sp);
		font-size: var(--font-txt-xxs);
}
	}

@media (min-width: 768px) {

.footer-bottom {
		display: flex;
		justify-content: space-between;
		grid-column: span 24;
		grid-row: span 3;
		height: 7rem;
		margin-top: 4rem;
		padding: 2rem calc(0 * 2);
		padding: 2rem var(--grid-gap);
		font-size: var(--font-txt-xxs);
}
	}

.footer-policy-list {
	display: flex;
	flex-wrap: wrap;
}

.footer-policy-item {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 1.5em;
	line-height: 1;
	height: auto;
}

.footer-policy-item:not(:last-child)::after {
		margin: 0 1rem;
		content: '|';
		color: #ffffff;
		color: var(--white);
	}

@media (max-width: 767px) {

.footer-policy-item {
		margin-top: 0.4rem;
}
	}

.footer-policy-link {
	position: relative;
	overflow: hidden;
	color: #ffffff;
	color: var(--white);
	line-height: 1;

	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);

	transition: opacity 0.38s var(--transition_03);
}

.footer-policy-link:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
	}

.footer-copy {
	color: #ffffff;
	color: var(--white);
	margin-right: 4rem;
}

@media (max-width: 767px) {

.footer-copy {
		margin-top: 1.4rem;
}
	}

.underline {
	position: relative;
	display: inline-block;
	overflow: hidden;
	line-height: 1.2;
}

.underline::after {
		bottom: 0;
		left: 0;
		width: 100%;
		height: 0;
		border-bottom: 1px solid #7d7654;
		border-bottom: 1px solid var(--gold);
		content: '';
		display: block;
		position: absolute;
		transform: translateX(-100%);
		animation: hover-line-out 0.38s cubic-bezier(0.32, 0.181, 0.3, 1) 0s forwards;
		animation: hover-line-out 0.38s var(--transition_03) 0s forwards;
	}

.underline:hover::after {
			animation: hover-line-in 0.38s cubic-bezier(0.32, 0.181, 0.3, 1) 0s forwards;
			animation: hover-line-in 0.38s var(--transition_03) 0s forwards;
		}

@keyframes hover-line-in {
	0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(0%);
	}
}

@keyframes hover-line-out {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(100%);
	}
}

/*--------------------
Search
--------------------*/

.search-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 15;
	z-index: var(--z-modal);
	visibility: hidden;
	opacity: 0;
	transition:
		opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1), visibility 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition:
		opacity 0.48s var(--transition_03), visibility 0.48s var(--transition_03);
	will-change: opacity;
}

.search-modal.-active {
		opacity: 1;
		visibility: visible;
	}

.search-modal .search-form {
		position: relative;
		display: flex;
		border-radius: 6px;
		width: 100%;
		margin-top: 0;
		position: relative;
	}

@media (max-width: 767px) {

.search-modal .search-form {
			padding-bottom: 0;
	}
		}

@media (min-width: 768px) {

.search-modal .search-form {
			max-width: 90%;
	}
		}

.search-modal .search-form .form-input {
			margin-top: 0;
			border-radius: 4px 0 0 4px;
			border-right: none;
		}

@media (max-width: 767px) {

.search-modal .search-form .form-input {
				padding-right: 9rem;
		}
			}

@media (min-width: 768px) {

.search-modal .search-form .form-input {
				padding-right: 14rem;
		}
			}

@media (max-width: 767px) {

.search-modal .modal-close-btn {
			position: absolute;
			top: -6rem;
			right: 0;
	}
		}

.search-modal .search-form .search-submit{
	width: 125px;
	min-width: inherit!important;
	padding: 1rem 24px;
	border: none;
	background-image: url(../img/shared/icn-modal-search-w.svg);
	background-repeat: no-repeat;
	background-position: center left 28px;
	text-align: right;
}

@media (max-width: 767px) {
.search-modal .search-form .search-submit{
	width: 80px;
	padding: 1rem 12px;
	background-position: center left 16px;
}
}

.search-modal-bg {
	position: fixed;
	z-index: 0;
	z-index: var(--z-bg);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #2f2b2b;
	background-color: var(--black);
	opacity: 0.45;
}

.search-modal-wrap {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	background-color: var(--white);
	border-radius: 4px;
}

@media (max-width: 767px) {

.search-modal-wrap {
		width: 90%;
		padding: 2rem;
}
	}

@media (min-width: 768px) {

.search-modal-wrap {
		width: 60%;
		padding: 8rem 4rem;
}
	}

.search-modal-title {
	margin-right: auto;
	font-size: var(--font-ttl-xs);
	font-weight: 400;
}

.modal-close {
	position: absolute;
	top: 0;
	right: 0;
	width: max(48px, min(4.8rem, 54px));
	width: var(--btn-size);
	height: max(48px, min(4.8rem, 54px));
	height: var(--btn-size);
	background-color: #484848;
	background-color: var(--gray-dark);
	cursor: pointer;
}

.search-submit {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	margin-top: 0;
	border-radius: 0 4px 4px 0;
	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.38s var(--transition_03);
}

.search-submit:hover {
		opacity: 0.9;
	}

@media (max-width: 767px) {

.search-submit {
		min-width: 8rem;
		padding: 1rem 1rem;
}
	}

.search-label {
	display: none;
}

.search-result {
	width: 90%;
	max-height: 60vh;
	overflow: auto;
}

/*--------------------
 Post Header
--------------------*/

.posts {
	position: relative;
	/* visibility: hidden; */
}

.posts-ttl {
	line-height: 0.8;
}

@media (max-width: 767px) {

.posts-ttl {
		/* margin-left: var(--col2); */
}
	}

@media (min-width: 768px) {

.posts-ttl {
		position: absolute;
		top: 0;
		left: 4.166vw;
		left: var(--col1);
		transform-origin: top left;
		writing-mode: vertical-lr;
}
	}

.post-a {
	aspect-ratio: 1920/1080;
	overflow: hidden;
}

/* Hover Effect */

@media (min-width: 768px) {

.post-img {
		transition:
			filter 0.48s cubic-bezier(0.32, 0.181, 0.3, 1) 1.5s, opacity 0.3s ease, transform 2.08s cubic-bezier(0.2, 1, 0.24, 1);
		transition:
			filter 0.48s var(--transition_03) 1.5s, opacity 0.3s ease, transform 2.08s var(--smooth-ease);
		will-change: transform;
}

		.post-a:hover .post-img {
			transform: scale(1.1);
			transition: transform 0.88s cubic-bezier(0.2, 1, 0.24, 1);
			transition: transform 0.88s var(--smooth-ease);
		}
	}

.kv-wrap {
	padding: 3rem;
}

/*--------------------
 Post Header
--------------------*/

.post-header {
	display: grid;

	/* @media (--sm) {
		gap: 2rem;
	}

	@media (--md) {
		gap: 2rem;
	}

		@media (--lg) {
		gap: 1rem;
	} */
}

.post-ttl {
	font-size: var(--font-ttl-l);
	font-weight: 700;
}

@media (max-width: 767px) {

.post-ttl {
		margin-top: 1rem;
		line-height: 1.1;
}

		.post .post-ttl {
			margin-bottom: 3rem;
		}
	}

@media (min-width: 768px) {

.post-ttl {
		margin-top: 1rem;
		line-height: 1.1;
}

		.post .post-ttl {
			margin-bottom: 3rem;
		}
	}

@media (orientation: landscape) and (max-width: 844px) {

.post-ttl {
		line-height: 1;
}
	}

@media (min-width: 1441px) {
		.post .post-ttl {
			margin-bottom: 2rem;
		}
	}

.post-date {
	display: block;
	color: #ababab;
	color: var(--light);
	font-size: var(--font-txt-s);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1rem;

	/* :not(.post-header) & {
		.post & {
			margin-top: 2rem;
		}
	} */
}

.post-date__day {
	margin-right: 1rem;
	font-size: var(--font-ttl-m);
	font-weight: 600;
}

.post__categories,
.post__tags {
	margin-top: 2rem;
}

.post__media {
	margin-top: 10rem;
}

/*--------------------
 Content
--------------------*/

.post-cont {
	display: flex;
	margin-left: auto;
	margin-right: auto;
	width: 100%;

	/* @media (--sm) {
		display: grid;
		gap: 12rem;
	} */
}

@media (max-width: 767px) {

.post-cont {
		flex-direction: column;
}
	}

@media (min-width: 768px) {

.post-cont {
		justify-content: space-between;
}
	}

@media (max-width: 767px) {

.post-main {
		width: 100%;
}
	}

@media (min-width: 768px) {

.post-main {
		width: 70%;
		margin-right: 8.333vw;
		margin-right: var(--col2);
}
	}

.post-content {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-columns: 30% 70%;
	grid-column-gap: 4.166vw;
	grid-column-gap: var(--col1);
	-moz-column-gap: 4.166vw;
	     column-gap: 4.166vw;
	-moz-column-gap: var(--col1);
	     column-gap: var(--col1);
}

.post-item:nth-child(n + 2) {
		margin-top: 8rem;
	}

.post-subtitle {
	width: 100%;
	font-size: var(--font-ttl-l);
	font-weight: 600;
	line-height: 1.1;
	-webkit-hyphens: none;
	        hyphens: none;
}

.post-subtitle:nth-child(n + 2) {
		margin-top: 8.333vw;
		margin-top: var(--col2);
	}

.post-text {
	font-size: var(--font-txt-m);
	line-height: 2;
}

@media (max-width: 767px) {

.post-text {
		margin-top: 4rem;
}
	}

@media (min-width: 768px) {
		.post-text:nth-child(n + 2) {
			margin-top: 3rem;
		}
	}

.post-text + .post-text {
	margin-top: 2vw;
	margin-top: var(--col05);
}

.post-text-link {
	display: inline-block;
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.post-button-link {
	min-width: 16.666vw;
	min-width: var(--col4);
	margin-top: 4.166vw;
	margin-top: var(--col1);
	font-size: var(--font-link);
	line-height: 0.87;
}

@media (max-width: 767px) {
		.post-button-link:nth-child(n + 2) {
			margin-top: 3rem;
		}
	}

@media (min-width: 768px) {
		.post-button-link:nth-child(n + 2) {
			margin-top: 2rem;
		}
	}

.post-item-media:nth-child(n + 2) {
		margin-top: 4.166vw;
		margin-top: var(--col1);
	}

.post-item-image {
	aspect-ratio: 16/9;
}

.post-list {
	padding: 4rem 2rem;
	border-top: 1px solid #2e2e2e;
	border-top: 1px solid var(--black-olive);
	border-bottom: 1px solid #2e2e2e;
	border-bottom: 1px solid var(--black-olive);
}

@media (max-width: 767px) {
		.post-list:nth-child(n + 2) {
			margin-top: 8.333vw;
			margin-top: var(--col2);
		}
	}

@media (min-width: 768px) {
		.post-list:nth-child(n + 2) {
			margin-top: 4.166vw;
			margin-top: var(--col1);
		}
	}

/*--------------------
 Sidebar
--------------------*/

.post-side {
	/* display: grid; */
	flex-wrap: wrap;
	align-items: flex-start;
}

@media (max-width: 767px) {

.post-side {
		width: 100%;
		margin-top: 25vw;
		margin-top: var(--col6);
}
	}

@media (min-width: 768px) {

.post-side {
		width: 30%;
}
	}

.post-aside {
	display: grid;
	padding: 0;
}

@media (max-width: 767px) {

.post-aside {
		flex: 1 1 40%;
}

		.post-aside:nth-child(n + 2) {
			margin-top: 8rem;
		}
	}

@media (min-width: 768px) {

.post-aside {
		text-align: left;
		justify-content: start;
		justify-items: start;
}

		.post-aside:nth-child(n + 2) {
			margin-top: 8rem;
		}
	}

@media (orientation: landscape) and (max-width: 844px) {

.post-aside {
		justify-content: normal;
}
	}

.post-side-ttl {
	font-size: var(--font-ttl-s);
	font-weight: 600;
	letter-spacing: 0.2rem;
	line-height: 1;
	text-transform: uppercase;
}

.list-projectTypes-item,
.list-categories-item {
	line-height: 0.87;
	font-size: var(--font-link);
	font-weight: 700;
	text-transform: uppercase;
}

.list-projectTypes-item:nth-child(n + 2) {
		margin-top: 0.4rem;
	}

.list-categories-item:nth-child(n + 2) {
		margin-top: 0.4rem;
	}

.related-post {
	display: grid;
	width: 100%;
}

.related-post:nth-child(n + 3) {
		padding-top: 3rem;
		border-top: 1px solid #2e2e2e;
		border-top: 1px solid var(--black-olive);
	}

@media (max-width: 767px) {

.related-post {
		margin-top: 5rem;
}

		.related-post:nth-child(n + 3) {
			padding-top: 5rem;
		}
	}

@media (min-width: 768px) {

.related-post {
		margin-top: 3rem;
}
	}

@media (orientation: landscape) and (max-width: 844px) {

.related-post {
		width: 100%;
}

		.related-post:nth-child(n + 3) {
			padding-top: 3rem;
		}
	}

.related-post-ttl {
	font-size: var(--font-ttl-s);
	font-weight: 700;
	line-height: 1;
}

/*--------------------
  Taxonomy
--------------------*/

/* .taxonomy-ttl {
	margin-left: 1rem;
} */

.taxonomy-items {
	margin-top: 4rem;
}

@media (max-width: 767px) {

.taxonomy-items {
		margin-top: 4rem;
}
	}

@media (min-width: 768px) {

.taxonomy-items {
		margin-top: 2rem;
}
	}

.home .taxonomy-item {
		font-size: var(--font-txt-x);
	}

.about .taxonomy-item,.sub .taxonomy-item {
		font-size: var(--font-txt-l);
	}

.taxonomy-item {

	font-weight: 700;
	text-transform: uppercase;
	will-change: translate;
}

@media (max-width: 767px) {

.taxonomy-item {
		line-height: 1;
}
	}

@media (min-width: 768px) {

.taxonomy-item {
		line-height: 0.88;
}
	}

.taxonomy-a {
	transition: transform 1.28s cubic-bezier(0.2, 1, 0.24, 1);
	transition: transform 1.28s var(--smooth-ease);
}

.taxonomy-a:hover {
		transform: translateX(2rem);
		transition: transform 0.88s cubic-bezier(0.2, 1, 0.24, 1);
		transition: transform 0.88s var(--smooth-ease);
	}

.taxonomy-a-text {
	display: flex;
	align-items: flex-start;
}

.taxonomy-num {
	font-size: var(--font-txt-m);
	font-weight: 600;
}

/*--------------------
  Taxonomy List
--------------------*/

.spotlight .taxonomy-list {
		display: flex;
	}

.taxonomy-list.list-tags,.taxonomy-list.list-roles,.taxonomy-list.list-styles,.taxonomy-list.list-features {
		display: flex;
		flex-wrap: wrap;
	}

@media (max-width: 767px) {

.taxonomy-list {
		gap: 1.8rem;
		flex-wrap: wrap;
		margin-top: 4rem;
}
	}

@media (min-width: 768px) {

.taxonomy-list {
		gap: 1.2rem;
		margin-top: 3rem;
}
	}

.taxonomy-item-a {
	display: flex;
	align-items: flex-start;

	/* Post Ssidebar */
}

.taxonomy-item-a.list-tags-a,.taxonomy-item-a.list-roles-a,.taxonomy-item-a.list-styles-a,.taxonomy-item-a.list-features-a {
		font-size: var(--font-txt-s);
	}

/* Post Ssidebar */

.list-projectTypes-a .taxonomy-item-num,.list-categories-a .taxonomy-item-num {
		margin-left: 0.4rem;
		font-size: var(--font-txt-s);
	}

/* Post Ssidebar */

.list-roles-a .taxonomy-item-num,.list-styles-a .taxonomy-item-num,.list-features-a .taxonomy-item-num,.list-tags-a .taxonomy-item-num {
		font-size: var(--font-txt-s);
	}

/*--------------------
 Postcard
--------------------*/

.post-img {
	aspect-ratio: 1920/1080;
}

@media (max-width: 767px) {

.post-dsc {
		margin-top: 4.8rem;
}
	}

@media (min-width: 768px) {

.post-dsc {
		margin-top: 4rem;
}
	}

.post-title {
	font-size: var(--font-ttl-m);
	font-weight: 700;
}

@media (max-width: 767px) {

.post-title {
		margin-top: 1rem;
		margin-bottom: 2.8rem;
		line-height: 1.4;
}
	}

@media (min-width: 768px) {

.post-title {
		margin-top: 0.6rem;
		margin-bottom: 2rem;
		line-height: 1.2;
}
	}

@media (max-width: 767px) {

.post-dsc .post-taxonomy {
			margin-bottom: 2.8rem;
	}
		}

@media (min-width: 768px) {

.post-dsc .post-taxonomy {
			margin-bottom: 2rem;
	}
		}

.post-header .post-taxonomy:last-child {
			margin-top: 1.4rem;
		}

@media (max-width: 767px) {
			.post-header .post-taxonomy:last-child {
				margin-top: 3rem;
			}
		}

@media (min-width: 768px) {
			.post-header .post-taxonomy:last-child {
				margin-top: 2.2rem;
			}
		}

.post-taxonomy-items {
	display: flex;
	flex-wrap: wrap;
}

@media (max-width: 767px) {

.post-taxonomy-items {
		gap: 1.8rem;
}
	}

@media (min-width: 768px) {

.post-taxonomy-items {
		gap: 1.2rem;
}
	}

/* .post-more-link {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
	padding: 1rem 2rem;
	background-color: var(--blue);
} */

/*--------------------
 Label
--------------------*/

.label:nth-child(n + 2) {
		margin-left: 1rem;
	}

.post-label-category,
.label-category {
	display: block;
	min-width: 80px;
	border: 1px solid #ffffff;
	border: 1px solid var(--white);
	background-color: #242424;
	background-color: var(--category-off);
	border-radius: 99px;
	color: #ffffff;
	color: var(--white);
	font-size: var(--font-txt-s);
	font-weight: 500;
	text-transform: uppercase;
	/* transition: background-color 0.2s var(--transition_03),
		color 0.2s var(--transition_03), transform 1.68s var(--smooth-ease); */

	/* &:hover {
		background-color: var(--category-on);
		color: var(--black);
	} */
}

.is-day .post-label-category,.is-day .label-category {
		border: none;
		color: #2f2b2b;
		color: var(--black);
	}

@media (max-width: 767px) {

.post-label-category,
.label-category {
		padding: 1.2rem 3rem;
}
	}

@media (min-width: 768px) {

.post-label-category,
.label-category {
		padding: 0.8rem 2rem;
}
	}

/* .taxonomy-item-a, */

.label-tag,
.label-category {
	position: relative;
	overflow: hidden;
	will-change: transform;
}

.label-tag .label-text,.label-category .label-text {
		display: flex;
		align-items: center;
		justify-content: center;
		opacity: 1;
		will-change: opacity, transform;
	}

.label-tag .label-text-bg,.label-category .label-text-bg {
		display: block;
		position: absolute;
		top: 0;
		left: -50%;
		width: 200%;
		height: 300%;
		background-color: #393939;
		background-color: var(--category-on);
		transform-origin: 50% 50%;
		transform: translateY(100%);
		will-change: opacity, transform;
	}

.label-tag .label-text-hover,.label-category .label-text-hover {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		color: #2f2b2b;
		color: var(--black);
		opacity: 0;
		will-change: opacity, transform;
	}

.label-tag {
	min-width: 80px;
	font-size: var(--font-txt-s);
	font-weight: 500;
	background-color: #242424;
	background-color: var(--tag-off);
	border-radius: 2px;
	color: #ffffff;
	color: var(--white);
	letter-spacing: 0.2rem;
	line-height: 1;
	text-align: center;
	transition:
		background-color 0.2s cubic-bezier(0.32, 0.181, 0.3, 1), transform 1.68s cubic-bezier(0.2, 1, 0.24, 1);
	transition:
		background-color 0.2s var(--transition_03), transform 1.68s var(--smooth-ease);
	/* clip-path: polygon(6px 0, 100% 0, 100% 100%, 0 100%, 0 6px); */
}

.label-tag:hover {
		background-color: #3a3a3a;
		background-color: var(--tag-on);
		color: #ffffff;
		color: var(--white);
	}

@media (max-width: 767px) {

.label-tag {
		padding: 1.6rem 2.4rem;
}
	}

@media (min-width: 768px) {

.label-tag {
		padding: 0.9rem 1.4rem;
		/* display: inline; */
}
	}

@media (max-width: 767px) {
		/* &:first-child {
			margin-top: 5rem;
		} */

		.col-2-item:nth-child(n + 2) {
			margin-top: 16.666vw;
			margin-top: var(--col4);
		}

		.col-3-item:nth-child(n + 2) {
			margin-top: 16.666vw;
			margin-top: var(--col4);
		}
			.home .col-2-item:nth-child(even) {
				margin-top: 16.666vw;
				margin-top: var(--col4);
			}
			.home .col-3-item:nth-child(even) {
				margin-top: 16.666vw;
				margin-top: var(--col4);
			}
	}

@media (min-width: 768px) {

.col-2-item,
.col-3-item {
		/* &:nth-child(odd) {
			margin-bottom: var(--col3);
		} */

		/* .home & {
			&:nth-child(even) {
				margin-top: var(--col3);
			}
		} */
}
	}

/*--------------------
 Pagination
--------------------*/

.pagination {
	position: relative;
	display: grid;
	align-items: center;
	justify-items: center;
	place-items: center;
	margin: 16rem 0 0;
	border-top: 1px solid #2e2e2e;
	border-top: 1px solid var(--black-olive);
	border-bottom: 1px solid #2e2e2e;
	border-bottom: 1px solid var(--black-olive);
}

@media (max-width: 767px) {

.pagination {
		gap: 3rem;
		padding: 8.333vw 0;
		padding: var(--col2) 0;
}
	}

@media (min-width: 768px) {

.pagination {
		gap: 1rem;
		padding: 5rem 2rem;
}
	}

@media (max-width: 767px) {

.pagination-num {
		order: 1;
}
	}

.pagination-num-items {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

/* &:not(.ellipsis) {
		border: 1px solid var(--black-olive);
		border-radius: 50%;
	} */

@media (max-width: 767px) {
		.pagination-num-item.prev,.pagination-num-item.next {
			display: none;
		}
	}

@media (min-width: 768px) {
		.pagination-num-item.prev {
			margin-right: 4rem;
		}

		.pagination-num-item.next {
			margin-left: 4rem;
		}
	}

.pagination-num-link {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	color: var(--white);
	font-size: var(--font-txt-s);
}

@media (max-width: 767px) {

.pagination-num-link {
		width: 8rem;
		height: 8rem;
}
	}

@media (min-width: 768px) {

.pagination-num-link {
		width: 4rem;
		height: 4rem;
}
	}

.pagination-num-item:not(.ellipsis) .pagination-num-link {
		transition: color 0.3s cubic-bezier(0.32, 0.181, 0.3, 1) 0.1s;
		transition: color 0.3s var(--transition_03) 0.1s;
	}

.pagination-num-item:not(.ellipsis) .pagination-num-link.is-current,.pagination-num-item:not(.ellipsis) .pagination-num-link:hover {
			color: #2f2b2b;
			color: var(--black);
		}

.pagination-num-item:not(.ellipsis) .pagination-num-link.is-current::before {
				transform: scale(1);
			}

.pagination-num-item:not(.ellipsis) .pagination-num-link:hover::before {
				transform: scale(1);
			}

.pagination-num-link::before {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		background-color: #ffffff;
		background-color: var(--white);
		content: '';
		transform: scale(0);
		border-radius: 50%;
		transition: transform 0.2s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: transform 0.2s var(--transition_03);
	}

.pagination-a {
	display: flex;
	/* align-items: center; */
	/* justify-content: center; */
	gap: 1rem;
	font-weight: 500;
	line-height: 1;
	height: 1.5rem;
	font-size: var(--font-ttl-s);
	letter-spacing: 0.1rem;
	text-transform: uppercase;
}

@media (max-width: 767px) {

.pagination-a {
		line-height: 10rem;
		/* transform: scale(0.8); */
}
	}

@media (min-width: 768px) {

.pagination-a {
		/* line-height: 4rem; */
}
	}

.pagination-a:hover .pagination-a-icon {
		animation: icon-rotate 2s;
	}

.is-day .pagination-a-icon {
		filter: invert(100%) hue-rotate(180deg);
	}

@media (max-width: 767px) {

.pagination-a-text {
		display: none;
}
	}

.page-current {
	color: #ababab;
	color: var(--light);
	font-size: var(--font-txt-s);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1rem;
	text-transform: uppercase;
}

@media (max-width: 767px) {

.page-current {
		order: 2;
}
	}

@media (min-width: 768px) {

.page-current {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
}
	}

/*--------------------
  Slider
--------------------*/

.crossfade-carousel {
	--swiper-navigation-size: 24px;
	/* Pagination Variables */
	/* --swiper-pagination-bullet-inactive-color: rgba(255, 255, 255, 0.5);
	--swiper-pagination-color: #ffffff;
	--swiper-pagination-bullet-size: 8px;
	--swiper-pagination-bullet-inactive-opacity: 1;
	--swiper-pagination-bullet-horizontal-gap: 6px;
	--swiper-pagination-bottom: 10rem;
	--swiper-pagination-zindex: 10; */

	width: 100%;
	height: 100%;
	overflow: hidden;
}

.crossfade-carousel .crossfade-slider {
		width: 100%;
		height: 100%;
	}

.crossfade-carousel .swiper-slide {
		opacity: 1;
		transition: opacity 0.5s ease-in-out;
		transition: opacity var(--swiper-transition-duration, 0.5s) ease-in-out;
	}

.crossfade-carousel .swiper-slide-active {
		opacity: 1;
	}

.crossfade-carousel .slide-content {
		position: relative;
		width: 100%;
		height: 100%;
	}

.crossfade-carousel .slide-content picture {
			height: 100%;
		}

.crossfade-carousel .slide-content:hover::after {
				opacity: 0;
			}

.crossfade-carousel .slide-content::after {
			position: absolute;
			z-index: 0;
			z-index: var(--z-bg);
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(0, 0, 0, 0.45);
			content: '';
			opacity: 1;
			transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
			transition: opacity 0.38s var(--transition_03);
			will-change: opacity;
		}

.crossfade-carousel .slide-img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
	}

.crossfade-carousel .slider-overlay {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		pointer-events: none;
	}

.crossfade-carousel .card-content {
		position: absolute;
		z-index: 1;
		z-index: var(--z-content);
	}

@media (max-width: 767px) {

.crossfade-carousel .card-content {
			top: 35%;
			left: 50%;
			width: 90%;
			transform: translateX(-50%);
	}
		}

@media (min-width: 768px) {

.crossfade-carousel .card-content {
			top: 40%;
			left: 5%;
	}
		}

.crossfade-carousel .card-content-ttl {
		font-family: 'Noto Serif JP', serif;
		font-family: var(--font-noto-serif);
		font-size: var(--font-ttl-x);
		font-weight: 600;
		color: #ffffff;
		color: var(--white);
		line-height: 1.4;
		text-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.4),
			0 8px 8px rgba(42, 51, 70, 0.4);
	}

@media (max-width: 767px) {

.crossfade-carousel .card-content-ttl {
			font-size: max(20px, min(2rem, 2rem));
	}
		}

.crossfade-carousel .card-content-description {
		margin-top: 4rem;
		font-weight: 500;
		color: #ffffff;
		color: var(--white);
		text-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.4),
			0 8px 8px rgba(42, 51, 70, 0.4);
	}

@media (max-width: 767px) {
			.crossfade-carousel .card-content-description br {
				display: none;
			}
		}

.crossfade-carousel .custom-controls {
		position: absolute;

		display: flex;
		gap: 1rem;
		z-index: 2;
	}

@media (max-width: 767px) {

.crossfade-carousel .custom-controls {
			bottom: 4rem;
			left: 2rem;
			/* left: 50%;
			transform: translateX(-50%); */
	}
		}

@media (min-width: 768px) {

.crossfade-carousel .custom-controls {
			bottom: 4rem;
			right: 4rem;
	}
		}

.crossfade-carousel .control-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: -moz-fit-content;
		width: fit-content;
		padding: 1rem 2rem 1rem 1rem;
		border-radius: 2px;
		background: #ffffff;
		background: var(--white);
		cursor: pointer;
		transition:
			background-color 0.3s ease, transform 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition:
			background-color 0.3s ease, transform 0.38s var(--transition_03);
		will-change: transform;
	}

.crossfade-carousel .control-btn.prev-btn,.crossfade-carousel .control-btn.next-btn {
			display: none;
		}

.crossfade-carousel .control-btn:hover {
		background-color: #e4e0cf;
		background-color: var(--gold-light);
		transform: scale(--btn-scale);
	}

.crossfade-carousel .control-btn--disabled {
		cursor: not-allowed;
		pointer-events: none;
		background-color: #808080;
		background-color: var(--gray);
	}

.crossfade-carousel .control-btn svg {
		width: var(--swiper-navigation-size);
		height: var(--swiper-navigation-size);
		color: #2f2b2b;
		color: var(--black);
	}

.crossfade-carousel .start-btn {
		cursor: pointer;
	}

.crossfade-carousel .play-btn,.crossfade-carousel .pause-btn {
		display: flex;
		align-items: center;
		gap: 0.4rem;
		cursor: pointer;
	}

.crossfade-carousel .play-btn-text,.crossfade-carousel .pause-btn-text {
		font-size: var(--font-txt-s);
		text-transform: uppercase;
		color: #2f2b2b;
		color: var(--black);
	}

.crossfade-carousel .-hidden {
		display: none;
	}

.crossfade-carousel .swiper-pagination {
		position: absolute;
		left: 4rem;
		z-index: 2;
		display: flex;
		gap: 0.4rem;
	}

@media (max-width: 767px) {

.crossfade-carousel .swiper-pagination {
			bottom: 2rem;
	}
		}

@media (min-width: 768px) {

.crossfade-carousel .swiper-pagination {
			bottom: 4rem;
	}
		}

/* Character wrapper */

.crossfade-carousel .char {
		display: inline-block;
		opacity: 0;
		will-change: opacity;
	}

/* Space character needs special handling */

.crossfade-carousel .char.space {
		width: 0.25em;
	}

/* Adjust Japanese text spacing */

.crossfade-carousel html:lang(ja) .char {
		/* No extra letter-spacing for Japanese */
		letter-spacing: 0;
	}

/*--------------------
  News Carousel
--------------------*/

.news-carousel .carousel-container {
		display: flex;
		flex-direction: column;
	}

@media (max-width: 767px) {

.news-carousel .carousel-container {
			position: static;
			width: calc(90% * 1.5);
			width: calc(var(--content-width-sp) * 1.5);
	}
		}

@media (min-width: 768px) {

.news-carousel .carousel-container {
			width: 100%;
	}
		}

.news-carousel .swiper {
		width: 100%;
	}

@media (max-width: 767px) {

.news-carousel .swiper {
			padding: 0 5%;
	}
		}

@media (max-width: 767px) {

.news-carousel .swiper-wrapper {
			padding-left: 12%;
	}
		}

@media (min-width: 768px) {

.news-carousel .swiper-wrapper {
			width: 100%;
			margin: 0 auto;
			padding-left: 2%;
	}
		}

.news-carousel .swiper-slide {
	}

.news-carousel .card {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 2rem;
		width: 100%;
		padding: 2rem;
		-webkit-text-decoration: none;
		text-decoration: none;
		border: solid 1px transparent;
		color: inherit;
		transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.38s var(--transition_03);
		cursor: pointer;
	}

.news-carousel .card:hover {
			border: solid 1px #7d7654;
			border: solid 1px var(--gold);
			/* opacity: var(--hover-oacity); */
		}

.news-carousel .card.swiper-slide-active {
			border: solid 1px #7d7654;
			border: solid 1px var(--gold);
		}

.news-carousel .card-img {
		height: auto;
		aspect-ratio: 315/200;
		-o-object-fit: fill;
		   object-fit: fill;
	}

.news-carousel .card-title {
		font-size: var(--font-txt-m);
		font-weight: 400;
		line-height: 1.4;
	}

.news-carousel .custom-controls {
		position: relative;
		display: flex;
		gap: 1rem;
		z-index: 3;
	}

@media (max-width: 767px) {

.news-carousel .custom-controls {
			margin: 4rem auto 0;
	}
		}

@media (min-width: 768px) {

.news-carousel .custom-controls {
			justify-content: center;
			margin: 4rem 4rem 0 auto;
	}
		}

.news-carousel .control-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: max(48px, min(4.8rem, 54px));
		width: var(--btn-size);
		height: max(48px, min(4.8rem, 54px));
		height: var(--btn-size);
		border-radius: 50%;
		background: #7d7654;
		background: var(--gold);
		cursor: pointer;
		transition:
			opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), transform 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition:
			opacity 0.38s var(--transition_03), transform 0.38s var(--transition_03);
		will-change: opacity, transform;
		cursor: pointer;
	}

.news-carousel .control-btn:hover {
			opacity: 0.9;
			opacity: var(--hover-oacity);
			transform: scale(1.05);
			transform: scale(var(--btn-scale));
		}

.news-carousel .icn-control-image.-prev,.news-carousel .icn-control-image.-next {
			width: 9px;
			height: 14px;
		}

.news-carousel .icn-control-image.-play {
			width: 11px;
			height: 14px;
		}

.news-carousel .icn-control-image.-pause {
			width: 8px;
			height: 13px;
		}

.news-carousel .icn-control-image.-hidden {
			display: none;
		}

/*--------------------
  Events Carousel
--------------------*/

.events-carousel .carousel-container {
		display: flex;
		flex-direction: column;
	}

@media (max-width: 767px) {

.events-carousel .carousel-container {
			position: static;
			width: calc(90% * 1.5);
			width: calc(var(--content-width-sp) * 1.5);
	}
		}

@media (min-width: 768px) {

.events-carousel .carousel-container {
			width: 130rem;
			width: var(--content-width);
	}
		}

.events-carousel .swiper {
		width: 100%;
	}

@media (max-width: 767px) {

.events-carousel .swiper-wrapper {
			padding-left: 17%;
	}
		}

.events-carousel .swiper-slide.card {
		box-sizing: border-box;
		display: flex;
		align-self: stretch;
		flex-direction: column;
		gap: 1rem;
		height: auto;
		margin-bottom: 1rem;
		background-color: #ffffff;
		background-color: var(--white);
		border: solid 1px #ffffff;
		border: solid 1px var(--white);
		border-radius: 4px;
		transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.38s var(--transition_03);
		cursor: pointer;
		box-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.02),
			0 8px 8px rgba(42, 51, 70, 0.02);
	}

.events-carousel .swiper-slide.card:hover {
			border: solid 1px #7d7654;
			border: solid 1px var(--gold);
			/* opacity: var(--hover-oacity); */
		}

.events-carousel .swiper-slide.card.swiper-slide-active {
			border: solid 1px #7d7654;
			border: solid 1px var(--gold);
			/* background-color: var(--gray-light); */
		}

.events-carousel .card-content {
		position: relative;
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 2rem;
		padding: 2rem 2rem 3rem;
	}

.events-carousel .card-img {
		height: auto;
		aspect-ratio: 315/200;
		-o-object-fit: fill;
		   object-fit: fill;
		border-radius: 4px 4px 0 0;
	}

.events-carousel .card-title {
		order: 2;
		font-size: var(--font-txt-m);
		font-weight: 500;
		line-height: 1.4;
	}

.events-carousel .card-description {
		order: 3;
		font-size: var(--font-txt-m);
		font-weight: 400;
		line-height: 1.4;
	}

.events-carousel .card-tag {
		order: 1;
		align-self: flex-start;
	}

.events-carousel .card-time {
		order: 4;
		margin-top: auto;
		color: #808080;
		color: var(--gray);
		font-size: var(--font-txt-s);
	}

.events-carousel .card-link-more {
		order: 5;
		margin-top: 1rem;
		margin-left: auto;
		padding-right: 48px;
		position: relative;
		font-weight: 400;
	}

.events-carousel .card-link-more::before {
			top: 50%;
			content: '';
			transform: translateY(-50%);
			background-repeat: no-repeat;
		}

.events-carousel .card-link-more.-arrow-circle::before {
				position: absolute;
				right: 0;
				width: 38px;
				height: 38px;
				background-image: url('../img/shared/icn-link-arrow.svg');
				background-size: 38px 38px;
			}

.events-carousel .custom-controls {
		position: relative;
		display: flex;
		gap: 1rem;
		z-index: 3;
	}

@media (max-width: 767px) {

.events-carousel .custom-controls {
			margin: 3rem auto 0;
	}
		}

@media (min-width: 768px) {

.events-carousel .custom-controls {
			margin-top: 4rem;
	}
		}

.events-carousel .control-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: max(48px, min(4.8rem, 54px));
		width: var(--btn-size);
		height: max(48px, min(4.8rem, 54px));
		height: var(--btn-size);
		border-radius: 50%;
		background: #7d7654;
		background: var(--gold);
		cursor: pointer;
		transition:
			opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), transform 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition:
			opacity 0.38s var(--transition_03), transform 0.38s var(--transition_03);
		will-change: opacity, transform;
		cursor: pointer;
	}

.events-carousel .control-btn:hover {
			opacity: 0.9;
			opacity: var(--hover-oacity);
			transform: scale(1.05);
			transform: scale(var(--btn-scale));
		}

.events-carousel .icn-control-image.-prev,.events-carousel .icn-control-image.-next {
			width: 9px;
			height: 14px;
		}

.events-carousel .icn-control-image.-play {
			width: 11px;
			height: 14px;
		}

.events-carousel .icn-control-image.-pause {
			width: 8px;
			height: 13px;
		}

.events-carousel .icn-control-image.-hidden {
			display: none;
		}

@media (max-width: 767px) {

.english .crossfade-carousel .card-content {
				top: 20%;
		}
			}

@media (min-width: 768px) {

.english .crossfade-carousel .card-content {
				top: 30%;
		}
			}

@media (min-width: 768px) {

.english .card-content-description {
			width: 40%;
	}
		}

/*--------------------
  Hero
--------------------*/

.hero {
	width: 100%;
	height: 100vh;
}

.hero-title {
	position: relative;
	z-index: 3;
	z-index: var(--z-title);
	color: #fff;
	font-size: var(--font-ttl-l);
	font-weight: 700;
}

.hero-kv-img {
	/* width: 100%; */
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.hero-bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	z-index: var(--z-bg);
}

@media (min-width: 768px) {

.scroll-indicator {
		position: absolute;
		z-index: 3;
		z-index: var(--z-title);
		bottom: 4rem;
		left: 50%;
		min-width: 80vw;
		padding: 3rem 0 4rem;
		font-family: 'Public Sans', sans-serif;
		font-family: var(--font-public);
		font-size: var(--font-ttl-xxs);
		font-weight: 600;
		color: #ffffff;
		color: var(--white);
		text-transform: uppercase;
		transform: translateX(-50%);
		cursor: pointer;
		text-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.4),
			0 8px 8px rgba(42, 51, 70, 0.4);
}

		.scroll-indicator::before {
			position: absolute;
			bottom: 0;
			left: 50%;
			width: 16px;
			height: 24px;
			transform: translateX(-50%);
			background-repeat: no-repeat;
			content: '';
			background-image: url('../img/shared/icn-mouse.svg');
			background-size: 16px 24px;
		}
	}

/*--------------------
  News
--------------------*/

@media (max-width: 767px) {

.news-carousel {
		display: flex;
		justify-content: center;
		width: 100%;
		margin: 6rem auto 0;
		overflow: hidden;
}
	}

@media (min-width: 768px) {

.news-carousel {
		width: 100%;
		margin-top: 10rem;
}
	}

.news {
	background-color: #ffffff;
	background-color: var(--white);
	border-radius: 4px;
}

@media (max-width: 767px) {

.news {
		width: 90%;
		width: var(--content-width-sp);
		margin: 6rem auto 0;
		padding: 9rem 2.4rem;
}
	}

@media (min-width: 768px) {

.news {
		margin: 12rem auto 0;
		padding: 10rem 6rem;
		width: 130rem;
		width: var(--content-width);
}
	}

.whats-new {
}

.important-news {
	background-color: #f8f8f8;
	background-color: var(--gray-light);
}

@media (max-width: 767px) {

.important-news {
		margin-top: 6rem;
		padding: 4rem 2rem;
}
	}

@media (min-width: 768px) {

.important-news {
		margin-top: 12rem;
		padding: 10rem 6rem;
}
	}

.icn-info {
	display: block;
}

@media (max-width: 767px) {

.icn-info {
		margin-right: 0.4rem;
}
	}

@media (min-width: 768px) {

.icn-info {
		margin-right: 1rem;
}
	}

.icn-info-img {
	-o-object-fit: contain;
	   object-fit: contain;
}

.news-header {
	display: flex;
}

.p-sub__article .news-header{
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

@media (max-width: 767px) {

.news-header {
		flex-direction: column;
		gap: 3rem;
}
.p-sub__article .news-header .section-link{
    	min-width: max(100px, min(10rem, 10rem));
		padding: 0 3rem 0 1rem;
}

.p-sub__article .news-header .section-link.-arrow::before{
		right: 1.5rem;
}
	}

@media (min-width: 768px) {

.news-header {
		align-items: center;
		justify-content: space-between;
}
.p-sub__article .news-header .section-title .ja{
	font-size: 26px;
}
	}

.important-news-title {
	font-family: 'Noto Serif JP', serif;
	font-family: var(--font-noto-serif);
	font-size: var(--font-ttl-s);
	font-weight: 600;
}

@media (max-width: 767px) {

.important-news-title {
		order: 1;
}
	}

.important-news-text {
	position: relative;
	display: flex;
	align-items: center;
	font-size: var(--font-txt-s);
}

.important-news-text::after {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		border-bottom: 1px dotted #2f2b2b;
		border-bottom: 1px dotted var(--black);
		content: '';
	}

@media (max-width: 767px) {

.important-news-text {
		order: 3;
}
	}

@media (min-width: 768px) {

.important-news-text {
		margin-left: 2rem;
}
	}

@media (max-width: 767px) {

.important-news-link {
		order: 2;
}
	}

@media (min-width: 768px) {

.important-news-link {
		margin-left: auto;
}
	}

.news-list {
	margin-top: 4rem;
}

.news-item {
	border-bottom: 1px solid #e6e6e6;
	border-bottom: 1px solid var(--gray-line);
	padding: 2rem 0;
}

.news-item-link {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: max(12px, min(1.4rem, 1.4rem));
	transition: color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: color 0.38s var(--transition_03);
	will-change: transform;
}

a.news-item-link {
	cursor: pointer;
}

.news:not(.-top) .news-item-link:hover {
			color: #7d7654;
			color: var(--gold);
		}

.news:not(.-top) .news-item-link:hover::after {
				transform: scaleX(1);
			}

@media (max-width: 767px) {

a.news-item-link .news-text{
    color: #7d7654;
    color: var(--gold);
    text-decoration: underline;
}
	}

@media (min-width: 768px) {
		a.news-item-link::before {
			top: 50%;
			right: 0;
			width: 40px;
			height: 39px;
			content: '';
			transform: translateY(-50%);
			background-repeat: no-repeat;
			padding-right: 4rem;
			position: absolute;
			background-image: url('../img/shared/icn-link-arrow.svg');
			background-size: 40px 39px;
		}

		.news-item-link::after {
			position: absolute;
			bottom: -2rem;
			left: 0;
			width: 100%;
			height: 1px;
			content: '';
			background-color: #7d7654;
			background-color: var(--gold);
			transform-origin: left;
			transform: scaleX(0);
			transition: transform 0.68s cubic-bezier(0.32, 0.181, 0.3, 1);
			transition: transform 0.68s var(--transition_03);
			will-change: transform;
		}
	}

.news-item-info {
	display: flex;
	align-items: center;
}

@media (max-width: 767px) {

.news-item-info {
		flex-wrap: wrap;
		gap: 1rem 0.4rem;
}
	}

@media (min-width: 768px) {

.news-item-info {
		gap: 1rem;
}
	}

@media (min-width: 768px) {

.news-text {
		padding-right: 8rem;
}
	}

.news-date {
	font-weight: 500;
	line-height: 1;
}

@media (max-width: 767px) {

.news-date {
		width: 100%;
		margin-right: 1rem;
}
	}

@media (min-width: 768px) {

.news-date {
		margin-right: 1rem;
}
	}

.news-tag {
	display: inline-flex;
	border-radius: 9999px;
	margin-right: 5px;
	font-size: var(--font-txt-s);
	/* font-weight: 500; */
}

.news-tag.-new {
		border: solid 1px #2f2b2b;
		border: solid 1px var(--black);
	}

.news-tag.-category {
		background: #e4e0cf;
		background: var(--gold-light);
	}

.news-tag.-hash {
		background: #e8e8e8;
		background: var(--gray-tag);
	}

@media (max-width: 767px) {

.news-tag {
		padding: 0.4rem 2rem;
}
	}

@media (min-width: 768px) {

.news-tag {
		padding: 0.2rem 1.6rem;
}
	}

/*--------------------
  Events
--------------------*/

.events {
	display: flex;
}

@media (max-width: 767px) {

.events {
		flex-direction: column;
		gap: 4rem;
}
	}

@media (min-width: 768px) {

.events {
		justify-content: space-between;
		gap: 14rem;
		margin-top: 12rem;
}
	}

@media (max-width: 767px) {

.events-header {
		display: flex;
		justify-content: space-between;
		width: 90%;
		width: var(--content-width-sp);
		margin: 6rem auto 0;
}
	}

@media (min-width: 768px) {

.events-header {
		width: 48rem;
		margin-left: calc((100% - 130rem) / 2);
		margin-left: calc((100% - var(--content-width)) / 2);
		padding-left: 6rem;
		white-space: nowrap;
}
	}

.events-carousel {
	width: 100%;
	/* overflow-x: hidden; */
}

@media (max-width: 767px) {

.events-carousel {
		display: flex;
		justify-content: center;
}
	}

@media (min-width: 768px) {

.events-link {
		margin-top: 6rem;
}
	}

/*--------------------
  Topics
--------------------*/

.topics {
	background-color: #ffffff;
	background-color: var(--white);
}

@media (max-width: 767px) {

.topics {
		margin-top: 6rem;
		padding: 6rem 0;
}
	}

@media (min-width: 768px) {

.topics {
		margin-top: 12rem;
		padding: 12rem 0;
}
	}

.topics-wrap {
	margin: 0 auto;
}

@media (max-width: 767px) {

.topics-wrap {
}
	}

@media (min-width: 768px) {

.topics-wrap {
		width: 130rem;
		width: var(--content-width);
}
	}

.topics-header {
	display: flex;
}

@media (max-width: 767px) {

.topics-header {
		flex-direction: column;
		gap: 3rem;
		width: 90%;
		width: var(--content-width-sp);
		margin: 0 auto;
}
	}

@media (min-width: 768px) {

.topics-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
}
	}

.topics-filters {
	display: flex;
	padding: 3rem;
	background-color: #f2f2f2;
	background-color: var(--gray-bg);
}

@media (max-width: 767px) {

.topics-filters {
		flex-direction: column;
}
	}

@media (min-width: 768px) {

.topics-filters {
		display: flex;
		align-items: center;
}
	}

.filter-label {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	line-height: 1;
}

.icn-check {
	display: block;
}

.icn-check {
	margin-right: 0.4rem;
}

.topics-categories {
	display: flex;
}

@media (max-width: 767px) {

.topics-categories {
		flex-wrap: wrap;
		gap: 1rem;
}
	}

@media (min-width: 768px) {

.topics-categories {
		gap: 2rem;
}
	}

.category-btn {
	flex-shrink: 0;
	padding: 1rem 2rem;
	background-color: #e4e0cf;
	background-color: var(--gold-light);
	border-radius: 9999px;
	color: #7d7654;
	color: var(--gold);
	font-size: var(--font-txt-s);
	font-weight: 500;
	transition:
		opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), background-color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition:
		opacity 0.38s var(--transition_03), background-color 0.38s var(--transition_03), color 0.38s var(--transition_03);
	cursor: pointer;
}

.category-btn:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
		background-color: #7d7654;
		background-color: var(--gold);
		color: #ffffff;
		color: var(--white);
	}

.category-btn.-active {
		background-color: #7d7654;
		background-color: var(--gold);
		color: #ffffff;
		color: var(--white);
	}

.topics-list {
	display: grid;
}

@media (max-width: 767px) {

.topics-list {
		/* grid-template-columns: 1fr; */
		grid-template-columns: repeat(1, 1fr);
		width: 90%;
		width: var(--content-width-sp);
		margin: 4rem auto 0;
		gap: 2rem;
}
	}

@media (min-width: 768px) {

.topics-list {
		grid-template-columns: repeat(3, 1fr);
		margin-top: 8rem;
		gap: 4rem;
}
	}

.topic-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: #f8f8f8;
	background-color: var(--gray-light);
	border: 1px solid #cccccc;
	border: 1px solid var(--gray-line2);
	border-radius: 4px;
	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.38s var(--transition_03);
}

.topic-card:hover {
		opacity: 0.9;
		border: 1px solid #7d7654;
		border: 1px solid var(--gold);
	}

@media (max-width: 767px) {

.topic-card {
		gap: 2rem;
		padding: 2rem 2rem 0.5rem;
}
	}

@media (min-width: 768px) {

.topic-card {
		gap: 2rem;
		padding: 4rem 4rem 3rem;
}
	}

.card-link {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (max-width: 767px) {

.card-link {
		width: 90%;
		width: var(--content-width-sp);
}
	}

@media (min-width: 768px) {

.card-link {
}
	}

.card-link-text {
	display: none;
}

.topic-card.hidden {
	display: none;
}

.topic-image {
	height: auto;
	aspect-ratio: 3/2;
}

.topic-card-magazine .topic-image {
	object-position: top;
}

.topic-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	/* justify-content: flex-start; */
}

@media (max-width: 767px) {

.topic-content {
		gap: 1rem;
}
	}

@media (min-width: 768px) {

.topic-content {
		gap: 2rem;
}
	}

.topic-title {
	font-family: 'Noto Sans JP', sans-serif;
	font-family: var(--font-noto-sans);
	font-size: var(--font-ttl-xs);
	font-weight: 700;
}

@media (max-width: 767px) {

.topic-title {
		margin-top: 0.4rem;
		line-height: 1.4em;
}
	}

@media (min-width: 768px) {

.topic-title {
		margin-top: 1rem;
}
	}

.topic-description {
}

.topic-btn {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	/* justify-content: center; */
	/* min-width: 10rem; */
	min-height: 4rem;
	margin-top: 2rem;
	background-color: #7d7654;
	background-color: var(--gold);
	border-radius: 9999px;
	color: #ffffff;
	color: var(--white);
	font-size: var(--font-txt-s);
	font-weight: 500;
	transition:
		opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), transform 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition:
		opacity 0.38s var(--transition_03), transform 0.38s var(--transition_03);
	will-change: opacity, transform;
}

@media (max-width: 767px) {

.topic-btn {
		padding: 0 4rem 0 2rem;
}
	}

@media (min-width: 768px) {

.topic-btn {
		padding: 0 6rem 0 3rem;
}
	}

.topic-btn:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
		transform: scale(1.05);
		transform: scale(var(--btn-scale));
	}

.topic-btn:hover::before {
			animation: slideInV 0.88s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
			animation: slideInV 0.88s var(--transition_03) forwards;
		}

.topic-btn::before {
		top: 50%;
		content: '';
		transform: translateY(-50%);
		background-repeat: no-repeat;
	}

.topic-btn.-pdf {
		background-color: #7d7654;
		background-color: var(--gold);
	}

.topic-btn.-pdf::before {
			position: absolute;
			right: 0;
			width: 14px;
			height: 14px;
			background-image: url('../img/shared/icn-file-download.svg');
			background-size: 14px 14px;
		}

@media (max-width: 767px) {

.topic-btn.-pdf::before {
				padding-right: 3rem;
		}
			}

@media (min-width: 768px) {

.topic-btn.-pdf::before {
				padding-right: 4rem;
		}
			}

.topic-link {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: auto;
	margin-left: auto;
	font-weight: 500;
	color: #7d7654;
	color: var(--gold);
	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.38s var(--transition_03);
}

.topic-link:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
	}

.topic-link::before {
		top: 50%;
		content: '';
		transform: translateY(-50%);
		background-repeat: no-repeat;
	}

.topic-link.-arrow-circle::before {
			position: absolute;
			right: 0;
			width: 38px;
			height: 38px;
			background-image: url('../img/shared/icn-link-arrow.svg');
			background-size: 38px 38px;
		}

@media (max-width: 767px) {

.topic-link {
		padding: 2rem 48px 2rem 0rem;
}
	}

@media (min-width: 768px) {

.topic-link {
		padding: 1rem 48px 1rem 3rem;
}
	}

/*--------------------
  About
--------------------*/

.about {
	background-color: #f2f2f2;
	background-color: var(--gray-bg);
	border-radius: max(18px, min(1.8rem, 1.8rem));
}

@media (max-width: 767px) {

.about {
		padding: 6rem 0;
}
	}

@media (min-width: 768px) {

.about {
		padding: 12rem 0 14rem;
}
	}

.about-card {
	position: relative;
	margin: 0 auto;
}

.about-card.-reverse {
		flex-direction: row;
	}

@media (max-width: 767px) {

.about-card {
		width: 90%;
		width: var(--content-width-sp);
}

		.about-card:nth-child(n + 2) {
			margin-top: 4rem;
		}
	}

@media (min-width: 768px) {

.about-card {
		display: flex;
		align-items: center;
		flex-direction: row-reverse;
		width: 130rem;
		width: var(--content-width);
}

		.about-card:nth-child(n + 2) {
			margin-top: 10rem;
		}
	}

.about-card.-reverse .about-media {
		right: 0;
		left: auto;
	}

@media (max-width: 767px) {

.about-media {
}
	}

@media (min-width: 768px) {

.about-media {
		position: absolute;
		z-index: 0;
		z-index: var(--z-bg);
		top: 0;
		left: 0;
		width: 80%;
		height: calc(100% - 12rem);
}
	}

.about-image {
	height: auto;
	border-radius: 4px;
}

.about-caption {
	display: inline-flex;
	flex-direction: column;
	align-self: start;
	gap: 1rem;
	position: absolute;
	bottom: 8rem;
	display: flex;
	flex-direction: column;
}

.about-card .about-caption {
		left: 8rem;
	}

.about-card.-reverse .about-caption {
		right: 8rem;
		left: auto;
	}

.caption-text {
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.4rem 1rem;
	font-size: var(--font-ttl-xs);
	font-weight: 500;
}

.caption-text:nth-child(odd) {
		background-color: #ffffff;
		background-color: var(--white);
	}

.caption-text:nth-child(even) {
		background-color: #e4e0cf;
		background-color: var(--gold-light);
	}

.about-content {
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	background-color: #ffffff;
	background-color: var(--white);
	border-radius: 4px 4px 80px 4px;
	box-shadow:
		/* 0 2px 2px rgba(42, 51, 70, 0.1), */
		0 4px 4px rgba(42, 51, 70, 0.02),
		0 8px 8px rgba(42, 51, 70, 0.02);
}

.about-content.-reverse {
	}

@media (max-width: 767px) {

.about-content {
		gap: 2rem;
		padding: 3rem;
}
	}

@media (min-width: 768px) {

.about-content {
		gap: 4rem;
		margin-top: 12rem;
		width: 45%;
		padding: 6rem;
}
	}

.about-title {
	font-family: 'Noto Serif JP', serif;
	font-family: var(--font-noto-serif);
	font-size: var(--font-ttl-l);
	font-weight: 600;
	line-height: 1.2;
}

.about-link {
	position: relative;
	display: flex;
	align-items: center;
	position: relative;
	max-width: -moz-fit-content;
	max-width: fit-content;
	min-height: max(48px, min(4.8rem, 54px));
	min-height: var(--btn-size);
	padding: 0 2rem 0 5.4rem;
	background-color: #7d7654;
	background-color: var(--gold);
	color: #ffffff;
	color: var(--white);
	border-radius: 9999px;
	font-weight: 500;
	line-height: 1.2;
	transition: opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition: opacity 0.38s var(--transition_03);
}

.about-link:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
	}

.about-link::before {
		position: absolute;
		top: 50%;
		content: '';
		transform: translateY(-50%);
		background-repeat: no-repeat;
	}

.about-link.-book::before {
			left: 2rem;
			width: 20px;
			height: 18px;
			background-image: url('../img/shared/icn-tag-book.svg');
			background-size: 20px 18px;
		}

.about-link:hover {
	background-color: #675f46;
}

.icn-book {
	margin-right: 8px;
	display: inline-block;
}

/*--------------------
  Section
--------------------*/

.section-title .en {
		display: block;
		font-family: 'Public Sans', sans-serif;
		font-family: var(--font-public);
		font-size: var(--font-ttl-xxs);
		font-weight: 600;
		text-transform: uppercase;
	}

.section-title .ja {
		font-family: 'Noto Serif JP', serif;
		font-family: var(--font-noto-serif);
		font-size: var(--font-ttl-m);
		font-weight: 600;
	}

.section-link {
	position: relative;
	display: inline-flex!important;
	align-items: center;
	align-self: flex-start;
	justify-content: center;
	position: relative;
	min-width: max(200px, min(14rem, 14rem));
	min-height: max(48px, min(4.8rem, 54px));
	min-height: var(--btn-size);
	padding: 0 6rem 0 3rem;
	background-color: #7d7654;
	background-color: var(--gold);
	color: #ffffff!important;
	color: var(--white)!important;
	text-decoration: none!important;
	border-radius: 9999px;
	font-size: var(--font-link);
	font-weight: 500;
	line-height: 1.2;
	transition:
		opacity 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), transform 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
	transition:
		opacity 0.38s var(--transition_03), transform 0.38s var(--transition_03);
	will-change: opacity, transform;
}

.section-link:hover {
		opacity: 0.9;
		opacity: var(--hover-oacity);
		transform: scale(1.05);
		transform: scale(var(--btn-scale));
	}

.section-link:hover::before {
			animation: slideInH 0.88s cubic-bezier(0.32, 0.181, 0.3, 1) forwards;
			animation: slideInH 0.88s var(--transition_03) forwards;
		}

.section-link::before {
		content: '';
		position: absolute;
		top: 50%;
		background-repeat: no-repeat;
		transform: translateY(-50%);
		opacity: 1;
	}

.section-link.-arrow::before {
			right: 3rem;
			width: 11px;
			height: 9px;
			background-image: url('../img/shared/icn-btn-arrow.svg');
			background-size: 11px 9px;
		}

.section-link.-list::before {
			right: 3rem;
			width: 16px;
			height: 10px;
			background-image: url('../img/shared/icn-btn-list.svg');
			background-size: 16px 10px;
		}

@keyframes slideInBtn {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	30% {
		opacity: 0;
		transform: translateY(3px);
	}
	50% {
		transform: translateY(-3px);
		opacity: 0;
	}
	100% {
		/* transform: translate(0, -50%); */
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes slideInV {
	0% {
		opacity: 1;
		transform: translateY(-50%);
	}
	30% {
		opacity: 0;
		transform: translateY(-30%);
	}
	50% {
		/* transform: translate(-10px, -50%); */
		transform: translateY(-70%);
		opacity: 0;
	}
	100% {
		/* transform: translate(0, -50%); */
		transform: translateY(-50%);
		opacity: 1;
	}
}

@keyframes slideInH {
	0% {
		opacity: 1;
		transform: translate(0, -50%);
	}
	30% {
		opacity: 0;
		transform: translate(10px, -50%);
	}
	50% {
		transform: translate(-10px, -50%);
		opacity: 0;
	}
	100% {
		transform: translate(0, -50%);
		opacity: 1;
	}
}

/*--------------------
 KV
--------------------*/

.kv {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	z-index: var(--z-kv);
	width: 100%;
}

@media (max-width: 767px) {

.kv {
		height: 100svh;
}
	}

@media (min-width: 768px) {

.kv {
		height: 100vh;
}
	}

.kv-title {
	font-size: var(--font-ttl-l);
}

/*--------------------
  Preloader
--------------------*/

/*--------------------
  Marquee
--------------------*/

/* .marquee {
	position: relative;
	overflow: hidden;
	user-select: none;
}

.marquee-wrapper {
	width: 100%;
	height: 100%;
	user-select: none;
}

.marquee-item {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	will-change: transform;
	white-space: nowrap;
	user-select: none;
	padding-right: 7%;
	white-space: nowrap;
} */

/*--------------------
  Hide animation elems
--------------------*/

.transition-wrap {
	position: relative;
	z-index: 1;
	z-index: var(--z-content);
	width: 100%;
	/* overflow: hidden; */
	/* For Page Transition */
	/* visibility: hidden; */
	/* For sticky footer */
	will-change: transform;
}

.transition-cont {
	width: 100%;
	will-change: transform;
}

.transition-wipe,
.footer-wipe {
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #1b1b1b;
	background-color: var(--ash);
	opacity: 0.7;
	will-change: opacity;
	transform: translateX(-100%);
}

.preloader__title,
.loading,
.nav__menu-a,
[data-animation='fade-in'],
[data-animation='slide-in'] {
	opacity: 0;
	visibility: hidden;
}

[data-animation='fade-in'] {
	will-change: opacity;
}

[data-animation='slide-in'] {
	will-change: opacity, transform;
}

[data-animation='split-in'] {
	will-change: transform;
}

[data-animation='split-in'] {
	overflow: hidden;
}

/*--------------------
  Hover
--------------------*/

.hover-rotate {
	/* display: inline-flex; */
	overflow: hidden;
}

.hover-rotate .hover-rotate-wrap {
		display: flex;
		justify-content: flex-start;
		flex-direction: column;
		transition: transform 0.88s cubic-bezier(0.2, 1, 0.24, 1);
		transition: transform 0.88s var(--smooth-ease);
		will-change: transform;
	}

.hover-rotate .hover-rotate-text {
		line-height: 1;
		color: #ffffff;
		color: var(--white);
	}

@media (orientation: landscape) and (max-width: 844px) {

.hover-rotate .hover-rotate-text {
			line-height: 1.2;
	}
		}

.hover-rotate:hover .hover-rotate-wrap {
			transform: translateY(-100%);
			transition: transform 0.58s cubic-bezier(0.2, 1, 0.24, 1);
			transition: transform 0.58s var(--smooth-ease);
		}

/*--------------------
  Navigation
--------------------*/

@keyframes line {
	0% {
		transform: translateX(0);
	}
	30% {
		transform: translateX(100%);
	}
	31% {
		visibility: none;
		transform: translateX(-200%);
	}
	32% {
		visibility: visible;
	}
	100% {
		transform: translateX(0);
	}
}

@keyframes hover-link-leave {
	0% {
		transform: translate(-50%, 0);
	}
	100% {
		transform: translate(-50%, -100%);
	}
}

@keyframes hover-mask-wrapper {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(0);
	}
}

@keyframes hover-mask {
	0% {
		transform: translateX(-100%) scale(1);
	}
	100% {
		transform: translateX(0) scale(1);
	}
}

@keyframes slider-mask-wrapper {
	0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(0);
	}
}

@keyframes slider-mask {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(0);
	}
}

@keyframes hover-wipe {
	0% {
		transform: translateX(-100%);
	}
	30% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(100%);
	}
}

@keyframes icon-rotate {
	0% {
		transform: rotateX(0deg) translateX(0);
	}
	50%,
	100% {
		transform: rotateX(-180deg) translateX(0);
	}
}

/*--------------------
  Nav
--------------------*/

body.members {
		background-color: #ffffff;
		background-color: var(--white);
	}

/*--------------------
  Menu
--------------------*/

@media (min-width: 768px) {

.members .nav-menu {
			box-shadow: none;
	}
		}

.members .header-label {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 0;
		left: calc((0 * 2) + 1.6rem);
		left: calc(calc(0 * 2) + 1.6rem);
		left: calc(var(--grid-gap) + 1.6rem);
		min-width: 105px;
		min-height: 40px;
		border-radius: 0 0 4px 4px;
		background-color: #7d7654;
		background-color: var(--gold);
		color: #ffffff;
		color: var(--white);
		font-size: var(--font-txt-xxs);
		font-weight: 600;
	}

.members .header-action.-profile {
			width: 48px;
			height: 48px;
			padding: 0;
			border-radious: 100%;
			overflow: hidden;
			cursor: pointer;
		}

@media (max-width: 375px) {

.members .header-action.-profile {
				width: 38px;
				height: 38px;
		}
			}

.members .-profile .header-action-text {
			display: none;
		}

.members .icon.-profile {
			width: 100%;
			height: 100%;
		}

.members .nav-top {
		background-color: #f1f1f1;
		background-color: var(--gray-nav-bg);
	}

.members .nav-page {
		position: fixed;
		z-index: 12;
		z-index: var(--z-header);
		/* top: 0; */
		background-color: #e4e0cf;
		background-color: var(--gold-light);
		border: 1px solid #7d7654;
		border: 1px solid var(--gold);
		border-radius: 0.4rem;
		opacity: 1;
		font-size: var(--font-txt-xs);
		font-weight: 500;
		box-shadow:
			0 4px 4px rgba(42, 51, 70, 0.1),
			0 8px 8px rgba(42, 51, 70, 0.02),
			0 12px 12px rgba(42, 51, 70, 0.02);
		transition: opacity 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: opacity 0.48s var(--transition_03);
		will-change: opacity;
	}

@media (max-width: 767px) {

.members .nav-page {
			left: max(16px, min(1.6rem, 1.6rem));
			left: var(--grid-gap-sp);
			bottom: max(16px, min(1.6rem, 1.6rem));
			bottom: var(--grid-gap-sp);
			padding: 2rem;
	}
		}

@media (min-width: 768px) {

.members .nav-page {
			left: calc((0 * 2) + 1.6rem);
			left: calc(calc(0 * 2) + 1.6rem);
			left: calc(var(--grid-gap) + 1.6rem);
			bottom: calc(0 * 2);
			bottom: var(--grid-gap);
			padding: 3rem;
	}
		}

.members .nav-page.-inactive {
			opacity: 0;
			pointer-events: none;
		}

.members .nav-page-item:nth-child(n + 2) {
			margin-top: 1.4rem;
		}

.members .nav-page-link {
		line-height: 1;
		transition: color 0.48s cubic-bezier(0.32, 0.181, 0.3, 1);
		transition: color 0.48s var(--transition_03);
	}

.members .nav-page-link:hover {
			color: #7d7654;
			color: var(--gold);
		}

/*--------------------
  News
--------------------*/

.members .news {
		padding: 0;
	}

.members .news.-top {
			position: relative;
			display: grid;
			grid-gap: calc(0 * 2);
			grid-gap: var(--grid-gap);
			gap: calc(0 * 2);
			gap: var(--grid-gap);
			align-items: stretch;
			width: 100%;
		}

@media (max-width: 767px) {

.members .news.-top {
				flex-direction: column;
				gap: 2rem;
				margin-top: 16rem;
				padding: 0 max(16px, min(1.6rem, 1.6rem));
				padding: 0 var(--grid-gap-sp);
		}
			}

@media (min-width: 768px) {

.members .news.-top {
				grid-template-columns: 2fr 1fr;
				margin-top: 20rem;
				padding: 0 calc((0 * 2) + 1.6rem);
				padding: 0 calc(calc(0 * 2) + 1.6rem);
				padding: 0 calc(var(--grid-gap) + 1.6rem);
		}
			}

.members .news.-top .news-wrap {
				display: flex;
				flex-direction: column;
				width: 100%;
				padding: 4rem;
				background-color: #f8f8f8;
				background-color: var(--gray-light);
			}

@media (max-width: 375px) {

.members .news.-top .news-wrap {
					padding: 2rem;
			}
				}

.members .news.-top .news-item {
				background-color: #ffffff;
				background-color: var(--white);
				border-radius: 4px;
				box-shadow:
					0 2px 2px rgba(42, 51, 70, 0.1),
					0 4px 4px rgba(42, 51, 70, 0.02),
					0 8px 8px rgba(42, 51, 70, 0.02);
				border: 1px solid #ffffff;
				border: 1px solid var(--white);
			}

.members .news.-top .news-item:nth-child(n + 2) {
					margin-top: 2rem;
				}

.members .news.-top .news-item:hover {
					border: 1px solid #7d7654;
					border: 1px solid var(--gold);
				}

.members .news.-top .news-item-link {
				display: flex;

				align-items: center;
				padding: 0 3rem;
			}

@media (max-width: 767px) {

.members .news.-top .news-item-link {
					flex-direction: column;
					gap: 2rem;
			}
				}

@media (min-width: 768px) {

.members .news.-top .news-item-link {
					flex-direction: row;
			}
				}

.members .news.-top .news-item-link::before {
					right: 3rem;
				}

.members .news.-top .news-text {
				margin-top: 1rem;
			}

.members .news.-top .news-date {
				display: flex;
				align-items: center;
				gap: 1rem;
				font-family: 'Noto Serif JP', serif;
				font-family: var(--font-noto-serif);
			}

.members .news.-top .date-day-month {
				font-size: var(--font-ttl-x);
				font-weight: 500;
			}

.members .news.-top .date-year-weekday {
				font-size: var(--font-txt-s);
				font-weight: 400;
			}

.members .news.-top .date-weekday {
			}

.members .news.-top .news-sidebar {
				display: flex;
				flex-direction: column;
				width: 100%;
				border-radius: 4px;
				background-color: #f8f8f8;
				background-color: var(--gray-light);
				overflow: hidden;
			}

.members .news.-top .sidebar-title {
				display: flex;
				align-items: center;
				justify-content: center;
				padding: 2.5rem 0;
				background-color: #7d7654;
				background-color: var(--gold);
				color: #ffffff;
				color: var(--white);
				font-size: var(--font-ttl-xs);
				font-weight: 600;
			}

.members .news.-top .icon.-public {
					width: 3.9rem;
					height: 2.8rem;
					margin-right: 1rem;
				}

.members .news.-top .sidebar-content {
				padding: 4rem;
			}

@media (max-width: 375px) {

.members .news.-top .sidebar-content {
					padding: 4rem 2rem;
			}
				}

.members .news.-top .sidebar-label {
				display: block;
				position: relative;
				padding-left: 14px;
				font-size: var(--font-txt-s);
				font-weight: 500;
			}

@media (max-width: 767px) {
					.members .news.-top .sidebar-label:nth-child(n + 2) {
						margin-top: 2rem;
					}

					.members .news.-top .sidebar-label.-tag {
						margin-top: 4rem;
					}
				}

@media (min-width: 768px) {
					.members .news.-top .sidebar-label:nth-child(n + 2) {
						margin-top: 4rem;
					}

					.members .news.-top .sidebar-label.-tag {
						margin-top: 6rem;
					}
				}

.members .news.-top .sidebar-label::before {
					position: absolute;
					top: 50%;
					left: 5px;
					width: 10px;
					height: 10px;
					background-color: #7d7654;
					background-color: var(--gold);
					border-radius: 100%;
					content: '';
					transform: translate(-50%, -50%);
				}

.members .news.-top .sidebar-input,.members .news.-top .sidebar-select,
.sidebar-content .select2-container {
				width: 100%;
				min-height: 48px;
				margin-top: 2rem;
				padding: 1rem 2rem;
				border: solid 1px #cccccc;
				border: solid 1px var(--gray-line2);
				border-radius: 2px;
				color: #808080;
				color: var(--gray);
				font-size: var(--font-txt-xs);
			}

.sidebar-content .select2-container textarea:not([rows]){
	min-height: auto;
}

.members .news.-top .sidebar-search-btn {
				width: 100%;
				min-height: 48px;
				padding: 1rem 2rem;
				background-color: #7d7654;
				background-color: var(--gold);
				color: #ffffff;
				color: var(--white);
				font-size: var(--font-txt-m);
				border-radius: 9999px;
				cursor: pointer;
				transition: transform 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
				transition: transform 0.38s var(--transition_03);
			}

.members .news.-top .sidebar-search-btn:hover {
					transform: scale(1.05);
					transform: scale(var(--btn-scale));
				}

@media (max-width: 767px) {

.members .news.-top .sidebar-search-btn {
					margin-top: 2rem;
			}
				}

@media (min-width: 768px) {

.members .news.-top .sidebar-search-btn {
					margin-top: 4rem;
			}
				}

.members .news.-top .sidebar-tags {
				margin-top: 3rem;
			}

.members .news.-top .sidebar-tags-title {
			}

.members .news.-top .sidebar-tag-list {
				display: flex;
				flex-wrap: wrap;
				gap: 1rem;
				margin-top: 2rem;
			}

.members .news.-top .sidebar-tag-link {
				display: inline-block;
				padding: 0.3rem 1.2rem;
				color: #2f2b2b;
				color: var(--black);
				font-size: var(--font-txt-xxs);
				font-weight: 500;
				border-radius: 9999px;
				-webkit-text-decoration: none;
				text-decoration: none;
				background: #E8E8E8;
				transition:
					background-color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1), color 0.38s cubic-bezier(0.32, 0.181, 0.3, 1);
				transition:
					background-color 0.38s var(--transition_03), color 0.38s var(--transition_03);
				will-change: opacity, transform;
			}

.members .news.-top .sidebar-tag-link:hover {
					background-color: #7d7654;
					background-color: var(--gold);
					color: #ffffff;
					color: var(--white);
				}

.members .news.-top .tag-list li a:hover {
				background-color: var(--primary);
				color: #fff;
			}

/* 🔹 Sidebar Navigation */

.members .news.-top .news-sidebar-links ul {
				list-style: none;
				padding: 0;
			}

.members .news.-top .news-sidebar-links li {
				margin-bottom: 1rem;
			}

.members .news.-top .news-sidebar-links a {
				display: flex;
				align-items: center;
				gap: 0.8rem;
				font-size: 1.4rem;
				-webkit-text-decoration: none;
				text-decoration: none;
				color: #2f2b2b;
				color: var(--black);
				padding: 0.8rem;
				border-radius: 4px;
			}

.members .news.-top .news-sidebar-links a:hover {
				background-color: #f8f8f8;
				background-color: var(--gray-light);
			}

@media (max-width: 767px) {

.members .news .important-news {
				margin-top: 0rem;
		}
			}

@media (max-width: 767px) {

.members .news .news-header {
				/* flex-direction: row; */
				/* align-items: center; */
				/* justify-content: space-between; */
		}
			}

@media (max-width: 767px) {

.members .news .news-list {
				margin-top: 2rem;
		}
			}

/*--------------------
  Events
--------------------*/

.members .events .card {
			background-color: #f8f8f8;
			background-color: var(--gray-light);
			border: solid 1px #f8f8f8;
			border: solid 1px var(--gray-light);
		}

.members .events-header {
		padding-left: 0;
	}

/*--------------------
  Topics
--------------------*/

.members .topics {
		background-color: #f9f7f3;
		background-color: var(--gold-light-bg);
	}

.members .topics-filters {
		background-color: #ffffff;
		background-color: var(--white);
		box-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.02),
			0 8px 8px rgba(42, 51, 70, 0.02);
	}

@media (max-width: 767px) {

.members .topics-filters {
			padding: 2rem;
	}
		}

.members .category-btn {
		position: relative;
		border-radius: 4px;
		min-height: 48px;
	}

.members .category-btn::before {
			position: absolute;
			top: 50%;
			left: 16px;
			content: '';
			transform: translateY(-50%);
			background-repeat: no-repeat;
			background-position: left 0 center;
		}

.members .category-btn.-system,.members .category-btn.-event,.members .category-btn.-star,.members .category-btn.-book,.members .category-btn.-case,.members .category-btn.-doc,.members .category-btn.-flag {
			padding: 0 2rem 0 36px;
		}

.members .category-btn.-system::before {
				background-image: url('../img/shared/icn-tag-system-g.svg');
			}

.members .category-btn.-system:hover::before {
					background-image: url('../img/shared/icn-tag-system.svg');
				}

.members .category-btn.-system.-active::before {
					background-image: url('../img/shared/icn-tag-system.svg');
				}

.members .category-btn.-event::before {
				background-image: url('../img/shared/icn-tag-event-g.svg');
			}

.members .category-btn.-event:hover::before {
					background-image: url('../img/shared/icn-tag-event.svg');
				}

.members .category-btn.-event.-active::before {
					background-image: url('../img/shared/icn-tag-event.svg');
				}

.members .category-btn.-doc::before {
				background-image: url('../img/shared/icn-tag-doc-g.svg');
			}

.members .category-btn.-doc:hover::before {
					background-image: url('../img/shared/icn-tag-doc.svg');
				}

.members .category-btn.-doc.-active::before {
					background-image: url('../img/shared/icn-tag-doc.svg');
				}

.members .category-btn.-star::before {
				background-image: url('../img/shared/icn-tag-star-g.svg');
			}

.members .category-btn.-star:hover::before {
					background-image: url('../img/shared/icn-tag-star.svg');
				}

.members .category-btn.-star.-active::before {
					background-image: url('../img/shared/icn-tag-star.svg');
				}

.members .category-btn.-flag::before {
				background-image: url('../img/shared/icn-tag-flag-g.svg');
			}

.members .category-btn.-flag:hover::before {
					background-image: url('../img/shared/icn-tag-flag.svg');
				}

.members .category-btn.-flag.-active::before {
					background-image: url('../img/shared/icn-tag-flag.svg');
				}

.members .category-btn.-book::before {
				background-image: url('../img/shared/icn-tag-book-g.svg');
			}

.members .category-btn.-book:hover::before {
					background-image: url('../img/shared/icn-tag-book.svg');
				}

.members .category-btn.-book.-active::before {
					background-image: url('../img/shared/icn-tag-book.svg');
				}

.members .category-btn.-case::before {
				background-image: url('../img/shared/icn-tag-case-g.svg');
			}

.members .category-btn.-case:hover::before {
					background-image: url('../img/shared/icn-tag-case.svg');
				}

.members .category-btn.-case.-active::before {
					background-image: url('../img/shared/icn-tag-case.svg');
				}

.members .topic-card {
		background-color: #ffffff;
		background-color: var(--white);
		border: solid 1px #ffffff;
		border: solid 1px var(--white);
		box-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.02),
			0 8px 8px rgba(42, 51, 70, 0.02);
	}

.members .topic-card:hover {
			border: solid 1px #7d7654;
			border: solid 1px var(--gold);
		}

@media (max-width: 767px) {

.members .topic-card {
			padding: 6rem 2rem 1rem;
	}
		}

@media (min-width: 768px) {

.members .topic-card {
			padding: 6rem 4rem 3rem;
	}
		}

.members .topic-link.-arrow-circle::before {
				background-image: url('../img/shared/icn-link-arrow-g.svg');
			}

.members .topic-title {
		order: 2;
	}

.members .topic-description {
		order: 3;
	}

.members .topic-labels {
		display: flex;
		gap: 2rem;
		position: absolute;
		top: 0;
		left: 4rem;
	}

.members .topic-label {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		order: 1;
		min-height: 38px;
		padding: 0 2rem 0 36px;
		background-color: #7d7654;
		background-color: var(--gold);
		border-radius: 0 0 4px 4px;
		color: #ffffff;
		color: var(--white);
		font-size: var(--font-txt-s);
		font-weight: 500;
		line-height: 1;
	}

.members .topic-label::before {
			position: absolute;
			top: 50%;
			left: 16px;
			content: '';
			transform: translateY(-50%);
			background-repeat: no-repeat;
			background-position: left 0 center;
		}

.members .-system::before {
			width: 18px;
			height: 18px;
			background-image: url('../img/shared/icn-tag-system.svg');
			background-size: 18px 18px;
		}

.members .-event::before {
			width: 16px;
			height: 18px;
			background-image: url('../img/shared/icn-tag-event.svg');
			background-size: 16px 18px;
		}

.members .-doc::before {
			width: 13px;
			height: 17px;
			background-image: url('../img/shared/icn-tag-doc.svg');
			background-size: 13px 17px;
		}

.members .-star::before {
			width: 16px;
			height: 15px;
			background-image: url('../img/shared/icn-tag-star.svg');
			background-size: 16px 15px;
		}

.members .-flag::before {
			width: 14px;
			height: 17px;
			background-image: url('../img/shared/icn-tag-flag.svg');
			background-size: 14px 17px;
		}

.members .-book::before {
			width: 16px;
			height: 15px;
			background-image: url('../img/shared/icn-tag-book.svg');
			background-size: 16px 15px;
		}

.members .-case::before {
			width: 16px;
			height: 15px;
			background-image: url('../img/shared/icn-tag-case.svg');
			background-size: 16px 15px;
		}

.members .topic-link {
		order: 4;
	}

/*--------------------
  Nav
--------------------*/

body {
}

.english .nav-menu {
		display: flex;
		justify-content: space-between;
	}

.english .nav-menu-link{
		padding: 0 1.25rem;
}

@media (max-width: 767px) {

.english .header-logo {
			width: max(220px, min(22rem, 22rem));
			height: max(44px, min(4.4rem, 4.4rem));
	}
		}

@media (min-width: 768px) {

.english .header-logo {
			width: max(240px, min(24rem, 24rem));
			height: max(48px, min(4.4rem, 4.4rem));
			margin-right: auto;
	}
		}

@media (max-width: 767px) {

.english .sp-action-top.-english {
			width: 100%;
	}
		}

.english .hero-media {
		position: relative;
		z-index: 0;
		z-index: var(--z-bg);
		width: 100%;
		height: 100vh;
	}

.english .hero-img {
		width: 100%;
		height: 100%;
	}

.english .card-content {
		position: absolute;
		z-index: 1;
		z-index: var(--z-content);
	}

@media (max-width: 767px) {

.english .card-content {
			top: 35%;
			left: 50%;
			width: 90%;
			transform: translateX(-50%);
	}
		}

@media (min-width: 768px) {

.english .card-content {
			top: 40%;
			left: 5%;
	}
		}

.english .card-content-ttl {
		font-family: 'Noto Serif JP', serif;
		font-family: var(--font-noto-serif);
		font-size: var(--font-ttl-x);
		font-weight: 600;
		color: #ffffff;
		color: var(--white);
		line-height: 1.4;
		text-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.4),
			0 8px 8px rgba(42, 51, 70, 0.4);
	}

@media (max-width: 767px) {

.english .card-content-ttl {
			font-size: max(20px, min(2rem, 2rem));
	}
		}

.english .card-content-description {
		margin-top: 4rem;
		font-weight: 500;
		color: #ffffff;
		color: var(--white);
		text-shadow:
			0 2px 2px rgba(42, 51, 70, 0.1),
			0 4px 4px rgba(42, 51, 70, 0.4),
			0 8px 8px rgba(42, 51, 70, 0.4);
	}

@media (max-width: 767px) {
			.english .card-content-description br {
				display: none;
			}
		}

.english .news {
		margin-bottom: 10rem;
	}

@media (min-width: 1201px) {
			.english .nav-menu-list br {
				display: none;
			}
		}
/**
 * Swiper 11.2.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 3, 2025
 */

/* FONT_START */

@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}

/* FONT_END */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: ease;
  transition-timing-function: initial;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-left: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-top: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */

/* 3D Shadows */

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid #007aff;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Slide styles end */

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(44px / 44 * 27);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: 44px;
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (44px / 2));
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #007aff;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: 44px;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-feature-settings: ;
  font-variant: normal;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}

/* Navigation font end */

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 8px;
  bottom: var(--swiper-pagination-bottom, 8px);
  top: auto;
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: 8px;
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: #000;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: 0.2;
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: #007aff;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: 8px;
  right: var(--swiper-pagination-right, 8px);
  left: auto;
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */

.swiper-pagination-fraction {
  color: inherit;
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: 4px;
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: 10px;
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: rgba(0, 0, 0, 0.1);
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: 4px;
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: auto;
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: 4px;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * 1%);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: auto;
  left: var(--swiper-scrollbar-left, auto);
  right: 4px;
  right: var(--swiper-scrollbar-right, 4px);
  top: 1%;
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: 4px;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * 1%);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: 10px;
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Zoom container styles end */

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

/* Cube slide shadows start */

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Cube slide shadows end */

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* Flip slide shadows start */

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Flip slide shadows end */

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

@media (max-width: 767px) {

.c-sp {
		display: block;
}
	}

@media (min-width: 768px) {

.c-sp {
		display: none;
}
	}

@media (max-width: 767px) {

.c-pc {
		display: none;
}
	}

@media (min-width: 768px) {

.c-pc {
		display: block;
}
	}

.c-status{
	font-size: 14px;
	display: flex;
	justify-content: center;
	max-width: 125px;
	border-radius: 2px;
}

.c-status--public{
	color: #fff;
    background-color: #7d7654;
    background-color: var(--gold);
}

.c-status--waiting{
	background: #e4e0cf;
	background: var(--gold-light);
}

.c-status--confirming{
	background: #e8e8e8;
	background: var(--gray-tag);
}

.c-status--private{
	border: solid 1px #2f2b2b;
	border: solid 1px var(--black);
}

.c-icoLink__list{
	display: inline-flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	align-items: center;
}

.c-icoLink{
	position: relative;
	padding-left: 24px;
	word-break: keep-all;
	transition: .3s;
}

.c-icoLink:hover{
	opacity: 0.6;
}

.c-icoLink::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	display: block;
	content: "";
	width: 18px;
	height: 18px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.c-icoLink--detail::after{
	background-image: url(../img/shared/icn-tag-detail-g.svg);
}

.c-icoLink--edit::after{
	background-image: url(../img/shared/icn-tag-edit-g.svg);
}

.c-icoLink--trash::after{
	background-image: url(../img/shared/icn-tag-trash-g.svg);
}

.p-cookieBanner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2.4em;
	position: fixed;
	bottom: 0;
	width: 100%;
	font-size: 12px;
	color: #fff;
	background: rgba(0,0,0,.7);
	padding: 1.2em;
	box-sizing: border-box;
	visibility: hidden;
	z-index: 9999;
}

.p-cookieBanner.is-show {
	visibility: visible;
}

.p-cookieBanner a {
	display: inline;
	text-decoration: underline;
	color: #fff !important;
}

.p-cookieBanner__agree {
	color: #fff;
	background-color: #7d7654;
	padding: .5em 1.5em;
}

.p-cookieBanner__agree:hover {
	cursor: pointer;
}

.cc-hide1 {
	display: none;
}

@media (max-width: 767px) {
  .p-cookieBanner {
    flex-direction: column;
	gap: 1.2em;
  }
}
