/* Precious site-wide light theme */
@import url('../../tokens.css?2026092801');

/* Precious light theme -------------------------------------------------- */
html,
body {
	background: var(--color-paper);
	color: var(--color-ink);
	overflow-x: clip;
}

body {
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.65;
}

body :where(p, li, dt, dd, td, th, label, input, textarea, select) {
	color: inherit;
}

a {
	color: var(--color-action);
	transition: color var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);
}

a:hover { color: var(--color-accent); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--color-focus);
	outline-offset: 1px;
}

input,
textarea,
option,
select {
	background: var(--color-paper-2);
	border-color: var(--color-rule-2);
	border-radius: var(--radius-input);
	color: var(--color-ink);
}

h1,
h2,
h3,
h4,
h5,
h6,
.en,
.newstitle,
footer .tel {
	font-family: var(--font-display);
	font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	min-width: 0;
	overflow-wrap: anywhere;
}

h1 {
	background: var(--color-paper-2);
	color: var(--color-ink-2);
	border-bottom: var(--rule-hair) solid var(--color-rule);
}

.header,
.etc,
.box,
.main_contents_wrap,
.main_contents_wrap_in,
.news_pickup,
.link,
.access,
.system_area,
.p-page,
.siteContent,
.content-area {
	background: var(--color-paper);
	color: var(--color-ink);
}

header nav,
header nav .menu,
#fixed.fixed {
	background: var(--color-paper-3);
}

header nav li,
ul.mobile_menu li,
#footerMenu ul li {
	background: var(--gradient-action);
	border: var(--rule-hair) solid var(--color-action);
	box-shadow: none;
	filter: none;
}

header nav ul.animate__animated {
	animation: none;
	opacity: 1;
	transform: none;
}

header nav a,
header nav a span.en,
header nav a span.hover,
ul.mobile_menu li .en,
ul.mobile_menu li .ja,
#footerMenu a {
	color: var(--color-accent-ink);
	white-space: nowrap;
}

header nav a span.hover,
ul.mobile_menu li .ja {
	color: var(--color-accent-ink);
}

header nav ul li:hover,
ul.mobile_menu li:hover,
#footerMenu ul li:hover {
	background: var(--gradient-action-hover);
	filter: none;
	transform: translateY(-1px);
}

.pan,
.p-breadcrumb {
	background: transparent;
	color: var(--color-ink-2);
	border-bottom: 0;
}

.pan li,
.pan a,
.pan a:link,
.pan a:visited,
.pan a:active,
.p-breadcrumb a {
	color: var(--color-ink-2);
}

.pan a:hover,
.p-breadcrumb a:hover { color: var(--color-action); }

h2.h2,
h2.h2 span.ja,
h2.narabi span.ja,
h3.h3 span.ja {
	color: var(--color-ink);
}

h2.h2 span.en,
h2.narabi span.en,
h3.h3 span.en {
	color: var(--color-action);
	font-family: var(--font-display);
	font-weight: 600;
}

.heading::before { background: var(--color-accent); }
.heading::after { border-color: var(--color-accent); }

.system_area .txt,
.system_area h4 {
	color: var(--color-ink);
}

.system_area ul,
.news_overflow,
.news_all_in,
.boxinback,
.profile_data_bg,
.faq_inkotae,
.krc_calendar dl,
.hyou td,
.mobile-linebox {
	background: var(--color-paper-2);
	color: var(--color-ink);
	border-color: var(--color-rule);
}

.system_area ul li::before,
.newstag,
.heading::before { color: var(--color-accent); }

.newstag,
.timetag,
.faq_inmidashi,
.hyou th,
.krc_calendar dl dt {
	background: var(--color-paper-3);
	color: var(--color-ink-2);
}

.newsline section,
.faq_in .box,
.krc_calendar,
.krc_calendar dl,
.krc_calendar dl dt,
.sch_main h4 {
	border-color: var(--color-rule-2);
}

.one-cast,
.rank-box.bpink {
	background: var(--color-paper-2);
	border: var(--rule-hair) solid var(--color-rule);
	box-shadow: var(--shadow-card);
}

/* Access page shop information table ----------------------------------- */
.access-page .wp-block-table.table_set {
	width: min(calc(100% - 32px), 760px);
	margin: 0 auto var(--space-xl);
	padding: 0;
	overflow: hidden;
	background: var(--color-paper-2);
	border: var(--rule-hair) solid var(--color-rule);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-card);
}

.access-page .wp-block-table.table_set table.hyou {
	width: 100%;
	max-width: none;
	margin: 0;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	font-size: var(--text-base);
}

.access-page .wp-block-table.table_set .hyou th,
.access-page .wp-block-table.table_set .hyou td {
	padding: 14px 20px;
	border: 0;
	border-bottom: var(--rule-hair) solid var(--color-rule);
	line-height: 1.65;
	vertical-align: middle;
}

.access-page .wp-block-table.table_set .hyou th {
	width: 28%;
	background: var(--color-paper-3);
	color: var(--color-ink-2);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: center;
}

.access-page .wp-block-table.table_set .hyou td {
	background: var(--color-paper-2);
	color: var(--color-ink);
	text-align: left;
}

.access-page .wp-block-table.table_set .hyou tr:last-child > * {
	border-bottom: 0;
}

.one-cast a.iframe,
.one-cast figcaption,
.today .girl .name h3,
.today .girl .name p.size,
.today .girl .name h3 span,
.today .girl .name p.size span,
.name,
.name h2 span,
.name .size span,
.faq,
.comment,
.sch {
	color: var(--color-ink);
}

.bt,
.wp-block-button__link.has-white-color.has-text-color.has-background,
.today .girl p.today,
.casttagmark span,
.cup_mark,
.name .type span,
.week_calendar ul li.target a,
.c-paginate__item--active span {
	background: var(--gradient-action);
	color: var(--color-accent-ink);
	border-color: var(--color-action);
	box-shadow: none;
	filter: none;
}

.bt,
.wp-block-button__link,
.week_calendar ul li a,
.c-paginate__item a,
.footer ul.menu li a {
	white-space: nowrap;
	transition: transform var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);
}

.bt:hover,
.wp-block-button__link:hover {
	background: var(--gradient-action-hover);
	color: var(--color-accent-ink);
	transform: translateY(-1px);
}

.bt:active,
.wp-block-button__link:active { transform: translateY(0); }

header nav a:active,
.footer ul.menu li a:active { transform: translateY(0); }

button:disabled,
input:disabled,
textarea:disabled,
select:disabled,
.bt[aria-disabled="true"],
.wp-block-button__link[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.55;
}

.today .girl .list_today {
	background: var(--color-overlay);
	color: var(--color-accent-ink);
}

.today p.area,
.area_a {
	background: var(--color-paper-3);
	color: var(--color-ink);
}

.today p.area.areaa,
.area_b {
	background: var(--color-action);
	color: var(--color-accent-ink);
}

.today p.area.areab,
.area_c {
	background: var(--color-accent);
	color: var(--color-ink);
}

.today p.area.areac,
.area_d {
	background: var(--color-ink-2);
	color: var(--color-accent-ink);
}

.week_calendar ul li a {
	background: var(--color-rule-2);
	color: var(--color-ink);
}

.week_calendar ul li a:hover {
	background: var(--color-accent);
	color: var(--color-accent-ink);
}

.week_calendar ul li.target a::before {
	border-top-color: var(--color-action);
}

.page-header {
	background: var(--color-accent-soft);
	color: var(--color-ink);
}

.c-paginate__item a,
.c-paginate__item span {
	border-color: var(--color-rule-2);
	color: var(--color-action);
}

.c-paginate__item a:hover {
	background: var(--color-accent-soft);
	color: var(--color-action);
}

.swiper-pagination-bullet { background: var(--color-action) !important; }

footer {
	background: var(--color-paper-3);
	color: var(--color-ink);
	border-top: var(--rule-hair) solid var(--color-rule-2);
}

footer .logo { max-width: 340px; }

footer .tel {
	background: var(--color-paper-2);
	color: var(--color-ink);
	border-block: var(--rule-hair) solid var(--color-rule);
	font-family: var(--font-body);
	font-weight: 400;
}

.footer ul.menu li a,
.footer ul.menu li a:link,
.footer ul.menu li a:visited {
	background: var(--color-paper-2);
	color: var(--color-ink);
	border: var(--rule-hair) solid var(--color-rule);
}

.footer ul.menu li a:hover,
.footer ul.menu li a:active,
footer ul.menu .en,
footer ul.menu .ja {
	color: var(--color-action);
}

footer div.copy,
footer div.copy .copy {
	background: var(--color-ink);
	color: var(--color-accent-ink);
}

menu.mobile_menu {
	background: var(--color-paper-3);
}

p.menu_icon,
div.mobile_menu_title p.close_icon {
	background: var(--color-paper-2);
	color: var(--color-action);
	filter: drop-shadow(0 2px 6px var(--color-shadow));
}

@media all and (max-width: 1024px) {
	body { font-size: var(--text-base); }
	.fv_logo { width: min(93%, 480px); }
	.sch_main { background: var(--color-paper-2); }
	.footer ul.menu li a { background: var(--color-paper-2); }
	.access-page .wp-block-table.table_set {
		width: calc(100% - 24px);
		margin-bottom: var(--space-lg);
	}
	.access-page .wp-block-table.table_set table.hyou {
		font-size: var(--text-sm);
	}
	.access-page .wp-block-table.table_set .hyou th,
	.access-page .wp-block-table.table_set .hyou td {
		padding: 12px 10px;
	}
	.access-page .wp-block-table.table_set .hyou th {
		width: 32%;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 150ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 150ms !important;
	}
}
