@charset "utf-8";



/* =========================================================
   NIC IN JUICE Foundation Lock
   ---------------------------------------------------------
   This is the source of truth for the new UI layer.
   New CSS must use these tokens and components first.

   Hard rules from this point forward:
   1. Do not add broad tag selectors such as .nij-xxx p,
      .nij-xxx a, .nij-xxx img, .nij-xxx span.
   2. Do not add random font-size / line-height / color
      values when a token exists.
   3. Page-specific CSS is for layout exceptions only.
   4. Visual design belongs to nij-ui-* components.
   5. Font weight above 700 is not used in the new UI layer.
   6. Paragraph/readable text must not go below 15px.
   7. UI labels/notes may use 11px-12px only when text is short.
========================================================= */

:root {
	/* Color */
	--nij-ui-black: #111;
	--nij-ui-text: #202020;
	--nij-ui-text-soft: #292626;
	--nij-ui-muted: #666;
	--nij-ui-muted-light: #888;
	--nij-ui-white: #fff;
	--nij-ui-bg: #f7f7f7;
	--nij-ui-bg-soft: #fafafa;
	--nij-ui-line: #e5e5e5;
	--nij-ui-line-dark: #d8d8d8;
	--nij-ui-orange: #f28c00;
	--nij-ui-orange-dark: #d97800;
	--nij-ui-red: #c1272d;

	/* Typography */
	/* Font-size policy:
	   - readable paragraph text: 15px minimum
	   - normal UI text: 14px minimum
	   - 11px/12px are only for labels, badges, notes, and metadata
	*/
	--nij-ui-font: "Inter", "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
	--nij-ui-font-ja: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
	--nij-ui-font-en: "Inter", "Helvetica Neue", Arial, sans-serif;
	--nij-ui-weight-normal: 400;
	--nij-ui-weight-medium: 500;
	--nij-ui-weight-bold: 700;
	--nij-ui-weight-heavy: 700;

	--nij-ui-text-xs: 11px; /* labels/meta only */
	--nij-ui-text-sm: 12px; /* notes/sub text minimum */
	--nij-ui-text-md: 14px; /* UI minimum */
	--nij-ui-text-lg: 16px; /* body readable */
	--nij-ui-text-body: 15px; /* minimum for paragraph/readable text */
	--nij-ui-text-xl: 20px;
	--nij-ui-text-2xl: 26px;

	--nij-ui-leading-tight: 1.35;
	--nij-ui-leading-normal: 1.6;
	--nij-ui-leading-relaxed: 1.85;

	/* Spacing */
	--nij-ui-space-1: 4px;
	--nij-ui-space-2: 8px;
	--nij-ui-space-3: 12px;
	--nij-ui-space-4: 16px;
	--nij-ui-space-5: 20px;
	--nij-ui-space-6: 24px;
	--nij-ui-space-8: 32px;
	--nij-ui-space-10: 40px;

	/* Shape / Shadow */
	--nij-ui-radius-sm: 6px;
	--nij-ui-radius-md: 8px;
	--nij-ui-radius-lg: 10px;
	--nij-ui-radius-pill: 999px;

	--nij-ui-shadow-sm: 0 8px 22px rgba(0,0,0,.05);
	--nij-ui-shadow-card: 0 4px 16px rgba(0,0,0,.07);
	--nij-ui-shadow-card-hover: 0 8px 24px rgba(0,0,0,.11);

	/* Layout */
	--nij-ui-container: 1180px;
	--nij-ui-container-wide: 1200px;
	--nij-ui-mobile-gutter: 12px;
	--nij-ui-grid-gap: 16px;
}

/* Base UI primitives: use these before creating page-specific CSS. */

.nij-ui-page {
	color: var(--nij-ui-text);
	font-family: var(--nij-ui-font);
	background: var(--nij-ui-white);
}

.nij-ui-shell {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--nij-ui-container);
	margin-right: auto;
	margin-left: auto;
}

.nij-ui-shell--wide {
	max-width: var(--nij-ui-container-wide);
}

.nij-ui-card {
	box-sizing: border-box;
	color: var(--nij-ui-text);
	background: var(--nij-ui-white);
	border: 1px solid var(--nij-ui-line);
	border-radius: var(--nij-ui-radius-lg);
	box-shadow: var(--nij-ui-shadow-sm);
}

.nij-ui-card__head {
	margin: 0 0 var(--nij-ui-space-4);
}

.nij-ui-label {
	margin: 0 0 var(--nij-ui-space-2);
	color: var(--nij-ui-orange);
	font-size: var(--nij-ui-text-sm);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-tight);
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nij-ui-title {
	margin: 0;
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-2xl);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-tight);
	letter-spacing: .02em;
}

.nij-ui-text {
	margin: 0 0 var(--nij-ui-space-3);
	color: var(--nij-ui-muted);
	font-size: var(--nij-ui-text-body);
	font-weight: var(--nij-ui-weight-normal);
	line-height: var(--nij-ui-leading-relaxed);
	letter-spacing: .01em;
}

.nij-ui-note {
	margin: var(--nij-ui-space-2) 0 0;
	color: var(--nij-ui-muted);
	font-size: var(--nij-ui-text-sm);
	font-weight: var(--nij-ui-weight-normal);
	line-height: var(--nij-ui-leading-normal);
	letter-spacing: .01em;
}

.nij-ui-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 42px;
	padding: 0 var(--nij-ui-space-5);
	color: var(--nij-ui-white);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: 1;
	text-align: center;
	text-decoration: none;
	background: var(--nij-ui-orange);
	border: 1px solid var(--nij-ui-orange);
	border-radius: var(--nij-ui-radius-pill);
}

.nij-ui-button:hover,
.nij-ui-button:focus {
	color: var(--nij-ui-white);
	text-decoration: none;
	background: var(--nij-ui-orange-dark);
	border-color: var(--nij-ui-orange-dark);
}

.nij-ui-alert {
	box-sizing: border-box;
	padding: var(--nij-ui-space-4);
	color: var(--nij-ui-text);
	background: var(--nij-ui-bg-soft);
	border: 1px solid var(--nij-ui-line);
	border-left: 4px solid var(--nij-ui-orange);
	border-radius: var(--nij-ui-radius-md);
}

.nij-ui-link-list {
	display: grid;
	gap: var(--nij-ui-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media screen and (max-width: 767px) {
	.nij-ui-shell {
		padding-right: var(--nij-ui-mobile-gutter);
		padding-left: var(--nij-ui-mobile-gutter);
	}

	.nij-ui-title {
		font-size: var(--nij-ui-text-xl);
	}

	.nij-ui-text {
		font-size: var(--nij-ui-text-body);
		line-height: var(--nij-ui-leading-normal);
	}
}

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');

/* =========================================================
   NIC IN JUICE UI CSS MAP
   ---------------------------------------------------------
   This file now contains the former nij.css styles plus
   the new NIC IN JUICE UI styles.

   Current organization policy:
   00. Charset / Font Imports
   01. Vendor Libraries
       - slick / slick-theme
       - lightbox / colorbox
   02. Legacy Base
       - JPvapor legacy base styles
   03. UI Foundation
       - design tokens
       - common UI primitives
   04. Header / Footer
   05. Product / Item Cards
   06. Cart / Checkout / Order Flow
   07. Member Pages
   08. Fixed Pages
   09. Blog / News / Referral
   10. Navigation / Utility Parts

   NOTE:
   This version only adds the section map comment.
   CSS rule order is intentionally unchanged to avoid
   cascade/order side effects.
========================================================= */

/*!
 * NIC IN JUICE UI Foundation
 * File: nij-ui.css
 * Version: 0.3.8
 *
 * IMPORTANT:
 * - This file does NOT style .nij-modern-header.
 *   Header styling remains controlled by existing nij.css to avoid changing the current header.
 * - Footer HTML is standardized to .nij-modern-footer,
 *   but visual style is mapped from the existing production footer design.
 */


/**
 * JPvapor
 */
.slick-slider {
	margin-bottom: 25px;
}
.slick-slider img {
	width:100%;
}
.slick-dots {
	bottom:-25px;
}
.slick-dots li {
	width:10px;
	height:10px;
}
@media (min-width: 768px) {
	.slick-slider {
		max-width:768px;
		margin-bottom: 35px;
	}
}
@media (min-width: 992px) {
	.slick-slider {
		max-width:100%;
	}
}

body {
	font-family: var(--nij-ui-font);
	color: #292626;
/*	font-size: 13px; */
    font-size: 14px !important;
    line-height: 1.8 !important;    
}
/*
@import url(https://fonts.googleapis.com/css?family=Life+Savers);
body {
	font-family: 'Life Savers', sans-serif;
}
*/
.form-control {
  border-radius: 0;
}
.btn {
  border-radius: 0;
}
.btn-nij {
  color: #fff;
  background-color: #eeb10d;
  border-color: #eeb10d;
}
.btn-nij:focus,
.btn-nij.focus {
  color: #eee;
  background-color: #eeb10d;
  border-color: #eeb10d;
}
.btn-nij:hover {
  color: #eee;
  background-color: #eeb10d;
  border-color: #eeb10d;
}
.btn-nij:active,
.btn-nij.active,
.open > .dropdown-toggle.btn-nij {
  color: #eee;
  background-color: #eeb10d;
  border-color: #adadad;
}
.btn-nij:active:hover,
.btn-nij.active:hover,
.open > .dropdown-toggle.btn-nij:hover,
.btn-nij:active:focus,
.btn-nij.active:focus,
.open > .dropdown-toggle.btn-nij:focus,
.btn-nij:active.focus,
.btn-nij.active.focus,
.open > .dropdown-toggle.btn-nij.focus {
  color: #eee;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-nij.disabled:hover,
.btn-nij[disabled]:hover,
fieldset[disabled] .btn-nij:hover,
.btn-nij.disabled:focus,
.btn-nij[disabled]:focus,
fieldset[disabled] .btn-nij:focus,
.btn-nij.disabled.focus,
.btn-nij[disabled].focus,
fieldset[disabled] .btn-nij.focus {
  background-color: #eeb10d;
  border-color: #eeb10d;
}
.btn-nij .badge {
  color: #fff;
  background-color: #eeb10d;
}

.badge.badge-nij {
  min-width: 8px;
  padding: 2px 5px;
  font-size: inherit;
  vertical-align: top;
  background-color: #eeb10d;
}

@media (min-width: 992px) {
	.badge.badge-nij {
		font-size: 80%;
	}
}

.font-size-xs {
	font-size:12px;
	line-height: 16px;
}

.col-margin {
	margin-bottom:15px;
}

.container {
	padding:0;
}
.container.article .page-header {
	padding-bottom: 0;
	margin:0 0 20px 0;
	border-bottom: 1px solid #eeb10d;
}
.container.article > .row {
	margin-left: 0;
	margin-right: 0;
}
.container.article > .row > .col-xs-1, .container.article > .row > .col-sm-1, .container.article > .row > .col-md-1, .container.article > .row > .col-lg-1,
.container.article > .row > .col-xs-2, .container.article > .row > .col-sm-2, .container.article > .row > .col-md-2, .container.article > .row > .col-lg-2,
.container.article > .row > .col-xs-3, .container.article > .row > .col-sm-3, .container.article > .row > .col-md-3, .container.article > .row > .col-lg-3,
.container.article > .row > .col-xs-4, .container.article > .row > .col-sm-4, .container.article > .row > .col-md-4, .container.article > .row > .col-lg-4,
.container.article > .row > .col-xs-5, .container.article > .row > .col-sm-5, .container.article > .row > .col-md-5, .container.article > .row > .col-lg-5,
.container.article > .row > .col-xs-6, .container.article > .row > .col-sm-6, .container.article > .row > .col-md-6, .container.article > .row > .col-lg-6,
.container.article > .row > .col-xs-7, .container.article > .row > .col-sm-7, .container.article > .row > .col-md-7, .container.article > .row > .col-lg-7,
.container.article > .row > .col-xs-8, .container.article > .row > .col-sm-8, .container.article > .row > .col-md-8, .container.article > .row > .col-lg-8,
.container.article > .row > .col-xs-9, .container.article > .row > .col-sm-9, .container.article > .row > .col-md-9, .container.article > .row > .col-lg-9,
.container.article > .row > .col-xs-10, .container.article > .row > .col-sm-10, .container.article > .row > .col-md-10, .container.article > .row > .col-lg-10,
.container.article > .row > .col-xs-11, .container.article > .row > .col-sm-11, .container.article > .row > .col-md-11, .container.article > .row > .col-lg-11,
.container.article > .row > .col-xs-12, .container.article > .row > .col-sm-12, .container.article > .row > .col-md-12, .container.article > .row > .col-lg-12 {
	padding-left: 0;
	padding-right: 0;
}
.container.article .form-horizontal .form-group {
	margin-right: 0;
	margin-left: 0;
}

@media (min-width:768px) {
	.container {
		width:768px;
	}
}
@media (min-width: 992px) {
	.container {
		width:970px;
	}
	.container.article {
		width:992px;
		padding:0 15px 50px 15px;
		margin:0 auto;
		background-color: #ffffff;
	}
	.container.article > .row {
		margin-left: -10px;
		margin-right: -10px;
	}
	.container.article > .row > .col-xs-1, .container.article > .row > .col-sm-1, .container.article > .row > .col-md-1, .container.article > .row > .col-lg-1,
	.container.article > .row > .col-xs-2, .container.article > .row > .col-sm-2, .container.article > .row > .col-md-2, .container.article > .row > .col-lg-2,
	.container.article > .row > .col-xs-3, .container.article > .row > .col-sm-3, .container.article > .row > .col-md-3, .container.article > .row > .col-lg-3,
	.container.article > .row > .col-xs-4, .container.article > .row > .col-sm-4, .container.article > .row > .col-md-4, .container.article > .row > .col-lg-4,
	.container.article > .row > .col-xs-5, .container.article > .row > .col-sm-5, .container.article > .row > .col-md-5, .container.article > .row > .col-lg-5,
	.container.article > .row > .col-xs-6, .container.article > .row > .col-sm-6, .container.article > .row > .col-md-6, .container.article > .row > .col-lg-6,
	.container.article > .row > .col-xs-7, .container.article > .row > .col-sm-7, .container.article > .row > .col-md-7, .container.article > .row > .col-lg-7,
	.container.article > .row > .col-xs-8, .container.article > .row > .col-sm-8, .container.article > .row > .col-md-8, .container.article > .row > .col-lg-8,
	.container.article > .row > .col-xs-9, .container.article > .row > .col-sm-9, .container.article > .row > .col-md-9, .container.article > .row > .col-lg-9,
	.container.article > .row > .col-xs-10, .container.article > .row > .col-sm-10, .container.article > .row > .col-md-10, .container.article > .row > .col-lg-10,
	.container.article > .row > .col-xs-11, .container.article > .row > .col-sm-11, .container.article > .row > .col-md-11, .container.article > .row > .col-lg-11,
	.container.article > .row > .col-xs-12, .container.article > .row > .col-sm-12, .container.article > .row > .col-md-12, .container.article > .row > .col-lg-12 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.container.article .form-horizontal .form-group {
		margin-right: -10px;
		margin-left: -10px;
	}
	.article-main {
		margin-top:10px;
		margin-bottom:10px;
	}
	.article-menu {
		margin-top:10px;
		margin-bottom:10px;
	}
	.article-menu .banner-area img {
		width:100%;
		margin-bottom:15px;
	}
}
@media (min-width: 1200px) {
	.container {
		width:1170px;
	}
	.container.article {
		width:1200px;
	}
}

.banner-text {
	padding:0 5px;
}

.content .top-block {
	margin: 5px 0 10px 0;
}
.content .top-block .async-area {
	min-height:201px;
	padding:40px 0;
}
.content #brands.top-block .async-area {
	min-height:132px;
}
.content .top-block .band {
	display:block;
	background-color: #292626;
	color: #fff;
	text-align:center;
}
.content .top-block .band a.slick-arrowspace {
	color: #fff;
	background-color: #eeb10d;
	text-decoration: none;
	padding: 0 8px;
}
.content .outer {
	padding: 5px;
}
.content .outer .row {
	margin-left: -5px;
	margin-right: -5px;
}
.content .outer .col-xs-1, .content .outer .col-sm-1, .content .outer .col-md-1, .content .outer .col-lg-1,
.content .outer .col-xs-2, .content .outer .col-sm-2, .content .outer .col-md-2, .content .outer .col-lg-2,
.content .outer .col-xs-3, .content .outer .col-sm-3, .content .outer .col-md-3, .content .outer .col-lg-3,
.content .outer .col-xs-4, .content .outer .col-sm-4, .content .outer .col-md-4, .content .outer .col-lg-4,
.content .outer .col-xs-5, .content .outer .col-sm-5, .content .outer .col-md-5, .content .outer .col-lg-5,
.content .outer .col-xs-6, .content .outer .col-sm-6, .content .outer .col-md-6, .content .outer .col-lg-6,
.content .outer .col-xs-7, .content .outer .col-sm-7, .content .outer .col-md-7, .content .outer .col-lg-7,
.content .outer .col-xs-8, .content .outer .col-sm-8, .content .outer .col-md-8, .content .outer .col-lg-8,
.content .outer .col-xs-9, .content .outer .col-sm-9, .content .outer .col-md-9, .content .outer .col-lg-9,
.content .outer .col-xs-10, .content .outer .col-sm-10, .content .outer .col-md-10, .content .outer .col-lg-10,
.content .outer .col-xs-11, .content .outer .col-sm-11, .content .outer .col-md-11, .content .outer .col-lg-11,
.content .outer .col-xs-12, .content .outer .col-sm-12, .content .outer .col-md-12, .content .outer .col-lg-12 {
	padding-left: 5px;
	padding-right: 5px;
}
.content .top-block .pagination {
	border-radius: 0;
}
.content .top-block .pagination > li > a,
.content .top-block .pagination > li > span {
	color: #292626;
	border: 1px solid #ddd;
}
.content .top-block .pagination > li:first-child > a,
.content .top-block .pagination > li:first-child > span {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.content .top-block .pagination > li:last-child > a,
.content .top-block .pagination > li:last-child > span {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.content .top-block .pagination > li > a:hover,
.content .top-block .pagination > li > span:hover,
.content .top-block .pagination > li > a:focus,
.content .top-block .pagination > li > span:focus {
	color: #292626;
	background-color: #eee;
	border-color: #ddd;
}
@media (min-width:414px) {
	.content .top-block .async-area {
		min-height:225px;
	}
	.content #brands.top-block .async-area {
		min-height:165px;
	}
}
@media (min-width:480px) {
	.content .top-block .async-area {
		min-height:241px;
	}
	.content #brands.top-block .async-area {
		min-height:181px;
	}
}
@media (min-width:768px) {
	.content .top-block .async-area {
		padding:60px 0;
		min-height:324px;
	}
	.content #brands.top-block .async-area {
		min-height:254px;
	}
	.content .top-block .async-area > img {
		width:80px;
		height:80px;
	}
}
@media (min-width:992px) {
	.content .top-block {
		margin: 5px 0 30px 0;
	}
	.content .top-block.col-margin {
		margin: 0 0 15px 0;
	}
	.content .top-block .async-area {
		padding:80px 0;
		min-height:324px;
	}
	.content #brands.top-block .async-area {
		min-height:251px;
	}
	.content .top-block .async-area > img {
		width:100px;
		height:100px;
	}
	.content .top-block .band.change {
		display:block;
		background-color: transparent;
		color: #292626;
		font-size: 18px;
		/* border-bottom: 1px solid #eeb10d; */
		text-align:left;
	}
	.content .top-block .band .title-morehight {
		line-height:30px;
	}
	.content .top-block .band a.slick-arrowspace {
		color: #292626;
		background-color: transparent;
	}
	.content .outer {
		padding: 5px 0 5px 0;
	}
}
@media (min-width:1200px) {
	.content .top-block .async-area {
		min-height:363px;
	}
	.content #brands.top-block .async-area {
		min-height:290px;
	}
}

.content .tile {
	/* background-color:#292626; */
	padding-top:3px;
	height:145px;
}
.content .tile.nij {
	/* background-color:#292626; */
}
.content .tile.black {
	/* background-color:#292626; */
}
.content .tile .title {
	display: inline-block;
	padding-top:3px;
	color:#fff;
}
.content .tile .title-frame {
	background: url(/img/www/group-icon.png) 0 0;
	background-size: 151px;
	width:4.75px;
	height:22px;
}
.content .tile .title-frame.right {
	background-position: -145.2px 0;
	margin-right: 5px;
}
.content .tile .title-frame.left {
	background-position: -141px 0;
	margin-left: 5px;
}
.content .tile .lines {
	margin:5px;
	padding:5px;
}
.content .tile .lines.news {
	height:104px;
	overflow: auto;
	background-color: #fff;
}
.content .tile a {
	color: #292626;
}
.content .tile a:hover,
.content .tile a:focus {
	color: #292626;
	text-decoration: none;
}
.content .tile a.oneline {
	display: block;
	border-bottom: 1px solid #ddd;
	padding:3px 0;
}
.content .tile .oneline span {
	display: block;
}
@media (min-width: 480px) {
	.content .tile .img-responsive {
		height:100%;
	}
}
@media (min-width: 768px) {
	.content .tile {
		height:199px;
	}
	.content .tile .lines.news {
		height:158px;
	}
}
@media (min-width: 992px) {
	.content .tile {
/*		height:185px; */
		height:192px;
		margin-bottom:15px;
	}
	.content .tile .lines.news {
		height:150px;
	}
}
.content .brand-tile {
	border: 1px solid #ddd;
	height:270px;
	position:relative;
	background-color: #292626;
}
.content .brand-tile button {
	color:#292626;
}
.content .brand-tile .brand-text {
	padding: 5px 10px;
	color: #fff;
}
.content .brand-tile a.brand-link {
	display: block;
	position: absolute;
	bottom:5px;
	left:0;
	right:0;
	margin: auto;
}
.content .brand-tile a.brand-link:hover,
.content .brand-tile a.brand-link:focus {
	color: #eeb10d;
	text-decoration: none;
}
@media (min-width: 480px) {
	.content .brand-tile {
		height:280px;
	}
}
@media (min-width: 640px) {
	.content .brand-tile {
		height:310px;
	}
}
@media (min-width: 768px) {
	.content .brand-tile {
		height:320px;
	}
}
@media (min-width: 992px) {
	.content .brand-tile {
		height:320px;
	}
}
@media (min-width: 1200px) {
	.content .brand-tile {
		height:340px;
	}
}
.content .brand-logoimg {
	border: 1px solid #ddd;
}
.content .spcontent {
	border: 1px solid #ddd;
}
.content .spcontent > a {
	display: block;
	text-decoration: none;
}

.item-detail img.img-thumbnail {
	width:50px;
	padding: 1px;
	border-radius: 0;
}
.item-detail .thumb-area {
	width:100%;
	height:auto;
	overflow:auto;
	white-space: nowrap;
	margin-top: 5px;
}
.item-detail .price {
	font-size: 16px;
}
.item-detail .price-strike {
	text-decoration: line-through;
}
.item-detail .tocart {
	width:100%;
}
@media (min-width:992px) {
	.item-detail img.img-thumbnail {
		width:100%;
	}
	.item-detail .thumb-area {
		white-space: normal;
		margin-top: 0;
		width:auto;
		height:395px;
	}
}
@media (min-width:1200px) {
	.item-detail .thumb-area {
		height:531px;
	}
}

.totop-area {
	display:none;
	position: fixed;
	bottom:8px;
	right:8px;
	font-size:22px;
	background-color: #292626;
}
.totop-area a {
	display:block;
	color:#eeb10d;
	padding:3px 8px 0px 8px;
}
@media (min-width: 992px) {
	.totop-area {
		bottom:20px;
		right:20px;
		font-size:22px;
	}
	.totop-area a {
		padding:3px 8px 0px 8px;
	}
}

/* お気に入り */
.add-to-wishlist, .add-to-waitinglist {
	clear:both;
	margin:0;
	padding:0 0 5px 0;
}
.add-to-wishlist .show, .add-to-waitinglist .show { position:relative; }
.add_to_wishlist:before {content:"\f08a";display:inline-block;margin:0 4px 0 0;font-family:FontAwesome;width:1em;vertical-align:top;}
.add_to_waitinglist:before {content:"\f003";display:inline-block;margin:0 4px 0 0;font-family:FontAwesome;width:1em;vertical-align:top;}
.wish_comp.show a:before, .wish_registed.show a:before, .wish_comp.show a:before, .wish_registed.show a:before {content:"\f08a";display:inline-block;margin:0 4px 0 0;font-family:FontAwesome;width:1em;vertical-align:top;}
.waiting_comp.show a:before, .waiting_registed.show a:before, .waiting_comp.show a:before, .waiting_registed.show a:before {content:"\f003";display:inline-block;margin:0 4px 0 0;font-family:FontAwesome;width:1em;vertical-align:top;}
#wishlist-popup-message, #waitinglist-popup-message {
	background:#CB7078;
	border:1px solid #ccc;
	box-shadow:none;
	line-height:24px;
	padding:15px 15px 15px 35px;
    top: 3%;
    left: 70%;
    z-index: 10000; /* Thanks WP -.- */
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    position: fixed;
    color:#fff;
    text-align:center;
    margin:20px;
    width:50%;
}
#wishlist-popup-message:before,#waitinglist-popup-message:before {
	position:absolute;
	content:'\f05d';
	font-size:20px;
	width:20px;
	height:20px;
	line-height:20px;
	top:50%;
	margin:-10px 0 0 0;
	left:10px;
	font-family:FontAwesome;
}

.wish_comp .feedback, .wish_registed .feedback, .waiting_comp .feedback, .waiting_registed .feedback {
	position:absolute;
	width:200px;
	background:#fff;
	border:1px solid #CB7078;
	border-radius:0;
	padding:8px 5px;
	bottom:100%;
	z-index:99;
	left:105px;
	margin:0 0 20px -105px;
	visibility:hidden;
	opacity:0;
	text-align:center;
	-webkit-transition:all 50ms linear;
	-moz-transition:all 50ms linear;
	-o-transition:all 50ms linear;
	transition:all 50ms linear;
	-webkit-transition:all 50ms linear;
	-moz-transition:all 50ms linear;
	-o-transition:all 50ms linear;
	transition:all 50ms linear;
	pointer-events:none;
	color:#CB7078;
}

.wish_comp .feedback:after, .wish_registed .feedback:after, .waiting_comp .feedback:after, .waiting_registed .feedback:after {
	position:absolute;
	content:'';
	bottom:-10px;
	left:50%;
	margin:0 0 0 -9px;
	width:0;
	height:0;
	border-style:solid;
	border-width:10px 9px 0 9px;
	border-color:#fafafa transparent transparent transparent;
	z-index:2;
}
.wish_comp .feedback:before, .wish_registed .feedback:before, .waiting_comp .feedback:before, .waiting_registed .feedback:before {
	position:absolute;
	content:'';
	bottom:-11px;
	left:50%;
	margin:0 0 0 -10px;
	width:0;
	height:0;
	border-style:solid;
	border-width:11px 10px 0 10px;
	border-color:#CB7078 transparent transparent transparent;
	z-index:1;
}
.wish_comp:hover .feedback, .wish_registed:hover .feedback, .waiting_comp:hover .feedback, .waiting_registed:hover .feedback {
	opacity:1;
	visibility:visible;
	margin-bottom:12px;
	-webkit-transition:all 100ms linear;
	-moz-transition:all 100ms linear;
	-o-transition:all 100ms linear;
	transition:all 100ms linear;
	-webkit-transition:all 100ms linear;
	-moz-transition:all 100ms linear;
	-o-transition:all 100ms linear;
	transition:all 100ms linear;
}

.cancel{
	display: inline-block;
	position: relative;
	margin: 0 20px 0 7px;
	padding: 0;
	width: 1px;
	height: 20px;
	background: #292626;
	transform: rotate(45deg);
}

.cancel:before{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: -9px;
	width: 20px;
	height: 1px;
	margin-top: -1px;
	background: #292626;

}

.wish-add-icon:before, .waiting-add-icon:before {
	content:"\02661";
	display:inline-block;
	margin:0 4px 0 0;
	font-family:FontAwesome;
	width:1em;
	vertical-align:top;
	color:#B42935;
}
.wish-icon:before, .waiting-icon:before {
	content:"\02665";
	display:inline-block;
	margin:0 4px 0 0;
	font-family:FontAwesome;
	width:1em;
	vertical-align:top;
	color:#B42935;
}

.wish-add, .wish-cancel, .waiting-add, .waiting-cancel{
	position: absolute;
	margin: 10px 10px;
	padding: 0;
	z-index:1;
}

h1,h2 { font-size:24px;}


/**
 * lightbox
 */
/* Preload images */
body:after {
  content: url(./lightbox/close.png) url(../img/loading.svg) url(./lightbox/prev.png) url(./lightbox/next.png);
  display: none;
}

body.lb-disable-scrolling {
  overflow: hidden;
}

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none;
}

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
}

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  border-radius: 3px;
}

.lightbox a img {
  border: none;
}

.lb-outerContainer {
  position: relative;
  background-color: white;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
}

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-container {
  padding: 4px;
}

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
}

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../img/loading.svg) no-repeat;
}

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

.lb-container > .nav {
  left: 0;
}

.lb-nav a {
  outline: none;
  background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block;
}

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(./lightbox/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(./lightbox/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-data {
  padding: 0 4px;
  color: #ccc;
}

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em;
}

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em;
}

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999;
}

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(./lightbox/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
    #cboxTopLeft{width:14px; height:14px;}
    #cboxTopCenter{height:14px;}
    #cboxTopRight{width:14px; height:14px;}
    #cboxBottomLeft{width:14px; height:43px;}
    #cboxBottomCenter{height:43px;}
    #cboxBottomRight{width:14px; height:43px;}
    #cboxMiddleLeft{width:14px;}
    #cboxMiddleRight{width:14px;}
    #cboxContent{background:#000; overflow:visible;}
        .cboxIframe{background:#000;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{margin-bottom:5px;}
        #cboxLoadingOverlay{}
        #cboxLoadingGraphic{background:url(/img/loading.svg) no-repeat center center;}
        #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
        #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible;  position:absolute; bottom:-29px; width:23px; height:23px; text-indent:-9999px;}
        
        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

        #cboxPrevious{left:0px; background-position: -51px -25px;}
        #cboxPrevious:hover{background-position:-51px 0px;}
        #cboxNext{left:27px; background-position:-75px -25px;}
        #cboxNext:hover{background-position:-75px 0px;}
        #cboxClose{right:0; background-position:-100px -25px;}
        #cboxClose:hover{background-position:-100px 0px;}

        .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
        .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
        .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
        .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}


/**
 * slick.css
 */
/* Slider */
.slick-slider
{
    position: relative;

    display: block;

    -moz-box-sizing: border-box;
         box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/**
 * slick-theme.css
 */
/* Slider */
.slick-loading .slick-list
{
    background: #fff url('./ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    margin-top: -10px\9; /*lte IE 8*/
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '竊�';
}
[dir='rtl'] .slick-prev:before
{
    content: '竊�';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -45px;

    display: block;

    width: 100%;
    padding: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '●';
    text-align: center;

    opacity: .25;
    color: black;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}


/* =========================================================
   01. Design Tokens
========================================================= */

:root {
	--nij-ui-black: #111;
	--nij-ui-text: #202020;
	--nij-ui-muted: #666;
	--nij-ui-white: #fff;
	--nij-ui-bg: #f7f7f7;
	--nij-ui-bg-soft: #fafafa;
	--nij-ui-line: #e5e5e5;
	--nij-ui-line-dark: #d8d8d8;
	--nij-ui-orange: #f28c00;
	--nij-ui-orange-dark: #d97800;
	--nij-ui-red: #c1272d;
	--nij-ui-container: 1180px;
	--nij-ui-radius-sm: 6px;
	--nij-ui-radius-md: 8px;
	--nij-ui-radius-lg: 10px;
	--nij-ui-shadow-sm: 0 8px 22px rgba(0,0,0,.05);
}

/* =========================================================
   02. UI Foundation
   Scoped only. Does not affect legacy pages unless classes are used.
========================================================= */

.nij-ui-page {
	background: var(--nij-ui-white);
	color: var(--nij-ui-text);
	font-family:
		"Inter",
		"Noto Sans JP",
		-apple-system,
		BlinkMacSystemFont,
		"Hiragino Sans",
		"Yu Gothic",
		YuGothic,
		Meiryo,
		sans-serif;
	line-height: 1.8;
}

.nij-ui-page *,
.nij-ui-page *::before,
.nij-ui-page *::after {
	box-sizing: border-box;
}

.nij-ui-shell {
	width: min(100% - 32px, var(--nij-ui-container));
	margin-right: auto;
	margin-left: auto;
}

.nij-ui-section {
	padding: 44px 0;
}

.nij-ui-section--gray {
	background: var(--nij-ui-bg);
}

.nij-ui-heading-block {
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom: 2px solid var(--nij-ui-black);
}

.nij-ui-kicker {
	display: inline-block;
	margin: 0 0 6px;
	color: var(--nij-ui-orange-dark);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .12em;
}

.nij-ui-heading {
	margin: 0 0 var(--nij-ui-space-4);
	color: var(--nij-ui-black);
	font-size: clamp(24px, 3vw, 38px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.03em;
}

.nij-ui-heading:last-child {
	margin-bottom: 0;
}

.nij-ui-lead:last-child,
.nij-ui-text:last-child {
	margin-bottom: 0;
}

.nij-ui-lead {
	margin: 0 0 var(--nij-ui-space-4);
	color: #505050;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.9;
}

.nij-ui-card {
	background: #fff;
	border: 1px solid var(--nij-ui-line);
	border-radius: var(--nij-ui-radius-md);
	padding: 24px;
}

.nij-ui-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 8px;
	background: var(--nij-ui-black);
	color: #fff;
	border-radius: 4px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
	white-space: nowrap;
}

.nij-ui-label--accent {
	background: var(--nij-ui-orange);
	color: var(--nij-ui-black);
}

.nij-ui-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 20px;
	border: 2px solid transparent;
	border-radius: var(--nij-ui-radius-sm);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	letter-spacing: .02em;
	cursor: pointer;
	text-decoration: none;
	transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

.nij-ui-btn:hover,
.nij-ui-btn:focus {
	text-decoration: none;
	transform: translateY(-1px);
}

.nij-ui-btn--primary {
	background: var(--nij-ui-black);
	color: #fff;
}

.nij-ui-btn--accent {
	background: var(--nij-ui-orange);
	color: var(--nij-ui-black);
}

.nij-ui-btn--outline {
	background: #fff;
	border-color: var(--nij-ui-black);
	color: var(--nij-ui-black);
}

.nij-ui-note {
	background: var(--nij-ui-bg);
	border: 1px solid var(--nij-ui-line);
	border-radius: var(--nij-ui-radius-md);
	padding: 18px 20px;
	color: #505050;
	font-size: 14px;
	line-height: 1.9;
}

.nij-ui-alert {
	background: #fff;
	border: 2px solid var(--nij-ui-red);
	border-left-width: 8px;
	border-radius: var(--nij-ui-radius-md);
	padding: 18px 20px;
	color: var(--nij-ui-text);
}

/* =========================================================
   03. Modern Footer
   HTML standard:
   footer.nij-modern-footer
   Visual style:
   same as current production footer.nij-footer.
========================================================= */

footer.nij-modern-footer {
	background: #111;
	color: #fff;
	padding: 54px 0 28px;
	font-family:
		"Inter",
		"Noto Sans JP",
		-apple-system,
		BlinkMacSystemFont,
		"Hiragino Sans",
		"Yu Gothic",
		YuGothic,
		Meiryo,
		sans-serif;
}

footer.nij-modern-footer .nij-modern-footer-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

footer.nij-modern-footer .nij-modern-footer-main {
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}

footer.nij-modern-footer .nij-modern-footer-brand h2 {
	margin: 0 0 14px;
	padding: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .06em;
	box-shadow: none;
}

footer.nij-modern-footer .nij-modern-footer-brand h2:before,
footer.nij-modern-footer .nij-modern-footer-brand h2:after {
	display: none;
	content: none;
}

footer.nij-modern-footer .nij-modern-footer-brand p {
	margin: 0;
	color: rgba(255,255,255,.76);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
}

footer.nij-modern-footer .nij-modern-footer-notice {
	margin-top: 18px;
	padding: 15px 16px;
	background: rgba(255,255,255,.06);
	border-left: 4px solid #f28c00;
	border-radius: 6px;
	color: rgba(255,255,255,.82);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

footer.nij-modern-footer .nij-modern-footer-sns {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
}

footer.nij-modern-footer .nij-modern-footer-sns a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	background: #fff;
	border-radius: 999px;
	color: #111;
	font-size: 19px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: opacity .18s ease, transform .18s ease, background .18s ease, color .18s ease;
}

footer.nij-modern-footer .nij-modern-footer-sns a:hover,
footer.nij-modern-footer .nij-modern-footer-sns a:focus {
	background: #f28c00;
	color: #fff;
	opacity: 1;
	transform: translateY(-1px);
	text-decoration: none;
}

footer.nij-modern-footer .nij-modern-footer-sns span {
	display: block;
	line-height: 1;
	transform: translateY(-1px);
}

footer.nij-modern-footer .nij-modern-footer-nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

footer.nij-modern-footer .nij-modern-footer-nav-block {
	min-width: 0;
}

footer.nij-modern-footer .nij-modern-footer-nav-block .nij-modern-footer-nav-title {
	display: block;
	margin: 0 0 14px;
	padding: 0;
	background: none;
	border: 0;
	color: #f28c00;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .12em;
	text-align: left;
	box-shadow: none;
}

footer.nij-modern-footer .nij-modern-footer-nav-block .nij-modern-footer-nav-title:before,
footer.nij-modern-footer .nij-modern-footer-nav-block .nij-modern-footer-nav-title:after {
	display: none;
	content: none;
}

footer.nij-modern-footer .nij-modern-footer-nav-block a {
	display: block;
	position: relative;
	padding: 8px 0;
	color: rgba(255,255,255,.78);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.55;
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,.08);
	transition: color .18s ease, padding-left .18s ease;
}

footer.nij-modern-footer .nij-modern-footer-nav-block a:hover,
footer.nij-modern-footer .nij-modern-footer-nav-block a:focus {
	color: #fff;
	text-decoration: none;
	padding-left: 4px;
}

footer.nij-modern-footer .nij-modern-footer-bottom {
	margin-top: 42px;
	padding-top: 22px;
	border-top: 1px solid rgba(255,255,255,.12);
	text-align: center;
}

footer.nij-modern-footer .nij-modern-footer-bottom p {
	margin: 0;
	color: rgba(255,255,255,.58);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

footer.nij-modern-footer .nij-modern-footer-legal-text {
	max-width: 980px;
	margin: 14px auto 0 !important;
	color: rgba(255,255,255,.46) !important;
	font-size: 10px !important;
	line-height: 1.8 !important;
}

/* Existing footer / blog CSS interference guard */
footer.nij-modern-footer a {
	text-decoration: none;
}

footer.nij-modern-footer a:hover,
footer.nij-modern-footer a:focus {
	text-decoration: none;
}

/* =========================================================
   04. Footer Responsive
========================================================= */

@media screen and (max-width: 991px) {
	footer.nij-modern-footer .nij-modern-footer-main {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	footer.nij-modern-footer .nij-modern-footer-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 767px) {
	footer.nij-modern-footer {
		padding: 42px 0 24px;
	}

	footer.nij-modern-footer .nij-modern-footer-shell {
		width: min(100% - 24px, 1180px);
	}

	footer.nij-modern-footer .nij-modern-footer-brand h2 {
		font-size: 24px;
	}

	footer.nij-modern-footer .nij-modern-footer-nav {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	footer.nij-modern-footer .nij-modern-footer-nav-block {
		padding: 18px 18px 14px;
		background: rgba(255,255,255,.04);
		border: 1px solid rgba(255,255,255,.08);
		border-radius: 8px;
	}

	footer.nij-modern-footer .nij-modern-footer-nav-block .nij-modern-footer-nav-title {
		margin-bottom: 10px;
	}

	footer.nij-modern-footer .nij-modern-footer-nav-block a {
		padding: 9px 0;
	}

	footer.nij-modern-footer .nij-modern-footer-bottom {
		margin-top: 30px;
	}
}

/* =========================================================
   05. UI Responsive
========================================================= */

@media (max-width: 767px) {
	.nij-ui-shell {
		width: min(100% - 24px, var(--nij-ui-container));
	}

	.nij-ui-section {
		padding: 32px 0;
	}

	.nij-ui-heading {
		font-size: 26px;
	}

	.nij-ui-card {
		padding: 18px;
	}
}


/* ======================================
   NIC IN JUICE Modern Header
====================================== */

.nij-modern-topbar {
	height: 34px;
	background: #f7f7f7;
	border-bottom: 1px solid #ececec;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 16px;
	color: #666;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .05em;
	text-align: center;
}

.nij-modern-header {
	position: sticky;
	top: 0;
	width: 100%;
	background: rgba(255,255,255,.78);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(0,0,0,.06);
	z-index: 1000;
	transition: background .3s ease, box-shadow .3s ease;
}

.nij-modern-header.scrolled {
	background: rgba(255,255,255,.94);
	box-shadow: 0 12px 34px rgba(0,0,0,.06);
}

.nij-modern-header-shell {
	width: min(100% - 96px, 1520px);
	height: 108px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 42px;
}

.nij-modern-logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	padding: 18px 0;
}

.nij-modern-logo a {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.nij-modern-logo img {
	display: block;
	max-width: 200px;
	height: auto;
}

.nij-modern-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	flex: 1 1 auto;
	min-width: 0;
}

.nij-modern-nav-item {
	position: relative;
}

.nij-modern-nav-link {
	display: flex;
	align-items: center;
	height: 108px;
	color: #111;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .035em;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity .2s ease;
}

.nij-modern-nav-link:hover {
	color: #111;
	opacity: .5;
	text-decoration: none;
}

.nij-modern-dropdown {
	position: absolute;
	top: 84px;
	left: -20px;
	width: 276px;
	padding: 14px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 22px;
	box-shadow: 0 22px 44px rgba(0,0,0,.09);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
}

.nij-modern-nav-item:hover .nij-modern-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.nij-modern-dropdown a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 15px 15px;
	border-radius: 14px;
	color: #111;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	text-decoration: none;
	transition: background .2s ease, padding-left .2s ease;
}

.nij-modern-dropdown a:hover {
	background: #f5f5f5;
	color: #111;
	padding-left: 19px;
	text-decoration: none;
}

.nij-modern-actions {
	display: flex;
	align-items: center;
	gap: 18px;
	flex: 0 0 auto;
}

.nij-modern-search {
	width: 168px;
	height: 46px;
	display: flex;
	align-items: center;
	background: #f5f5f5;
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 999px;
	overflow: hidden;
}

.nij-modern-search input {
	width: 100%;
	height: 46px;
	padding: 0 0 0 18px;
	border: none;
	outline: none;
	background: transparent;
	color: #111;
	font-size: 14px;
}

.nij-modern-search button {
	width: 46px;
	height: 46px;
	border: none;
	background: transparent;
	color: #111;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease;
}

.nij-modern-search button:hover {
	background: #ececec;
}

.nij-modern-text-link {
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 2px;
	color: #111;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity .2s ease;
}

.nij-modern-text-link:hover {
	color: #111;
	opacity: .5;
	text-decoration: none;
}

/* Account dropdown */

.nij-modern-account {
	position: relative;
}

.nij-modern-account-dropdown {
	position: absolute;
	top: 46px;
	right: -18px;
	width: 220px;
	padding: 12px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 20px;
	box-shadow: 0 22px 44px rgba(0,0,0,.09);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
	z-index: 1003;
}

.nij-modern-account:hover .nij-modern-account-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.nij-modern-account-dropdown a {
	display: block;
	padding: 13px 14px;
	border-radius: 12px;
	color: #111;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	text-decoration: none;
	transition: background .2s ease, padding-left .2s ease;
}

.nij-modern-account-dropdown a:hover {
	background: #f5f5f5;
	color: #111;
	padding-left: 18px;
	text-decoration: none;
}

/* Cart badge */

.nij-modern-text-link .badge,
.nij-modern-text-link .badge-nij,
.nij-modern-mobile-cart .badge,
.nij-modern-mobile-cart .badge-nij,
.nij-modern-mobile-link .badge,
.nij-modern-mobile-link .badge-nij {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	margin-left: 4px;
	border-radius: 999px;
	background: #f28c00;
	color: #fff;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	vertical-align: middle;
}

/* ======================================
   Mobile Header
====================================== */

.nij-modern-mobile-actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 10px;
}

.nij-modern-mobile-cart {
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	border-radius: 999px;
	background: #f5f5f5;
	color: #111;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.nij-modern-mobile-cart:hover {
	color: #111;
	text-decoration: none;
}

.nij-modern-mobile-toggle {
	width: 42px;
	height: 42px;
	border: none;
	background: none;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	cursor: pointer;
	transition: background .2s ease;
}

.nij-modern-mobile-toggle:hover {
	background: #f3f3f3;
}

.nij-modern-mobile-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: #111;
	margin: 3px auto;
}

/* ======================================
   Mobile Drawer
====================================== */

body.nij-modern-menu-open {
	overflow: hidden;
}

.nij-modern-mobile-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.24);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;
	z-index: 1001;
}

.nij-modern-mobile-backdrop.active {
	opacity: 1;
	visibility: visible;
}

.nij-modern-mobile-menu {
	position: fixed;
	top: 0;
	right: -100%;
	width: min(440px, 100%);
	height: 100vh;
	background: #fff;
	z-index: 1002;
	padding: 30px 30px 44px;
	overflow-y: auto;
	transition: right .35s ease;
	box-shadow: -24px 0 70px rgba(0,0,0,.14);
}

.nij-modern-mobile-menu.active {
	right: 0;
}

.nij-modern-mobile-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
}

.nij-modern-mobile-logo img {
	display: block;
	max-width: 176px;
	height: auto;
}

.nij-modern-mobile-close {
	width: 44px;
	height: 44px;
	position: relative;
	border: none;
	border-radius: 999px;
	background: #f5f5f5;
	cursor: pointer;
	transition: background .2s ease;
}

.nij-modern-mobile-close:hover {
	background: #ececec;
}

.nij-modern-mobile-close span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 2px;
	background: #111;
	transform-origin: center;
}

.nij-modern-mobile-close span:first-child {
	transform: translate(-50%, -50%) rotate(45deg);
}

.nij-modern-mobile-close span:last-child {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.nij-modern-mobile-search {
	display: flex;
	align-items: center;
	height: 52px;
	margin-bottom: 26px;
	background: #f6f6f6;
	border-radius: 999px;
	overflow: hidden;
}

.nij-modern-mobile-search input {
	width: 100%;
	height: 52px;
	padding: 0 0 0 20px;
	border: none;
	outline: none;
	background: transparent;
	font-size: 14px;
	color: #111;
}

.nij-modern-mobile-search button {
	width: 52px;
	height: 52px;
	border: none;
	background: #111;
	color: #fff;
}

.nij-modern-mobile-links {
	border-top: 1px solid #efefef;
}

.nij-modern-mobile-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 19px 0;
	border: none;
	border-bottom: 1px solid #efefef;
	background: none;
	color: #111;
	font-size: 18px;
	font-weight: 600;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

.nij-modern-mobile-link:hover {
	color: #111;
	opacity: .55;
	text-decoration: none;
}

.nij-modern-mobile-link span {
	color: #999;
	font-size: 18px;
	transition: transform .2s ease;
}

.nij-modern-mobile-link.active span {
	transform: rotate(45deg);
}

.nij-modern-mobile-submenu {
	display: none;
	padding: 0 0 10px 18px;
	border-bottom: 1px solid #efefef;
}

.nij-modern-mobile-submenu.active {
	display: block;
}

.nij-modern-mobile-submenu a {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid #f4f4f4;
	color: #555;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.nij-modern-mobile-submenu a:hover {
	color: #111;
	text-decoration: none;
}

/* ======================================
   Responsive
====================================== */

@media screen and (max-width: 1450px) {
	.nij-modern-header-shell {
		width: min(100% - 72px, 1520px);
		height: 102px;
		gap: 34px;
	}

	.nij-modern-logo {
		padding: 16px 0;
	}

	.nij-modern-logo img {
		max-width: 190px;
	}

	.nij-modern-nav {
		gap: 24px;
	}

	.nij-modern-nav-link {
		height: 102px;
		font-size: 14px;
	}

	.nij-modern-dropdown {
		top: 80px;
	}

	.nij-modern-search {
		width: 148px;
	}
}

@media screen and (max-width: 1320px) {
	.nij-modern-header-shell {
		width: min(100% - 56px, 1520px);
		height: 94px;
		gap: 26px;
	}

	.nij-modern-logo {
		padding: 14px 0;
	}

	.nij-modern-logo img {
		max-width: 178px;
	}

	.nij-modern-nav {
		gap: 20px;
	}

	.nij-modern-nav-link {
		height: 94px;
		font-size: 14px;
		letter-spacing: .025em;
	}

	.nij-modern-dropdown {
		top: 74px;
	}

	.nij-modern-search {
		width: 128px;
		height: 42px;
	}

	.nij-modern-search input,
	.nij-modern-search button {
		height: 42px;
	}

	.nij-modern-text-link {
		height: 42px;
		font-size: 13px;
	}

	.nij-modern-actions {
		gap: 12px;
	}
}

@media screen and (max-width: 991px) {
	.nij-modern-header-shell {
		width: min(100% - 32px, 1520px);
		height: 76px;
	}

	.nij-modern-logo {
		padding: 12px 0;
	}

	.nij-modern-logo img {
		max-width: 168px;
	}

	.nij-modern-topbar {
		height: 30px;
		font-size: 11px;
	}
}

@media screen and (max-width: 480px) {
	.nij-modern-header-shell {
		width: min(100% - 24px, 1520px);
		height: 72px;
	}

	.nij-modern-logo {
		padding: 10px 0;
	}

	.nij-modern-logo img {
		max-width: 148px;
	}

	.nij-modern-mobile-cart {
		height: 38px;
		padding: 0 12px;
		font-size: 11px;
	}

	.nij-modern-mobile-toggle {
		width: 40px;
		height: 40px;
	}

	.nij-modern-mobile-menu {
		width: 100%;
		padding: 26px 26px 44px;
	}
}

/* ======================================
   NIC IN JUICE Modern Header
   Mobile Spacious Fix
====================================== */

@media screen and (max-width: 991px) {

	.nij-modern-topbar {
		height: auto;
		min-height: 36px;
		padding: 8px 18px;
		font-size: 12px;
		line-height: 1.65;
		letter-spacing: .04em;
	}

	.nij-modern-header-shell {
		width: calc(100% - 32px);
		height: 96px;
		padding: 0;
		gap: 16px;
	}

	.nij-modern-logo {
		padding: 16px 0;
	}

	.nij-modern-logo a {
		display: flex;
		align-items: center;
	}

	.nij-modern-logo img {
		max-width: 150px;
		height: auto;
	}

	.nij-modern-mobile-actions {
		gap: 12px;
		margin-left: auto;
	}

	.nij-modern-mobile-cart {
		height: 46px;
		padding: 0 18px;
		border-radius: 999px;
		font-size: 14px;
		font-weight: 700;
		background: #f5f5f5;
	}

	.nij-modern-mobile-toggle {
		width: 48px;
		height: 48px;
		border-radius: 999px;
		background: transparent;
	}

	.nij-modern-mobile-toggle span {
		width: 25px;
		height: 2px;
		margin: 4px auto;
	}

	.nij-modern-header {
		margin-bottom: 14px;
	}
}

@media screen and (max-width: 480px) {

	.nij-modern-topbar {
		padding: 7px 14px;
		font-size: 11px;
		line-height: 1.6;
	}

	.nij-modern-header-shell {
		width: calc(100% - 28px);
		height: 92px;
	}

	.nij-modern-logo {
		padding: 15px 0;
	}

	.nij-modern-logo img {
		max-width: 142px;
	}

	.nij-modern-mobile-actions {
		gap: 10px;
	}

	.nij-modern-mobile-cart {
		height: 44px;
		padding: 0 16px;
		font-size: 13px;
	}

	.nij-modern-mobile-toggle {
		width: 46px;
		height: 46px;
	}
}

/* ======================================
   Mobile: collapse topbar on scroll
====================================== */

@media screen and (max-width: 991px) {
	.nij-modern-topbar {
		height: auto;
		min-height: 36px;
		max-height: 80px;
		padding: 8px 18px;
		overflow: hidden;
		opacity: 1;
		transition:
			max-height .28s ease,
			min-height .28s ease,
			padding .28s ease,
			opacity .2s ease,
			border-color .2s ease;
	}

	.nij-modern-header.scrolled .nij-modern-topbar {
		min-height: 0;
		max-height: 0;
		padding-top: 0;
		padding-bottom: 0;
		opacity: 0;
		border-bottom-color: transparent;
	}

	.nij-modern-header.scrolled .nij-modern-header-shell {
		height: 76px;
	}

	.nij-modern-header.scrolled .nij-modern-logo {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.nij-modern-header.scrolled .nij-modern-logo img {
		max-width: 136px;
	}

	.nij-modern-header.scrolled {
		box-shadow: 0 8px 24px rgba(0,0,0,.06);
	}
}

@media screen and (max-width: 480px) {
	.nij-modern-header.scrolled .nij-modern-header-shell {
		height: 72px;
	}

	.nij-modern-header.scrolled .nij-modern-logo img {
		max-width: 132px;
	}
}

/* ======================================
   Header text weight adjustment
====================================== */

.nij-modern-topbar {
	font-weight: 700;
}

.nij-modern-nav-link {
	font-weight: 600;
}

.nij-modern-dropdown a {
	font-weight: 600;
}


/* =========================================================
   Legacy spacing replacement
   The old legacy header block had:
   @media (min-width:992px) { header { margin-bottom:15px; } }
   After removing that block from nij.css, the top slider moved upward.
   Keep the spacing on the modern header only, without reviving legacy header CSS.
========================================================= */
@media (min-width: 992px) {
	.nij-modern-header {
		margin-bottom: 15px;
	}
}


/* ==============================
   NIC IN JUICE Font Refresh
   ============================== */

html,
body {
  font-family:
    "Noto Sans JP",
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    YuGothic,
    Meiryo,
    sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  font-feature-settings: "palt";
  text-rendering: optimizeLegibility;
}

/* 英字・数字・商品名まわりを少しシャープに */
.nij-modern-nav,
.nij-modern-nav a,
.nij-modern-topbar,
.nij-modern-topbar a,
.header_menu,
.header_menu a,
.global_nav,
.global_nav a,
.common_heading,
.item_name,
.product_name,
.news,
.news a,
footer,
footer a {
  font-family:
    "Inter",
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    Meiryo,
    sans-serif;
}

/* メニューを少し強く */
.nij-modern-nav a,
.header_menu a,
.global_nav a {
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* 見出し・セクションタイトル */
h1,
h2,
h3,
.common_heading,
.section_title,
.heading,
.ttl {
  font-family:
    "Inter",
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    Meiryo,
    sans-serif;
  font-weight: 800;
  letter-spacing: 0.03em;
}

/* 本文は読みやすさ優先 */
p,
li,
dd,
dt,
.text,
.description,
.item_description {
  line-height: 1.8;
  font-weight: 400;
}

/* 価格・ラベル・NEW/INFO系 */
.price,
.item_price,
.news_label,
.badge,
.label,
.tag {
  font-family:
    "Inter",
    "Noto Sans JP",
    sans-serif;
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* result title */
.nij-result-title {
	margin: 20px 0 10px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-result-title small {
	display: inline-block;
	margin-left: 10px;
	margin-top: 0;
	color: #777;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.6;
	vertical-align: middle;
}

@media (max-width: 767px) {
	.nij-result-title small {
		display: block;
		margin-left: 0;
		margin-top: 6px;
	}
}


/* =========================================
   NIC IN JUICE PRODUCT DETAIL - CLEAN WHITE
   商品詳細ページ / 白ベース + 控えめベージュ + 1180px幅
========================================= */

.nij-product-page {
	background: #fff;
	padding: 24px 0 56px;
}

.nij-product-soft {
	--nij-orange: #f28c00;
	--nij-orange-soft: #fff6ea;
	--nij-cream: #fffaf3;
	--nij-black: #222;
	--nij-text: #333;
	--nij-muted: #666;
	--nij-border: #e5e5e5;
	--nij-border-warm: #f1dfc6;

	max-width: 1180px;
	margin: 0 auto;
	padding: 0 16px;
	color: var(--nij-text);
}

.nij-product-soft *,
.nij-product-soft *::before,
.nij-product-soft *::after {
	box-sizing: border-box;
}

.nij-product-soft a {
	color: inherit;
	text-decoration: none;
}


/* =========================================
   Main product area
========================================= */

.nij-product-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0;
	align-items: stretch;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: none;
}

.nij-product-hero__image,
.nij-product-hero__info {
	min-width: 0;
}

.nij-product-image-card,
.nij-product-summary-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.nij-product-image-card {
	height: 100%;
	padding: 24px;
	background: #fff;
	border-right: 1px solid var(--nij-border);
}

.nij-product-main-image-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
}

.nij-product-main-img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: contain;
	border-radius: 10px;
}

.nij-product-thumb-area {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.nij-product-thumb {
	display: block;
	width: 64px;
	height: 64px;
	padding: 3px;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 10px;
	overflow: hidden;
}

.nij-product-thumb:hover {
	border-color: var(--nij-orange);
}

.nij-product-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
	border-radius: 7px;
}

.nij-product-summary-card {
	height: 100%;
	padding: 32px;
	background: #fff;
}


/* =========================================
   Status badges
========================================= */

.nij-product-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0 0 14px;
}

.nij-product-badges span {
	display: inline-flex;
	align-items: center;
	padding: 5px 9px;
	background: var(--nij-orange-soft);
	border: 1px solid var(--nij-border-warm);
	border-radius: 999px;
	color: var(--nij-orange);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}


/* =========================================
   Title / Brand / Lead
========================================= */

.nij-product-brand {
	margin: 0 0 8px;
	color: var(--nij-orange);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.nij-product-title {
	margin: 0 0 14px;
	color: var(--nij-black);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

.nij-product-lead {
	margin: 0 0 18px;
	color: var(--nij-muted);
	font-size: 14px;
	line-height: 1.8;
}


/* =========================================
   Price
========================================= */

.nij-product-price {
	margin: 0 0 20px;
	padding: 18px 0;
	border-top: 1px solid var(--nij-border);
	border-bottom: 1px solid var(--nij-border);
	color: var(--nij-black);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}

.nij-product-price.is-sale #priceSpanorg,
.nij-product-price.is-sale #priceSpan {
	color: #d60000;
}

.nij-product-price .price-strike,
.nij-product-price .strike {
	margin-left: 8px;
	color: #999;
	text-decoration: line-through;
	font-size: 15px;
	font-weight: 500;
}

/* =========================================
   Product meta
========================================= */

.nij-product-meta {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0 0 20px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.nij-product-meta div {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 12px;
	align-items: start;
	padding: 0;
	background: transparent;
}

.nij-product-meta span {
	display: block;
	color: var(--nij-orange);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.nij-product-meta strong {
	display: block;
	color: var(--nij-black);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	word-break: break-word;
}


/* =========================================
   Action area
========================================= */

.nij-product-actions {
	margin-top: 18px;
	padding: 20px;
	background: var(--nij-cream);
	border: 1px solid var(--nij-border-warm);
	border-radius: 14px;
}

.nij-product-sub-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.nij-product-sub-btn,
.nij-product-sub-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 14px;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 999px;
	color: var(--nij-black);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.nij-product-sub-btn:hover,
.nij-product-sub-actions a:hover {
	border-color: var(--nij-orange);
	color: var(--nij-orange);
	text-decoration: none;
}

.nij-product-cart-form {
	margin: 0;
}

.nij-product-option {
	margin: 0 0 14px;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 10px;
}

.nij-product-option label {
	display: block;
	margin: 0 0 8px;
	color: var(--nij-black);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-product-option .form-control {
	height: 44px;
	border-color: var(--nij-border);
	border-radius: 10px;
	box-shadow: none;
}

.nij-product-cart-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 14px 24px;
	background: var(--nij-orange);
	border: 1px solid var(--nij-orange);
	border-radius: 999px;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 0 8px 18px rgba(242, 140, 0, 0.2);
	cursor: pointer;
}

.nij-product-cart-btn:hover {
	background: #de8000;
	border-color: #de8000;
	color: #fff;
}

.nij-product-cart-btn:disabled {
	background: #bbb;
	border-color: #bbb;
	box-shadow: none;
	cursor: not-allowed;
}

.nij-product-small-note {
	margin: 12px 0 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: #777;
	font-size: 12px;
	line-height: 1.7;
}

.nij-product-error {
	margin: 0 0 14px;
	padding: 11px 13px;
	background: #fff2f2;
	border: 1px solid #f0b4b4;
	border-radius: 12px;
}


/* =========================================
   Lower content
========================================= */

.nij-product-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	margin: 28px 0 0;
}

.nij-product-content-card {
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 14px;
	box-shadow: none;
	padding: 30px;
}

.nij-product-content-card--wide {
	grid-column: auto;
}

.nij-product-section-label {
	margin: 0 0 8px;
	color: var(--nij-orange);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.nij-product-content-card h2 {
	margin: 0 0 18px;
	color: var(--nij-black);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
}

.nij-product-description {
	color: var(--nij-text);
	font-size: 15px;
	line-height: 1.9;
}

.nij-product-description p {
	margin: 0 0 1em;
}

.nij-product-description p:last-child {
	margin-bottom: 0;
}

.nij-product-description img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

.nij-product-description table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0;
	background: #fff;
}

.nij-product-description th,
.nij-product-description td {
	padding: 12px;
	border: 1px solid var(--nij-border);
	font-size: 14px;
	line-height: 1.7;
}

.nij-product-description th {
	background: var(--nij-cream);
	color: var(--nij-black);
	font-weight: 700;
}


/* =========================================
   Important list
========================================= */

.nij-product-important-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.nij-product-important-list div {
	padding: 16px;
	background: var(--nij-cream);
	border: 1px solid var(--nij-border-warm);
	border-radius: 12px;
}

.nij-product-important-list h3 {
	margin: 0 0 8px;
	color: var(--nij-black);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-product-important-list p {
	margin: 0;
	font-size: 13px;
	line-height: 1.75;
}


/* =========================================
   Existing popup compatibility
========================================= */

#wishlist-popup-message,
#waitinglist-popup-message {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 100000;
	min-width: 220px;
	max-width: calc(100% - 32px);
	padding: 14px 18px;
	background: rgba(34, 34, 34, 0.92);
	border-radius: 12px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	transform: translate(-50%, -50%);
	margin-left: 0 !important;
}

#wishlist-message,
#waitinglist-message {
	color: #fff;
}

/* =========================================
   Responsive
========================================= */

@media (max-width: 991px) {
	.nij-product-hero {
		grid-template-columns: 1fr;
	}

	.nij-product-image-card {
		border-right: 0;
		border-bottom: 1px solid var(--nij-border);
	}

	.nij-product-main-image-wrap {
		min-height: auto;
	}

	.nij-product-important-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.nij-product-page {
		padding: 16px 0 42px;
	}

	.nij-product-soft {
		padding: 0 12px;
	}

	.nij-product-hero {
		border-radius: 14px;
	}

	.nij-product-image-card {
		padding: 14px;
	}

	.nij-product-summary-card {
		padding: 22px 18px;
	}

	.nij-product-title {
		font-size: 22px;
	}

	.nij-product-price {
		font-size: 28px;
		padding: 15px 0;
	}

	.nij-product-meta div {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.nij-product-actions {
		padding: 16px;
		border-radius: 12px;
	}

	.nij-product-sub-actions {
		flex-direction: column;
	}

	.nij-product-sub-actions a {
		width: 100%;
	}

	.nij-product-content-card {
		padding: 22px 18px;
		border-radius: 14px;
	}

	.nij-product-content-card h2 {
		font-size: 20px;
	}

	.nij-product-thumb {
		width: 58px;
		height: 58px;
	}
}


/* =========================================
   NIC IN JUICE CART PAGE - AIRY CLEAN / LESS ROUND
   白ベース + 余白多め + 数量自動反映対応
   丸み控えめ / CTAのみ丸み強め
========================================= */

.nij-cart-page {
	background: #fff;
	padding: 28px 0 64px;
}

.nij-cart-shell {
	--nij-orange: #f28c00;
	--nij-orange-soft: #fff6ea;
	--nij-cream: #fffaf3;
	--nij-black: #222;
	--nij-text: #333;
	--nij-muted: #666;
	--nij-border: #e5e5e5;
	--nij-border-warm: #f1dfc6;
	--nij-danger: #c1272d;

	max-width: 1180px;
	margin: 0 auto;
	padding: 0 16px;
	color: var(--nij-text);
}

.nij-cart-shell *,
.nij-cart-shell *::before,
.nij-cart-shell *::after {
	box-sizing: border-box;
}

.nij-cart-shell a {
	color: inherit;
	text-decoration: none;
}

.nij-cart-shell p {
	color: var(--nij-muted);
	font-size: 15px;
	line-height: 1.85;
}

.nij-cart-label {
	margin: 0 0 8px;
	color: var(--nij-orange);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.nij-cart-head {
	margin: 0 0 26px;
}

.nij-cart-head h1 {
	margin: 0 0 10px;
	color: var(--nij-black);
	font-size: 32px;
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: 0.03em;
}

.nij-cart-head p {
	margin: 0;
}


/* =========================================
   Empty / Error
========================================= */

.nij-cart-empty {
	padding: 38px;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 8px;
	text-align: center;
}

.nij-cart-empty h2 {
	margin: 0 0 10px;
	color: var(--nij-black);
	font-size: 22px;
	font-weight: 700;
}

.nij-cart-empty p {
	margin: 0 0 22px;
}

.nij-cart-error {
	margin: 0 0 20px;
	padding: 14px 16px;
	background: #fff2f2;
	border: 1px solid #f0b4b4;
	border-radius: 8px;
	color: var(--nij-danger);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
}


/* =========================================
   Layout
========================================= */

.nij-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 28px;
	align-items: start;
}

.nij-cart-main {
	min-width: 0;
}

.nij-cart-list-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px 130px 130px;
	gap: 0;
	margin: 0 0 10px;
	padding: 0 22px;
	color: var(--nij-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.nij-cart-list-head div:nth-child(3),
.nij-cart-list-head div:nth-child(4) {
	text-align: right;
}

.nij-cart-list {
	display: grid;
	gap: 16px;
}


/* =========================================
   Cart Item
========================================= */

.nij-cart-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px 130px 130px;
	gap: 0;
	align-items: stretch;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 8px;
	overflow: hidden;
	transition: opacity 0.2s ease;
}

.nij-cart-item.is-updating {
	opacity: 0.55;
	pointer-events: none;
}

.nij-cart-item__product {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	padding: 20px;
	min-width: 0;
}

.nij-cart-item__image {
	width: 96px;
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 6px;
	overflow: hidden;
}

.nij-cart-item__image img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
}

.nij-cart-item__body {
	min-width: 0;
}

.nij-cart-item__body h2 {
	margin: 0 0 10px;
	color: var(--nij-black);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-cart-item__body h2 a:hover {
	color: var(--nij-orange);
}

.nij-cart-item__option {
	margin: 0;
	color: var(--nij-muted);
	font-size: 12px !important;
	line-height: 1.6 !important;
}

.nij-cart-item__qty,
.nij-cart-item__price,
.nij-cart-item__total {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px 18px;
}

.nij-cart-item__price,
.nij-cart-item__total {
	text-align: right;
}

.nij-cart-item .price {
	color: var(--nij-black);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-cart-item .price small {
	color: var(--nij-muted);
	font-size: 12px;
	font-weight: 700;
}

.nij-cart-item .price-total {
	color: var(--nij-orange);
}


/* =========================================
   Quantity
========================================= */

.nij-cart-qty-box {
	display: flex;
	align-items: center;
	gap: 10px;
}

.nij-cart-qty-box select.form-control,
.nij-cart-qty-select {
	width: 82px;
	height: 42px;
	border-color: var(--nij-border);
	border-radius: 6px;
	box-shadow: none;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.nij-cart-qty-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.nij-cart-remove-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	background: #fff;
	border: 1px solid #e0b4b4;
	border-radius: 6px;
	color: var(--nij-danger);
	font-size: 12px;
	line-height: 1;
}

.nij-cart-remove-btn:hover {
	background: var(--nij-danger);
	border-color: var(--nij-danger);
	color: #fff;
}


/* =========================================
   Summary
========================================= */

.nij-cart-summary {
	position: sticky;
	top: 92px;
}

.nij-cart-summary-card {
	padding: 24px;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 8px;
}

.nij-cart-summary-card h2 {
	margin: 0 0 20px;
	color: var(--nij-black);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
}

.nij-cart-summary-rows {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--nij-border);
}

.nij-cart-summary-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 16px;
	align-items: start;
	padding: 15px 0;
	border-bottom: 1px solid var(--nij-border);
}

.nij-cart-summary-row span {
	color: var(--nij-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-cart-summary-row strong {
	color: var(--nij-black);
	font-size: 15px;
	font-weight: 700;
	text-align: right;
	line-height: 1.5;
}

.nij-cart-summary-row strong small {
	color: var(--nij-muted);
	font-size: 12px;
}

.nij-cart-summary-row.is-discount strong {
	color: var(--nij-danger);
}

.nij-cart-summary-total {
	margin-top: 8px;
	padding-top: 20px;
	border-bottom: 0;
}

.nij-cart-summary-total span {
	color: var(--nij-black);
	font-size: 15px;
	font-weight: 700;
}

.nij-cart-summary-total strong {
	color: var(--nij-orange);
	font-size: 25px;
}

.nij-cart-summary-note {
	padding: 11px 0;
	border-bottom: 1px solid var(--nij-border);
	color: var(--nij-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
	text-align: right;
}

.nij-cart-coupon-box {
	margin: 16px 0;
	padding: 16px;
	background: var(--nij-cream);
	border: 1px solid var(--nij-border-warm);
	border-radius: 8px;
}

.nij-cart-coupon-box p {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.7;
}

.nij-cart-coupon-box p:last-child {
	margin-bottom: 0;
}

.nij-cart-coupon-box strong {
	color: var(--nij-danger);
}


/* =========================================
   Buttons
========================================= */

.nij-cart-summary-actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 22px;
}

.nij-cart-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 13px 22px;
	border-radius: 8px;
	border: 1px solid var(--nij-border);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.nij-cart-btn-primary {
	background: var(--nij-orange);
	border-color: var(--nij-orange);
	border-radius: 999px;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(242, 140, 0, 0.2);
}

.nij-cart-btn-primary:hover {
	background: #de8000;
	border-color: #de8000;
	color: #fff !important;
}

.nij-cart-btn-primary:disabled {
	background: #bbb;
	border-color: #bbb;
	box-shadow: none;
	cursor: not-allowed;
}

.nij-cart-btn-secondary {
	background: #fff;
	border-radius: 8px;
	color: var(--nij-black) !important;
}

.nij-cart-btn-secondary:hover {
	border-color: var(--nij-orange);
	color: var(--nij-orange) !important;
}


/* =========================================
   Alerts / Notes / Important
========================================= */

.nij-cart-limit-alert {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 18px;
	margin: 22px 0 0;
	padding: 20px 22px;
	background: #fff2f2;
	border: 1px solid #efb2b2;
	border-radius: 8px;
}

.nij-cart-limit-alert__label {
	color: var(--nij-danger);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.5;
}

.nij-cart-limit-alert__body {
	color: var(--nij-text);
	font-size: 14px;
	line-height: 1.8;
}

.nij-cart-limit-alert__body strong {
	color: var(--nij-danger);
}

.nij-cart-limit-alert__body a {
	color: var(--nij-danger);
	font-weight: 700;
	text-decoration: underline;
}

.nij-cart-note-card {
	margin: 22px 0 0;
	padding: 18px 20px;
	background: var(--nij-cream);
	border: 1px solid var(--nij-border-warm);
	border-radius: 8px;
}

.nij-cart-note-card p {
	margin: 0;
	font-size: 13px;
	line-height: 1.85;
}

.nij-cart-important-card {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 18px;
	margin: 22px 0 0;
	padding: 20px 22px;
	background: var(--nij-cream);
	border: 1px solid var(--nij-border-warm);
	border-radius: 8px;
}

.nij-cart-important-card__label {
	color: var(--nij-orange);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.5;
}

.nij-cart-important-card__body h2 {
	margin: 0 0 10px;
	color: var(--nij-black);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-cart-important-card__body p {
	margin: 0 0 10px;
	color: var(--nij-text);
	font-size: 13px;
	line-height: 1.85;
}

.nij-cart-important-card__body p:last-child {
	margin-bottom: 0;
}

.nij-cart-important-card__body strong {
	color: var(--nij-danger);
	font-weight: 700;
}

.nij-cart-important-card__link a {
	color: var(--nij-danger);
	font-weight: 700;
	text-decoration: underline;
}


/* =========================================
   Coupon Section
========================================= */

.nij-cart-coupon-section {
	margin: 32px 0 0;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--nij-border);
	border-radius: 8px;
}

.nij-cart-coupon-section h2 {
	margin: 0 0 16px;
	color: var(--nij-black);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
}

.nij-cart-coupon-form {
	margin: 0;
}

.nij-cart-coupon-form .form-control {
	height: 46px;
	border-color: var(--nij-border);
	border-radius: 6px;
	box-shadow: none;
	padding-left: 18px;
	padding-right: 18px;
}

.nij-cart-coupon-action {
	max-width: 220px;
	margin-left: auto;
}


/* =========================================
   Responsive
========================================= */

@media (max-width: 991px) {
	.nij-cart-layout {
		grid-template-columns: 1fr;
	}

	.nij-cart-summary {
		position: static;
	}

	.nij-cart-item {
		grid-template-columns: minmax(0, 1fr) 150px 120px 120px;
	}
}

@media (max-width: 767px) {
	.nij-cart-page {
		padding: 16px 0 42px;
	}

	.nij-cart-shell {
		padding: 0 12px;
	}

	.nij-cart-head h1 {
		font-size: 24px;
	}

	.nij-cart-limit-alert,
	.nij-cart-important-card {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 16px;
		border-radius: 8px;
	}

	.nij-cart-item {
		grid-template-columns: 1fr;
		border-radius: 8px;
	}

	.nij-cart-item__product {
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 14px;
		padding: 16px;
		border-bottom: 1px solid var(--nij-border);
	}

	.nij-cart-item__image {
		width: 82px;
		height: 82px;
		border-radius: 6px;
	}

	.nij-cart-item__body h2 {
		font-size: 14px;
	}

	.nij-cart-item__qty,
	.nij-cart-item__price,
	.nij-cart-item__total {
		padding: 14px 16px;
		text-align: left;
		border-bottom: 1px solid var(--nij-border);
	}

	.nij-cart-item__total {
		border-bottom: 0;
	}

	.nij-cart-mobile-label,
	.nij-cart-item__qty label {
		display: block !important;
		margin: 0 0 6px;
		color: var(--nij-orange);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.08em;
		line-height: 1.4;
	}

	.nij-cart-summary-card,
	.nij-cart-coupon-section {
		padding: 18px;
		border-radius: 8px;
	}

	.nij-cart-summary-total strong {
		font-size: 22px;
	}

	.nij-cart-coupon-action {
		max-width: none;
	}

	.nij-cart-btn {
		border-radius: 8px;
	}

	.nij-cart-btn-primary {
		border-radius: 999px;
	}
}

.nij-cart-summary-row strong .nij-cart-free-shipping,
.nij-cart-free-shipping {
	color: var(--nij-orange) !important;
	font-weight: 700;
}

.nij-cart-shipping-pending {
	color: var(--nij-muted);
	font-size: 12px;
	font-weight: 700;
}

.nij-cart-btn-primary:disabled {
	background: #b8b8b8;
	border-color: #b8b8b8;
	color: #fff !important;
	box-shadow: none;
	opacity: 0.65;
	cursor: not-allowed;
}

/* ======================================
   Topbar h1 reset
====================================== */

h1.nij-modern-topbar.nij-modern-topbar-h1 {
	margin: 0;
	padding: 0 16px;
	height: 34px;
	background: #f7f7f7;
	border-bottom: 1px solid #ececec;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #666;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.4;
	text-align: center;
	box-sizing: border-box;
}

@media screen and (max-width: 991px) {
	h1.nij-modern-topbar.nij-modern-topbar-h1 {
		height: auto;
		min-height: 36px;
		max-height: 80px;
		padding: 8px 18px;
		font-size: 12px;
		line-height: 1.65;
		letter-spacing: .04em;
		overflow: hidden;
		opacity: 1;
		transition:
			max-height .28s ease,
			min-height .28s ease,
			padding .28s ease,
			opacity .2s ease,
			border-color .2s ease;
	}

	.nij-modern-header.scrolled h1.nij-modern-topbar.nij-modern-topbar-h1 {
		min-height: 0;
		max-height: 0;
		padding-top: 0;
		padding-bottom: 0;
		opacity: 0;
		border-bottom-color: transparent;
	}
}

@media screen and (max-width: 480px) {
	h1.nij-modern-topbar.nij-modern-topbar-h1 {
		padding: 7px 14px;
		font-size: 11px;
		line-height: 1.6;
	}
}


/* ======================================
   NIC IN JUICE Checkout Page
====================================== */

.nij-checkout-page {
	background: #f6f6f6;
	padding: 42px 0 72px;
}

.nij-checkout-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-checkout-head {
	margin-bottom: 26px;
	padding: 34px 36px;
	background: #fff;
	border: 1px solid #e8e8e8;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-checkout-label {
	margin: 0 0 8px;
	color: #f28c00;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.4;
}

.nij-checkout-head h1 {
	margin: 0 0 10px;
	color: #111;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: .04em;
}

.nij-checkout-head p {
	margin: 0;
	color: #666;
	font-size: 14px;
	line-height: 1.8;
}

.nij-checkout-progress {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-bottom: 22px;
}

.nij-checkout-progress__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid #e5e5e5;
	color: #888;
}

.nij-checkout-progress__item span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: #eee;
	color: #555;
	font-size: 13px;
	font-weight: 700;
}

.nij-checkout-progress__item strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-checkout-progress__item.is-active {
	border-color: #111;
	color: #111;
	box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

.nij-checkout-progress__item.is-active span {
	background: #111;
	color: #fff;
}

.nij-checkout-progress__item.is-complete {
	border-color: #f28c00;
	color: #111;
}

.nij-checkout-progress__item.is-complete span {
	background: #f28c00;
	color: #fff;
}

.nij-checkout-layout {
	display: block !important;
}

.nij-checkout-main {
	width: 100% !important;
	max-width: 100% !important;
}

.nij-checkout-side {
	display: none !important;
}

.nij-checkout-guide-card {
	padding: 24px;
	background: #fff;
	border: 1px solid #e8e8e8;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-checkout-guide-card h2 {
	margin: 0 0 18px;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-checkout-guide-list {
	display: grid;
	gap: 16px;
}

.nij-checkout-guide-list div {
	padding-top: 16px;
	border-top: 1px solid #eee;
}

.nij-checkout-guide-list div:first-child {
	padding-top: 0;
	border-top: none;
}

.nij-checkout-guide-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-checkout-guide-list p {
	margin: 0;
	color: #666;
	font-size: 12px;
	line-height: 1.8;
}

/* Bootstrap panel override */

.nij-checkout-accordion {
	width: 100% !important;
}

.nij-checkout-panel {
	margin: 0 0 16px !important;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 0;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-checkout-panel-heading {
	padding: 0;
	background: #fff !important;
	border-bottom: 1px solid #eee !important;
}

.nij-checkout-panel-heading .panel-title {
	margin: 0;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-checkout-panel-heading .panel-title > a,
.nij-checkout-panel-heading .panel-title {
	display: block;
	padding: 20px 24px;
	color: #111;
	text-decoration: none;
}

.nij-checkout-panel-heading .panel-title > a:hover,
.nij-checkout-panel-heading .panel-title > a:focus {
	color: #111;
	text-decoration: none;
}

.nij-checkout-panel-body {
	padding: 26px 24px 30px;
	border-top: none !important;
}

/* Form common */

.nij-checkout-page .form-group {
	margin-bottom: 22px;
}

.nij-checkout-page label,
.nij-checkout-page .control-label {
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-checkout-page .form-control {
	height: 46px;
	border: 1px solid #dcdcdc;
	border-radius: 0;
	box-shadow: none;
	color: #111;
	font-size: 14px;
}

.nij-checkout-page .form-control:focus {
	border-color: #111;
	box-shadow: none;
}

.nij-checkout-page .input-group-addon {
	border-radius: 0;
	border-color: #dcdcdc;
	background: #f5f5f5;
	color: #555;
}

.nij-checkout-page legend {
	margin: 0 0 22px;
	padding: 0 0 12px;
	border-bottom: 2px solid #111;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-checkout-page .small,
.nij-checkout-page small {
	line-height: 1.7;
}

.nij-checkout-page .text-danger {
	color: #c1272d;
}

.nij-checkout-page .alert {
	border-radius: 0;
}

/* Payment method cards */

.nij-checkout-page #payment_request {
	margin: 0;
}

.nij-checkout-page #payment_request_error {
	margin: 0 0 16px;
	padding: 12px 14px;
	background: #fff3f3;
	border: 1px solid #f0b8b8;
	color: #c1272d !important;
	font-size: 13px;
	font-weight: 700;
}

.nij-checkout-page #payment_request .radio {
	margin: 0 0 12px;
}

.nij-checkout-page #payment_request .radio label {
	position: relative;
	display: block;
	min-height: 86px;
	padding: 18px 20px 18px 52px;
	background: #fff;
	border: 1px solid #e2e2e2;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.75;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.nij-checkout-page #payment_request .radio label:hover {
	border-color: #111;
	background: #fff;
	box-shadow: 0 10px 24px rgba(0,0,0,.04);
}

.nij-checkout-page #payment_request .radio input[type="radio"] {
	position: absolute;
	top: 22px;
	left: 20px;
	margin: 0;
}

.nij-checkout-page #payment_request .radio label:has(input[type="radio"]:checked) {
	border-color: #111;
	background: #fffaf2;
	box-shadow: inset 4px 0 0 #f28c00, 0 10px 24px rgba(0,0,0,.04);
}

.nij-checkout-page #payment_request .radio img {
	display: block;
	max-width: 250px;
	height: auto;
	margin: 10px 0 8px;
}

.nij-checkout-page #payment_request .radio p {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.7;
}

/* NMI card block */

.nij-checkout-card-input,
#nmi-credit-card-block.nij-checkout-card-input {
	margin: 18px 0 0 !important;
	padding: 24px !important;
	background: #fafafa !important;
	border: 1px solid #e2e2e2 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.nij-checkout-card-input h4 {
	margin: 0 0 20px !important;
	padding-bottom: 12px;
	border-bottom: 2px solid #111;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-checkout-card-name-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.nij-checkout-card-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.nij-checkout-collect-field,
#ccnumber,
#ccexp,
#cvv {
	min-height: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	padding: 0 12px !important;
	background: #fff !important;
	border: 1px solid #dcdcdc !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.nij-checkout-card-status {
	margin-top: 14px;
}

.nij-checkout-card-note {
	margin: 14px 0 0;
	color: #666;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.8;
}

.nij-checkout-update-card-btn {
	margin-top: 16px;
	border-radius: 0;
	font-weight: 700;
}

/* Step action */

.nij-checkout-step-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid #eee;
}

.nij-checkout-step-actions .btn-nij {
	min-width: 220px;
}

/* Buttons */

.nij-checkout-page .buttons {
	margin-top: 26px;
}

.nij-checkout-page .btn-nij,
.nij-checkout-page .btn-primary,
.nij-checkout-page .btn-default,
.nij-checkout-page .btn-glay {
	min-height: 46px;
	padding: 12px 22px;
	border-radius: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-checkout-page .btn-nij {
	background: #111;
	border-color: #111;
	color: #fff;
}

.nij-checkout-page .btn-nij:hover,
.nij-checkout-page .btn-nij:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-checkout-page .btn-default,
.nij-checkout-page .btn-glay {
	background: #fff;
	border-color: #d8d8d8;
	color: #111;
}

.nij-checkout-page .btn-default:hover,
.nij-checkout-page .btn-glay:hover {
	background: #f5f5f5;
	color: #111;
}

/* Confirm table */

.nij-checkout-page table.table {
	background: #fff;
	border: 1px solid #e5e5e5;
}

.nij-checkout-page table.table > thead > tr > td,
.nij-checkout-page table.table > tbody > tr > td,
.nij-checkout-page table.table > tfoot > tr > td {
	border-color: #e5e5e5;
	vertical-align: middle;
}

.nij-checkout-page table.table > thead > tr > td {
	background: #111;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
}

.nij-checkout-page table.table > tfoot > tr > td {
	background: #fafafa;
	font-weight: 700;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-checkout-page {
		padding: 24px 0 52px;
	}

	.nij-checkout-head {
		padding: 28px 22px;
	}

	.nij-checkout-head h1 {
		font-size: 28px;
	}

	.nij-checkout-layout {
		grid-template-columns: 1fr;
	}

	.nij-checkout-side {
		position: static;
	}

	.nij-checkout-progress {
		grid-template-columns: 1fr;
	}

	.nij-checkout-progress__item {
		padding: 14px 16px;
	}

	.nij-checkout-panel-heading .panel-title > a,
	.nij-checkout-panel-heading .panel-title {
		padding: 18px 18px;
	}

	.nij-checkout-panel-body {
		padding: 22px 18px 26px;
	}
}

@media screen and (max-width: 767px) {
	.nij-checkout-page #payment_request .radio label {
		min-height: 0;
		padding: 16px 16px 16px 46px;
		font-size: 13px;
	}

	.nij-checkout-page #payment_request .radio input[type="radio"] {
		top: 20px;
		left: 16px;
	}

	.nij-checkout-card-name-row,
	.nij-checkout-card-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.nij-checkout-step-actions {
		display: block;
	}

	.nij-checkout-step-actions .btn-nij {
		width: 100%;
		min-width: 0;
	}
}

@media screen and (max-width: 480px) {
	.nij-checkout-shell {
		width: calc(100% - 24px);
	}

	.nij-checkout-head {
		padding: 24px 18px;
	}

	.nij-checkout-head h1 {
		font-size: 24px;
	}

	.nij-checkout-page .buttons .pull-right,
	.nij-checkout-page .buttons .pull-left {
		float: none !important;
		width: 100%;
	}

	.nij-checkout-page .buttons .btn,
	.nij-checkout-page .buttons input[type="button"],
	.nij-checkout-page .buttons input[type="submit"] {
		width: 100%;
	}
}

/* ======================================
   CHECKOUT PAYMENT - LOCAL STYLE
   payment.html 内に一旦直書き
====================================== */

#payment_request {
	margin: 0;
}

#payment_request .nij-payment-method-list {
	display: block;
}

#payment_request .radio.nij-payment-method {
	margin: 0 0 14px;
	padding: 0;
}

#payment_request .radio.nij-payment-method > label {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 22px 24px 22px 62px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 0;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	cursor: pointer;
	white-space: normal;
	box-shadow: none;
}

#payment_request .radio.nij-payment-method > label:hover {
	border-color: #111;
	box-shadow: 0 10px 24px rgba(0,0,0,.04);
}

#payment_request .radio.nij-payment-method input[type="radio"] {
	position: absolute;
	top: 28px;
	left: 24px;
	margin: 0;
	transform: scale(1.1);
}

#payment_request .nij-payment-method__body {
	display: block;
	width: 100%;
}

#payment_request .nij-payment-method__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 8px;
}

#payment_request .nij-payment-method__head strong {
	display: block;
	margin: 0;
	color: #111;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

#payment_request .nij-payment-method__head em {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 26px;
	margin: 0;
	padding: 4px 10px;
	background: #111;
	color: #fff;
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.2;
	white-space: nowrap;
}

#payment_request .nij-payment-method-usd .nij-payment-method__head em,
#payment_request .nij-payment-method-nmi .nij-payment-method__head em {
	background: #f28c00;
}

#payment_request .nij-payment-method__desc {
	display: block;
	margin: 0 0 8px;
	color: #555;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.7;
}

#payment_request .nij-payment-method__brand {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	margin: 0;
	padding: 4px 9px;
	background: #f5f5f5;
	color: #333;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

#payment_request .nij-payment-method__notice-text {
	display: block;
	margin: 12px 0 0;
	padding: 10px 12px;
	background: #fff8ed;
	border-left: 3px solid #f28c00;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

#payment_request .radio.nij-payment-method img {
	display: block;
	max-width: 220px;
	height: auto;
	margin: 14px 0 10px;
}

#payment_request .radio.nij-payment-method small {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

#payment_request .radio.nij-payment-method > label:has(input[type="radio"]:checked) {
	border-color: #111;
	background: #fffaf2;
	box-shadow: inset 4px 0 0 #f28c00, 0 10px 24px rgba(0,0,0,.04);
}

#nmi-credit-card-block {
	margin: 18px 0 0;
	padding: 24px;
	background: #fafafa;
	border: 1px solid #e2e2e2;
	border-radius: 0;
}

#nmi-credit-card-block h4 {
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid #111;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-checkout-card-name-row,
.nij-checkout-card-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.nij-checkout-collect-field,
#ccnumber,
#ccexp,
#cvv {
	min-height: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	padding: 0 12px;
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 0;
	box-shadow: none;
}

.nij-checkout-step-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 30px;
	padding-top: 26px;
	border-top: 1px solid #eee;
}

#button-payment-method {
	min-width: 280px;
	height: 58px;
	padding: 0 30px;
	background: #111;
	border: 1px solid #111;
	border-radius: 0;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
}

#button-payment-method:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

@media screen and (max-width: 767px) {
	#payment_request .radio.nij-payment-method > label {
		padding: 18px 16px 18px 48px;
		font-size: 14px;
	}

	#payment_request .radio.nij-payment-method input[type="radio"] {
		top: 24px;
		left: 17px;
	}

	#payment_request .nij-payment-method__head {
		display: block;
	}

	#payment_request .nij-payment-method__head em {
		margin-top: 8px;
	}

	.nij-checkout-card-name-row,
	.nij-checkout-card-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.nij-checkout-step-actions {
		display: block;
	}

	#button-payment-method {
		width: 100%;
		min-width: 0;
	}
}

/* ======================================
   NMI Credit Card Form Refinement
====================================== */

.nij-checkout-page #nmi-credit-card-block.nij-nmi-card-block {
	margin: 20px 0 0 !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #e1e1e1 !important;
	border-radius: 0 !important;
	box-shadow: 0 12px 30px rgba(0,0,0,.04) !important;
	overflow: hidden;
}

.nij-nmi-card-head {
	padding: 24px 26px 22px;
	background: #111;
	color: #fff;
}

.nij-nmi-card-label {
	margin: 0 0 8px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.4;
}

.nij-nmi-card-head h4 {
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: none !important;
	color: #fff !important;
	font-size: 20px !important;
	font-weight: 900 !important;
	line-height: 1.35 !important;
	letter-spacing: .04em;
}

.nij-nmi-card-head p {
	margin: 0;
	color: rgba(255,255,255,.78);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.8;
}

/* ======================================
   NMI Card Header - light editorial
====================================== */

.nij-checkout-page .nij-nmi-card-head {
	position: relative;
	padding: 26px 28px 24px;
	background: #fff !important;
	color: #111 !important;
	border-bottom: 1px solid #e8e8e8;
}

.nij-checkout-page .nij-nmi-card-head:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #111;
}

.nij-checkout-page .nij-nmi-card-label {
	display: inline-flex;
	align-items: center;
	margin: 0 0 10px;
	padding: 5px 9px;
	background: #fff3df;
	color: #b56700;
	border-left: 3px solid #f28c00;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.3;
}

.nij-checkout-page .nij-nmi-card-head h4 {
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: none !important;
	color: #111 !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	line-height: 1.35 !important;
	letter-spacing: .04em;
}

.nij-checkout-page .nij-nmi-card-head p {
	margin: 0;
	max-width: 760px;
	color: #555 !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-nmi-card-notice {
	margin: 0;
	padding: 16px 26px;
	background: #fff8ed;
	border-bottom: 1px solid #f3dfbf;
}

.nij-nmi-card-notice strong {
	display: block;
	margin: 0 0 4px;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-nmi-card-notice p {
	margin: 0;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-nmi-card-section {
	padding: 24px 26px 2px;
	border-bottom: 1px solid #eee;
}

.nij-nmi-card-section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
}

.nij-nmi-card-section-title span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: #111;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.nij-nmi-card-section-title strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-nmi-card-name-row,
.nij-nmi-card-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.nij-checkout-page .nij-nmi-card-block .form-group {
	margin-bottom: 22px;
}

.nij-checkout-page .nij-nmi-card-block label,
.nij-checkout-page .nij-nmi-card-block .control-label {
	margin-bottom: 7px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-checkout-page .nij-nmi-card-block .form-control {
	height: 48px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 0;
	box-shadow: none;
	color: #111;
	font-size: 14px;
	font-weight: 600;
}

.nij-checkout-page .nij-nmi-card-block .form-control:focus {
	border-color: #111;
	box-shadow: none;
}

.nij-checkout-page .nij-nmi-card-block small {
	display: block;
	margin-top: 6px;
	color: #777;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.6;
}

.nij-checkout-page .nij-nmi-collect-field,
.nij-checkout-page #ccnumber.nij-nmi-collect-field,
.nij-checkout-page #ccexp.nij-nmi-collect-field,
.nij-checkout-page #cvv.nij-nmi-collect-field {
	min-height: 48px !important;
	height: 48px !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 12px !important;
	background: #fff !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.nij-checkout-page .nij-nmi-collect-field:focus,
.nij-checkout-page #ccnumber.nij-nmi-collect-field:focus,
.nij-checkout-page #ccexp.nij-nmi-collect-field:focus,
.nij-checkout-page #cvv.nij-nmi-collect-field:focus {
	border-color: #111 !important;
}

.nij-nmi-card-status {
	padding: 18px 26px 0;
}

.nij-nmi-card-status .alert {
	margin: 0 0 16px;
	border-radius: 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-nmi-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 26px 24px;
	background: #fafafa;
}

.nij-nmi-card-footer p {
	margin: 0;
	color: #666;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.8;
}

.nij-nmi-update-card-btn,
.nij-checkout-page .nij-nmi-update-card-btn {
	flex: 0 0 auto;
	min-height: 44px;
	padding: 10px 18px;
	background: #fff;
	border: 1px solid #111;
	border-radius: 0;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-nmi-update-card-btn:hover,
.nij-checkout-page .nij-nmi-update-card-btn:hover {
	background: #111;
	border-color: #111;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.nij-nmi-card-head,
	.nij-nmi-card-notice,
	.nij-nmi-card-section,
	.nij-nmi-card-status,
	.nij-nmi-card-footer {
		padding-left: 18px;
		padding-right: 18px;
	}

	.nij-nmi-card-name-row,
	.nij-nmi-card-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.nij-nmi-card-footer {
		display: block;
	}

	.nij-nmi-card-footer p {
		margin-bottom: 14px;
	}

	.nij-nmi-update-card-btn,
	.nij-checkout-page .nij-nmi-update-card-btn {
		width: 100%;
	}
}

/* ======================================
   NMI CollectJS inner field fix
====================================== */

.nij-checkout-page .nij-nmi-collect-field,
.nij-checkout-page #ccnumber.nij-nmi-collect-field,
.nij-checkout-page #ccexp.nij-nmi-collect-field,
.nij-checkout-page #cvv.nij-nmi-collect-field {
	position: relative !important;
	min-height: 52px !important;
	height: 52px !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #d8d8d8 !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.nij-checkout-page .nij-nmi-collect-field iframe,
.nij-checkout-page #ccnumber iframe,
.nij-checkout-page #ccexp iframe,
.nij-checkout-page #cvv iframe {
	width: 100% !important;
	height: 52px !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
}

.nij-checkout-page .nij-nmi-collect-field:focus-within,
.nij-checkout-page #ccnumber.nij-nmi-collect-field:focus-within,
.nij-checkout-page #ccexp.nij-nmi-collect-field:focus-within,
.nij-checkout-page #cvv.nij-nmi-collect-field:focus-within {
	border-color: #111 !important;
}

/* NMI focused field adjustment */
.nij-checkout-page .nij-nmi-collect-field:focus-within,
.nij-checkout-page #ccnumber.nij-nmi-collect-field:focus-within,
.nij-checkout-page #ccexp.nij-nmi-collect-field:focus-within,
.nij-checkout-page #cvv.nij-nmi-collect-field:focus-within {
	border-color: #111 !important;
	box-shadow: inset 0 0 0 1px #111 !important;
	outline: none !important;
}

/* ======================================
   NMI CollectJS field stable style
====================================== */

.nij-checkout-page #ccnumber.nij-nmi-collect-field,
.nij-checkout-page #ccexp.nij-nmi-collect-field,
.nij-checkout-page #cvv.nij-nmi-collect-field,
.nij-checkout-page .nij-nmi-collect-field {
	position: relative !important;
	height: 52px !important;
	min-height: 52px !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.nij-checkout-page #ccnumber.nij-nmi-collect-field iframe,
.nij-checkout-page #ccexp.nij-nmi-collect-field iframe,
.nij-checkout-page #cvv.nij-nmi-collect-field iframe,
.nij-checkout-page .nij-nmi-collect-field iframe {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

/* フォーカス時は外側の枠だけ黒くする */
.nij-checkout-page #ccnumber.nij-nmi-collect-field:focus-within,
.nij-checkout-page #ccexp.nij-nmi-collect-field:focus-within,
.nij-checkout-page #cvv.nij-nmi-collect-field:focus-within,
.nij-checkout-page .nij-nmi-collect-field:focus-within {
	border-color: #111 !important;
	box-shadow: inset 0 0 0 1px #111 !important;
}

/* ======================================
   NMI Card Header spacing adjustment
====================================== */

.nij-checkout-page .nij-nmi-card-head {
	padding: 38px 32px 30px !important;
}

.nij-checkout-page .nij-nmi-card-head:before {
	height: 4px;
}

.nij-checkout-page .nij-nmi-card-label {
	margin: 0 0 14px !important;
}

.nij-checkout-page .nij-nmi-card-head h4 {
	margin: 0 0 12px !important;
}

.nij-checkout-page .nij-nmi-card-head p {
	line-height: 1.9;
}

/* Payment card brand icons */
.nij-checkout-page #payment_request .nij-payment-card-brand-img {
	display: block !important;
	width: auto !important;
	max-width: 150px !important;
	height: auto !important;
	margin: 12px 0 0 !important;
}

/* ======================================
   Checkout Mild Radius Override
   cart page compatible softness
====================================== */

.nij-checkout-head,
.nij-checkout-guide-card,
.nij-checkout-panel,
.nij-checkout-page #payment_request .radio.nij-payment-method > label,
.nij-checkout-page #nmi-credit-card-block.nij-nmi-card-block,
.nij-cart-summary-card,
.nij-cart-item {
	border-radius: 8px !important;
}

.nij-checkout-progress__item,
.nij-payment-maintenance,
.nij-payment-error,
.nij-checkout-page .alert,
.nij-nmi-card-notice,
.nij-nmi-card-footer {
	border-radius: 6px !important;
}

.nij-checkout-page .form-control,
.nij-checkout-page .btn-nij,
.nij-checkout-page .btn-primary,
.nij-checkout-page .btn-default,
.nij-checkout-page .btn-glay,
.nij-checkout-page #button-payment-method,
.nij-nmi-update-card-btn,
.nij-checkout-page .nij-nmi-update-card-btn,
.nij-checkout-page #ccnumber.nij-nmi-collect-field,
.nij-checkout-page #ccexp.nij-nmi-collect-field,
.nij-checkout-page #cvv.nij-nmi-collect-field,
.nij-checkout-page .nij-nmi-collect-field {
	border-radius: 5px !important;
}

.nij-checkout-progress__item span,
.nij-nmi-card-section-title span,
.nij-payment-method__head em,
.nij-payment-method__brand,
.nij-checkout-page .nij-nmi-card-label {
	border-radius: 4px !important;
}

/* panel内の角丸が崩れないように */
.nij-checkout-panel {
	overflow: hidden;
}

.nij-checkout-panel-heading {
	border-radius: 8px 8px 0 0 !important;
}

.nij-checkout-panel-body {
	border-radius: 0 0 8px 8px !important;
}

/* NMIカードの白ヘッダーとフッター */
.nij-checkout-page .nij-nmi-card-head {
	border-radius: 8px 8px 0 0 !important;
}

.nij-nmi-card-footer {
	border-radius: 0 0 8px 8px !important;
}

/* 決済カード選択時の左ラインは角丸と干渉しやすいので控えめに */
.nij-checkout-page #payment_request .radio.nij-payment-method > label:has(input[type="radio"]:checked) {
	box-shadow: inset 4px 0 0 #f28c00, 0 10px 24px rgba(0,0,0,.04) !important;
}

.nij-checkout-page .nij-nmi-field-label {
	display: block;
	margin: 0 0 7px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

/* ======================================
   Destination Form
====================================== */

.nij-destination-form {
	margin: 0;
}

.nij-destination-block {
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-destination-block-important {
	background: #fffaf2;
	border-color: #f2dfbf;
}

.nij-destination-block-head {
	padding: 28px 30px 24px;
	border-bottom: 1px solid #ececec;
}

.nij-destination-block-important .nij-destination-block-head {
	border-bottom-color: #f2dfbf;
}

.nij-destination-block-head h3 {
	margin: 0 0 8px;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-destination-block-head p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.8;
}

.nij-destination-age-check {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 22px 30px;
}

.nij-destination-age-check__text strong {
	display: block;
	margin-bottom: 4px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-destination-age-check__text span {
	display: block;
	color: #666;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-destination-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	cursor: pointer;
}

.nij-destination-checkbox input[type="checkbox"] {
	margin: 0;
	transform: scale(1.1);
}

.nij-destination-important-note {
	margin: 0;
	padding: 14px 30px 18px;
	border-top: 1px solid #f2dfbf;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-destination-section {
	padding: 26px 30px 8px;
	border-bottom: 1px solid #eee;
}

.nij-destination-section:last-child {
	border-bottom: none;
}

.nij-destination-section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

.nij-destination-section-title span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: #111;
	color: #fff;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.nij-destination-section-title strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-destination-grid {
	display: grid;
	gap: 16px;
}

.nij-destination-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nij-checkout-page .nij-destination-form .form-group {
	margin-bottom: 22px;
}

.nij-checkout-page .nij-destination-form label,
.nij-checkout-page .nij-destination-form .control-label {
	margin-bottom: 7px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-checkout-page .nij-destination-form .form-control {
	height: 48px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 5px;
	box-shadow: none;
	color: #111;
	font-size: 14px;
	font-weight: 600;
}

.nij-checkout-page .nij-destination-form .form-control:focus {
	border-color: #111;
	box-shadow: inset 0 0 0 1px #111;
}

.nij-destination-postcode-row {
	display: grid;
	grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

.nij-destination-postcode,
.nij-destination-tel {
	width: 100%;
}

.nij-checkout-page .nij-destination-form .input-group-addon {
	background: #f5f5f5;
	border-color: #d8d8d8;
	color: #555;
	font-weight: 700;
}

.nij-destination-postcode-action {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.nij-destination-sub-btn,
.nij-checkout-page .nij-destination-sub-btn {
	min-height: 40px;
	padding: 8px 14px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	box-shadow: none;
}

.nij-destination-sub-btn:hover,
.nij-checkout-page .nij-destination-sub-btn:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-destination-postcode-action a {
	color: #555;
	font-size: 12px;
	font-weight: 700;
	text-decoration: underline;
}

.nij-destination-mail-note {
	margin: 10px 0 14px;
	padding: 12px 14px;
	background: #fff8ed;
	border-left: 3px solid #f28c00;
	border-radius: 5px;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-destination-sub-label {
	margin-top: 12px;
}

.nij-destination-mailmagazine {
	margin: 2px 0 20px;
	padding: 16px 18px;
	background: #fafafa;
	border: 1px solid #e8e8e8;
	border-radius: 6px;
}

.nij-destination-legacy-card {
	background: #fafafa;
}

.nij-destination-error {
	margin: 18px 0;
	padding: 14px 16px;
	background: #fff3f3;
	border: 1px solid #f0b8b8;
	border-radius: 6px;
	color: #c1272d;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-destination-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid #eee;
}

.nij-destination-actions #button-guest {
	min-width: 260px;
	height: 56px;
	padding: 0 28px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-destination-actions #button-guest:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.nij-destination-block-head {
		padding: 24px 20px 20px;
	}

	.nij-destination-block-head h3 {
		font-size: 20px;
	}

	.nij-destination-age-check {
		display: block;
		padding: 20px;
	}

	.nij-destination-age-check__text {
		margin-bottom: 14px;
	}

	.nij-destination-important-note {
		padding: 14px 20px 18px;
	}

	.nij-destination-section {
		padding: 22px 20px 4px;
	}

	.nij-destination-grid-2,
	.nij-destination-postcode-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.nij-destination-postcode-action {
		margin-top: 12px;
	}

	.nij-destination-actions {
		display: block;
	}

	.nij-destination-actions #button-guest {
		width: 100%;
		min-width: 0;
	}
}

/* ======================================
   Destination Age Check - punch up
====================================== */

.nij-destination-age-check {
	position: relative;
	margin: 0;
	padding: 24px 30px;
	background: #111;
	color: #fff;
	border-top: 1px solid #111;
	border-bottom: 1px solid #111;
}

.nij-destination-age-check:before {
	content: "AGE CHECK";
	position: absolute;
	top: -1px;
	right: 30px;
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 10px;
	background: #f28c00;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1;
}

.nij-destination-age-check__text strong {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .04em;
}

.nij-destination-age-check__text span {
	color: rgba(255,255,255,.76);
	font-size: 13px;
	font-weight: 700;
}

.nij-destination-age-check .nij-destination-checkbox {
	min-height: 48px;
	padding: 0 18px;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 6px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 10px 24px rgba(0,0,0,.18);
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.nij-destination-age-check .nij-destination-checkbox:hover {
	border-color: #f28c00;
	transform: translateY(-1px);
}

.nij-destination-age-check .nij-destination-checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #f28c00;
	transform: none;
}

.nij-destination-age-check .nij-destination-checkbox span {
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.nij-destination-age-check {
		padding: 24px 20px 22px;
	}

	.nij-destination-age-check:before {
		right: 20px;
	}

	.nij-destination-age-check .nij-destination-checkbox {
		width: 100%;
		justify-content: center;
		margin-top: 16px;
	}
}

.nij-destination-field-note {
	margin: -2px 0 8px;
	color: #666;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.7;
}


/* ======================================
   Confirm Page - 1 Column Layout
====================================== */

.nij-confirm-page {
	margin: 0;
}

.nij-confirm-head {
	margin-bottom: 18px;
	padding: 30px 32px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-confirm-head h3 {
	margin: 0 0 8px;
	color: #111;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-confirm-head p:last-child {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.8;
}

.nij-confirm-layout {
	display: block;
}

.nij-confirm-main {
	width: 100%;
	min-width: 0;
}

.nij-confirm-block,
.nij-confirm-summary-card,
.nij-confirm-important-card,
.nij-confirm-limit-alert,
.nij-confirm-final-block {
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-confirm-block-head {
	padding: 22px 24px 18px;
	border-bottom: 1px solid #eee;
}

.nij-confirm-block-head h4,
.nij-confirm-summary-card h4 {
	margin: 0;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

/* ITEMS */

.nij-confirm-item-list {
	display: grid;
	gap: 0;
}

.nij-confirm-item {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 22px;
	padding: 28px 30px;
	border-bottom: 1px solid #eee;
}

.nij-confirm-item:last-child {
	border-bottom: none;
}

.nij-confirm-item__image {
	width: 104px;
	height: 104px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fafafa;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
}

.nij-confirm-item__image img {
	display: block;
	max-width: 90px;
	max-height: 90px;
	width: auto;
	height: auto;
}

.nij-confirm-item__body {
	min-width: 0;
}

.nij-confirm-item__body h5 {
	margin: 0 0 10px;
	color: #111;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: .02em;
	word-break: normal;
	overflow-wrap: anywhere;
}

.nij-confirm-item__option {
	margin: 0 0 3px;
	color: #666;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-confirm-item__stock-error {
	margin: 10px 0 0;
	color: #c1272d;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-confirm-item__meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #eee;
}

.nij-confirm-item__meta-row {
	min-width: 0;
	padding: 12px 14px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 6px;
}

.nij-confirm-item__meta-row span {
	display: block;
	margin: 0 0 5px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-confirm-item__meta-row strong {
	display: block;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	word-break: normal;
	overflow-wrap: anywhere;
	white-space: normal;
}

.nij-confirm-item__meta-row small {
	color: #777;
	font-size: 11px;
}

.nij-confirm-item__subtotal {
	background: #fff8ed;
	border-color: #f3dfbf;
}

.nij-confirm-item__subtotal strong {
	color: #c1272d;
	font-size: 16px;
}

/* SUMMARY */

.nij-confirm-summary-card {
	padding: 28px 30px;
}

.nij-confirm-summary-card h4 {
	margin-bottom: 18px;
}

.nij-confirm-summary-rows {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 28px;
}

.nij-confirm-summary-row {
	min-width: 0;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	padding: 13px 0;
	border-bottom: 1px solid #eee;
}

.nij-confirm-summary-row span {
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-confirm-summary-row strong {
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-align: right;
	word-break: normal;
	overflow-wrap: anywhere;
	white-space: normal;
}

.nij-confirm-summary-row small {
	color: #777;
	font-size: 11px;
}

.nij-confirm-summary-row.is-discount strong {
	color: #c1272d;
}

.nij-confirm-summary-total {
	grid-column: 1 / -1;
	margin-top: 8px;
	padding-top: 20px;
	border-top: 2px solid #111;
	border-bottom: none;
}

.nij-confirm-summary-total span {
	color: #111;
	font-size: 15px;
	font-weight: 700;
}

.nij-confirm-summary-total strong {
	color: #c1272d;
	font-size: 26px;
}

/* PAYMENT / ADDRESS */

.nij-confirm-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.nij-confirm-info-body {
	padding: 20px 24px 24px;
}

.nij-confirm-info-main {
	margin: 0;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-confirm-detail-list {
	display: grid;
	gap: 12px;
}

.nij-confirm-detail-list div {
	padding-bottom: 12px;
	border-bottom: 1px solid #eee;
}

.nij-confirm-detail-list div:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.nij-confirm-detail-list span {
	display: block;
	margin-bottom: 4px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-confirm-detail-list strong {
	display: block;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
	word-break: normal;
	overflow-wrap: anywhere;
}

.nij-confirm-note-card {
	margin-top: 18px;
	padding: 14px 16px;
	background: #fff8ed;
	border-left: 3px solid #f28c00;
	border-radius: 5px;
}

.nij-confirm-note-card strong {
	display: block;
	margin-bottom: 4px;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-confirm-note-card p {
	margin: 0;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* IMPORTANT */

.nij-confirm-important-card {
	display: flex;
	align-items: stretch;
}

.nij-confirm-important-card__label,
.nij-confirm-limit-alert__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 120px;
	background: #111;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
}

.nij-confirm-important-card__body,
.nij-confirm-limit-alert__body {
	padding: 20px 24px;
}

.nij-confirm-important-card__body h4 {
	margin: 0 0 8px;
	color: #111;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-confirm-important-card__body p,
.nij-confirm-limit-alert__body p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-confirm-important-card__body a {
	color: #c1272d;
	font-weight: 700;
	text-decoration: underline;
}

.nij-confirm-limit-alert {
	border-color: #f0b8b8;
}

.nij-confirm-limit-alert__label {
	background: #c1272d;
}

.nij-confirm-limit-alert__body strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

/* INTRODUCTION CODE */

.nij-confirm-introduce-box {
	padding: 20px 24px 24px;
}

.nij-confirm-introduce-box .form-control {
	height: 46px;
	border: 1px solid #d8d8d8;
	border-radius: 5px;
	box-shadow: none;
}

.introduce-code-request {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
}

.nij-confirm-sub-btn {
	min-height: 46px;
	padding: 10px 16px;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 700;
}

.nij-confirm-applied-code {
	padding: 12px 14px;
	background: #fff8ed;
	border-left: 3px solid #f28c00;
	border-radius: 5px;
}

.nij-confirm-applied-code strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-confirm-applied-code span {
	display: block;
	color: #c1272d;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-confirm-introduce-note {
	margin: 14px 0 0;
	color: #666;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* FINAL */

.nij-confirm-final-block {
	padding: 26px 30px;
}

.nij-confirm-final-message {
	max-width: 760px;
	margin: 0 0 18px;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-confirm-final-message a {
	color: #111;
	text-decoration: underline;
	font-weight: 700;
}

.nij-confirm-order-btn,
#button-confirm.nij-confirm-order-btn {
	display: block;
	width: min(100%, 360px);
	min-height: 58px;
	margin-left: auto !important;
	margin-right: auto !important;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-confirm-order-btn:hover,
#button-confirm.nij-confirm-order-btn:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-confirm-order-btn:disabled {
	background: #b8b8b8 !important;
	border-color: #b8b8b8 !important;
	cursor: not-allowed;
}

.nij-confirm-final-error,
.nij-confirm-validate-error {
	margin: 0 0 14px;
	padding: 12px 14px;
	background: #fff3f3;
	border: 1px solid #f0b8b8;
	border-radius: 5px;
	color: #c1272d;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-confirm-error,
.nij-confirm-error-small {
	margin-bottom: 18px;
	padding: 14px 16px;
	background: #fff3f3;
	border: 1px solid #f0b8b8;
	border-radius: 6px;
	color: #c1272d;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-confirm-error p {
	margin: 0;
}

/* 3D Secure modal */

.nij-three-ds-modal__overlay {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px;
	background: rgba(0,0,0,.7);
	box-sizing: border-box;
}

.nij-three-ds-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 500px;
}

.nij-three-ds-modal__close {
	position: absolute;
	top: -12px;
	right: -12px;
	z-index: 10000;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: #fff;
	border: none;
	border-radius: 50%;
	color: #333;
	font-size: 28px;
	font-weight: 300;
	line-height: 1;
	box-shadow: 0 2px 8px rgba(0,0,0,.3);
	cursor: pointer;
}

.nij-three-ds-modal__content {
	padding: 20px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 10px 25px rgba(0,0,0,.3);
	max-height: 90vh;
	overflow-y: auto;
	box-sizing: border-box;
}

.nij-three-ds-loading {
	text-align: center;
	padding: 40px 0;
}

.nij-three-ds-loading img {
	width: 50px;
	height: 50px;
}

.nij-three-ds-loading p {
	margin: 15px 0 0;
	color: #666;
	font-size: 14px;
}

.nij-three-ds-explanation {
	margin-bottom: 15px;
	padding: 12px;
	background: #e7f3ff;
	border-left: 4px solid #0066cc;
	border-radius: 4px;
}

.nij-three-ds-explanation h4 {
	margin: 0 0 8px;
	color: #0066cc;
	font-size: 16px;
	font-weight: 700;
}

.nij-three-ds-explanation p {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.5;
}

.nij-three-ds-explanation ul {
	margin: 0;
	padding-left: 18px;
	color: #666;
	font-size: 12px;
	line-height: 1.4;
}

/* Responsive */

@media screen and (max-width: 767px) {
	.nij-confirm-head {
		padding: 24px 20px;
	}

	.nij-confirm-head h3 {
		font-size: 22px;
	}

	.nij-confirm-item {
		grid-template-columns: 78px minmax(0, 1fr);
		gap: 14px;
		padding: 22px 20px;
	}

	.nij-confirm-item__image {
		width: 78px;
		height: 78px;
	}

	.nij-confirm-item__image img {
		max-width: 68px;
		max-height: 68px;
	}

	.nij-confirm-item__body h5 {
		font-size: 14px;
		line-height: 1.65;
	}

	.nij-confirm-item__meta {
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
		margin-top: 14px;
		padding-top: 14px;
	}

	.nij-confirm-item__meta-row {
		padding: 10px;
	}

	.nij-confirm-item__meta-row strong {
		font-size: 13px;
	}

	.nij-confirm-item__subtotal strong {
		font-size: 14px;
	}

	.nij-confirm-summary-card,
	.nij-confirm-final-block,
	.nij-confirm-block-head,
	.nij-confirm-info-body,
	.nij-confirm-introduce-box {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-confirm-summary-rows,
	.nij-confirm-info-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.nij-confirm-important-card,
	.nij-confirm-limit-alert {
		display: block;
	}

	.nij-confirm-important-card__label,
	.nij-confirm-limit-alert__label {
		min-height: 38px;
		flex: none;
	}

	.introduce-code-request {
		grid-template-columns: 1fr;
	}

	.nij-confirm-sub-btn {
		width: 100%;
	}

	.nij-confirm-order-btn,
	#button-confirm.nij-confirm-order-btn {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	.nij-confirm-item__meta {
		grid-template-columns: 1fr;
	}

	.nij-confirm-item__meta-row {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
	}

	.nij-confirm-item__meta-row span {
		margin: 0;
	}

	.nij-confirm-item__meta-row strong {
		text-align: right;
	}
}

/* ======================================
   Checkout changed notices
====================================== */

.nij-checkout-page .nij-checkout-payment-changed-notice,
.nij-checkout-page .nij-checkout-destination-changed-notice {
	display: block !important;
	width: 100% !important;
	margin: 18px 0 0 !important;
	padding: 14px 16px !important;
	background: #fff8ed !important;
	border: 1px solid #f3dfbf !important;
	border-left: 4px solid #f28c00 !important;
	border-radius: 6px !important;
	color: #6b4a18 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.8 !important;
	text-align: left !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

/* 注文確認ボタン周辺に表示された場合の余白補正 */
.nij-confirm-final-block .nij-checkout-destination-changed-notice,
.nij-confirm-final-block .nij-checkout-payment-changed-notice {
	margin-top: 18px !important;
}

/* ボタンと通知が横並び・崩れた場合の保険 */
.nij-confirm-final-block {
	display: block !important;
}

.nij-confirm-final-block .nij-confirm-order-btn,
.nij-confirm-final-block #button-confirm.nij-confirm-order-btn {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
}


/* ======================================
   Purchased Page
====================================== */

.nij-purchased-page {
	background: #f7f7f7;
	padding: 0 0 48px;
}

.nij-purchased-shell {
	width: min(100% - 32px, 1200px);
	margin: 0 auto;
}

.nij-purchased-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

.nij-purchased-hero {
	margin-bottom: 18px;
	padding: 38px 38px 34px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-purchased-hero-pending {
	background: #2a1b1b;
}

.nij-purchased-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-purchased-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-purchased-block,
.nij-purchased-summary-card,
.nij-purchased-payment-card,
.nij-purchased-bank-card,
.nij-purchased-notice-card,
.nij-purchased-alert {
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-purchased-block-head {
	padding: 24px 28px 20px;
	border-bottom: 1px solid #eee;
}

.nij-purchased-block-head h2 {
	margin: 0 0 8px;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-purchased-block-head p:last-child {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-purchased-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 18px;
	align-items: start;
}

.nij-purchased-order-body,
.nij-purchased-info-body {
	padding: 24px 28px 28px;
}

.nij-purchased-order-number {
	margin-bottom: 22px;
	padding: 18px 20px;
	background: #fafafa;
	border: 1px solid #e8e8e8;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-purchased-order-number span {
	display: block;
	margin-bottom: 5px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.4;
}

.nij-purchased-order-number strong {
	display: block;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	word-break: break-all;
}

.nij-purchased-detail-list {
	display: grid;
	gap: 14px;
}

.nij-purchased-detail-list div {
	padding-bottom: 14px;
	border-bottom: 1px solid #eee;
}

.nij-purchased-detail-list div:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.nij-purchased-detail-list span {
	display: block;
	margin-bottom: 5px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .06em;
}

.nij-purchased-detail-list strong {
	display: block;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.85;
	word-break: normal;
	overflow-wrap: anywhere;
}

/* Summary */

.nij-purchased-summary-card {
	padding: 24px 28px 26px;
}

.nij-purchased-summary-card .nij-purchased-block-head {
	margin: -24px -28px 18px;
}

.nij-purchased-summary-rows {
	display: grid;
	gap: 0;
}

.nij-purchased-summary-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 13px 0;
	border-bottom: 1px solid #eee;
}

.nij-purchased-summary-row span {
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-purchased-summary-row strong {
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-align: right;
	word-break: normal;
	overflow-wrap: anywhere;
}

.nij-purchased-summary-row small {
	color: #777;
	font-size: 11px;
}

.nij-purchased-summary-row.is-discount strong {
	color: #c1272d;
}

.nij-purchased-summary-total {
	margin-top: 8px;
	padding-top: 18px;
	border-top: 2px solid #111;
	border-bottom: none;
}

.nij-purchased-summary-total span {
	color: #111;
	font-size: 15px;
	font-weight: 700;
}

.nij-purchased-summary-total strong {
	color: #c1272d;
	font-size: 24px;
}

/* Bank */

.nij-purchased-bank-body,
.nij-purchased-payment-body {
	padding: 24px 28px 28px;
}

.nij-purchased-bank-important {
	margin-bottom: 18px;
	padding: 18px 20px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-purchased-bank-important span {
	display: block;
	margin-bottom: 5px;
	color: #6b4a18;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
}

.nij-purchased-bank-important strong {
	display: block;
	color: #c1272d;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.35;
}

.nij-purchased-bank-important p,
.nij-purchased-bank-detail p {
	margin: 8px 0 0;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-purchased-bank-account {
	margin-top: 14px;
	padding: 16px 18px;
	background: #fafafa;
	border: 1px solid #e8e8e8;
	border-radius: 6px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-purchased-bank-note {
	color: #666 !important;
	font-size: 12px !important;
}

/* Payment */

.nij-purchased-payment-form {
	margin: 0;
	text-align: center;
}

.nij-purchased-payment-form + .nij-purchased-payment-form,
.nij-purchased-debug-payment {
	margin-top: 18px;
}

.nij-purchased-payment-note {
	margin: 0 0 14px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
}

/* Items */

.nij-purchased-item-list {
	display: grid;
	gap: 0;
}

.nij-purchased-item {
	padding: 18px 28px;
	border-bottom: 1px solid #eee;
}

.nij-purchased-item:last-child {
	border-bottom: none;
}

.nij-purchased-item__body strong {
	display: block;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-purchased-item__body span {
	display: block;
	margin-top: 4px;
	color: #666;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}

/* Alerts */

.nij-purchased-alert {
	display: flex;
	align-items: stretch;
	border-color: #f0b8b8;
}

.nij-purchased-alert__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 120px;
	background: #c1272d;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
}

.nij-purchased-alert__body {
	padding: 20px 24px;
}

.nij-purchased-alert__body strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-purchased-alert__body p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-purchased-notice-card {
	padding: 16px 20px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
}

.nij-purchased-notice-card p {
	margin: 0;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-purchased-notice-card a {
	color: #111;
	font-weight: 700;
	text-decoration: underline;
}

/* Buttons */

.nij-purchased-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 26px;
}

.nij-purchased-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	min-height: 52px;
	padding: 0 24px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-purchased-btn:hover {
	text-decoration: none;
}

.nij-purchased-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-purchased-btn-primary:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-purchased-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-purchased-btn-secondary:hover {
	background: #f7f7f7;
	color: #111;
}

.nij-purchased-btn-danger {
	background: #c1272d;
	border: 1px solid #c1272d;
	color: #fff;
}

.nij-purchased-btn-danger:hover {
	background: #111;
	border-color: #111;
	color: #fff;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-purchased-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.nij-purchased-shell {
		width: min(100% - 24px, 1200px);
	}

	.nij-purchased-hero {
		padding: 30px 22px 28px;
	}

	.nij-purchased-hero h1 {
		font-size: 24px;
	}

	.nij-purchased-block-head,
	.nij-purchased-order-body,
	.nij-purchased-bank-body,
	.nij-purchased-payment-body,
	.nij-purchased-summary-card {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-purchased-summary-card .nij-purchased-block-head {
		margin-left: -20px;
		margin-right: -20px;
	}

	.nij-purchased-item {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-purchased-alert {
		display: block;
	}

	.nij-purchased-alert__label {
		min-height: 38px;
		flex: none;
	}

	.nij-purchased-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-purchased-btn {
		width: 100%;
	}
}

/* ======================================
   Purchased Items with Meta
====================================== */

.nij-purchased-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
	gap: 18px;
	align-items: center;
	padding: 20px 28px;
	border-bottom: 1px solid #eee;
}

.nij-purchased-item:last-child {
	border-bottom: none;
}

.nij-purchased-item__body {
	min-width: 0;
}

.nij-purchased-item__brand {

	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 0 9px !important;
	padding: 4px 9px !important;
	background: #fff8ed !important;
	border: 1px solid #f3dfbf !important;
	border-radius: 4px !important;
	color: #6b4a18 !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	letter-spacing: .08em !important;

}

.nij-purchased-item__body span.nij-purchased-item__brand {

	display: inline-flex !important;
	color: #6b4a18 !important;

}

.nij-purchased-item__body span:not(.nij-purchased-item__brand) {
	display: block;
	margin-top: 4px;
	color: #666;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-purchased-item__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.nij-purchased-item__meta div {
	min-width: 0;
	padding: 11px 12px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 6px;
}

.nij-purchased-item__meta span {
	display: block;
	margin: 0 0 5px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-purchased-item__meta strong {
	display: block;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.nij-purchased-item__subtotal {
	background: #fff8ed !important;
	border-color: #f3dfbf !important;
}

.nij-purchased-item__subtotal strong {
	color: #c1272d !important;
	font-size: 14px;
}

@media screen and (max-width: 767px) {
	.nij-purchased-item {
		grid-template-columns: 1fr;
		padding: 20px;
	}

	.nij-purchased-item__meta {
		grid-template-columns: 1fr;
	}

	.nij-purchased-item__meta div {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
	}

	.nij-purchased-item__meta span {
		margin: 0;
	}

	.nij-purchased-item__meta strong {
		text-align: right;
	}
}


/* ======================================
   SUI Back Page
====================================== */

.nij-sui-back-page {
	background: #f7f7f7;
	padding: 32px 0 72px;
}

.nij-sui-back-shell {
	width: min(100% - 48px, 1180px);
	margin: 0 auto;
}

.nij-sui-back-label {
	margin: 0 0 12px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-sui-back-hero {
	margin: 0 0 24px;
	padding: 52px 56px 50px;
	background: #111;
	border-radius: 10px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-sui-back-hero h1 {
	margin: 0 0 18px;
	color: #fff;
	font-size: 34px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-sui-back-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 15px;
	font-weight: 700;
	line-height: 2;
}

/* Card */

.nij-sui-back-card,
.nij-sui-back-notice {
	margin-bottom: 24px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-sui-back-card__head {
	padding: 34px 40px 28px;
	border-bottom: 1px solid #eee;
}

.nij-sui-back-card__head h2 {
	margin: 0;
	color: #111;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-sui-back-card__body {
	padding: 32px 40px 36px;
}

.nij-sui-back-card__body p {
	margin: 0 0 16px;
	color: #555;
	font-size: 15px;
	font-weight: 700;
	line-height: 2;
}

.nij-sui-back-card__body p:last-child {
	margin-bottom: 0;
}

/* Notice */

.nij-sui-back-notice {
	padding: 22px 28px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
}

.nij-sui-back-notice p {
	margin: 0;
	color: #6b4a18;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Actions */

.nij-sui-back-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 32px;
}

.nij-sui-back-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 58px;
	padding: 0 26px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-sui-back-btn:hover {
	text-decoration: none;
}

.nij-sui-back-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-sui-back-btn-primary:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-sui-back-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-sui-back-btn-secondary:hover {
	background: #f7f7f7;
	color: #111;
}

/* Responsive */

@media screen and (max-width: 767px) {
	.nij-sui-back-page {
		padding: 20px 0 48px;
	}

	.nij-sui-back-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-sui-back-hero {
		padding: 34px 24px 32px;
		border-radius: 8px;
	}

	.nij-sui-back-hero h1 {
		font-size: 25px;
	}

	.nij-sui-back-hero p {
		font-size: 13px;
		line-height: 1.9;
	}

	.nij-sui-back-card,
	.nij-sui-back-notice {
		border-radius: 8px;
	}

	.nij-sui-back-card__head {
		padding: 26px 22px 22px;
	}

	.nij-sui-back-card__head h2 {
		font-size: 21px;
	}

	.nij-sui-back-card__body {
		padding: 24px 22px 28px;
	}

	.nij-sui-back-card__body p {
		font-size: 13px;
		line-height: 1.9;
	}

	.nij-sui-back-notice {
		padding: 18px 22px;
	}

	.nij-sui-back-notice p {
		font-size: 13px;
	}

	.nij-sui-back-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.nij-sui-back-btn {
		width: 100%;
		min-width: 0;
	}
}

/* ======================================
   SUI purchased failed state
====================================== */

.nij-purchased-hero-pending .nij-purchased-label {
	color: #ffb3b3;
}

.nij-purchased-hero-pending {
	background: #2a1b1b;
}


/* ======================================
   Contact Page
====================================== */

.nij-contact-page {
	background: #f7f7f7;
	padding: 0 0 48px;
}

.nij-contact-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-contact-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* ======================================
   Contact Header
====================================== */

.nij-contact-head {
	margin-bottom: 22px;
	padding: 38px 38px 34px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-contact-head h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-contact-head p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* ======================================
   Contact Layout
====================================== */

.nij-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-contact-main,
.nij-contact-side {
	min-width: 0;
}

.nij-contact-card,
.nij-contact-guide-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-contact-card-head {
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-contact-card-head h2,
.nij-contact-guide-card h2 {
	margin: 0 0 8px;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-contact-card-head p,
.nij-contact-guide-card p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-contact-card-body {
	padding: 28px;
}

/* ======================================
   Contact Form
====================================== */

.nij-contact-form {
	margin: 0;
}

.nij-contact-field {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	padding: 20px 0;
	border-bottom: 1px solid #eee;
}

.nij-contact-field:first-of-type {
	padding-top: 0;
}

.nij-contact-field label {
	margin: 0;
	padding-top: 13px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .04em;
}

.nij-contact-field label span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 8px;
	padding: 3px 7px;
	background: #c1272d;
	border-radius: 4px;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	vertical-align: middle;
}

.nij-contact-control {
	min-width: 0;
}

.nij-contact-control .form-control {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	box-shadow: none;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-contact-control textarea.form-control {
	height: auto;
	min-height: 180px;
	padding: 14px;
	line-height: 1.8;
	resize: vertical;
}

.nij-contact-control .form-control:focus {
	border-color: #111;
	box-shadow: 0 0 0 3px rgba(0,0,0,.06);
	outline: none;
}

/* ======================================
   Contact Notes / Errors
====================================== */

.nij-contact-mail-note,
.nij-contact-note-card,
.nij-contact-confirm-note {
	margin-top: 14px;
	padding: 15px 16px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
	color: #6b4a18;
}

.nij-contact-mail-note p,
.nij-contact-note-card p,
.nij-contact-confirm-note p {
	margin: 0 0 8px;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-contact-mail-note p:last-child,
.nij-contact-note-card p:last-child,
.nij-contact-confirm-note p:last-child {
	margin-bottom: 0;
}

.nij-contact-error {
	margin-bottom: 20px;
	padding: 14px 16px;
	background: #fff0f0;
	border-left: 4px solid #c1272d;
	border-radius: 6px;
	color: #9b1c22;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* ======================================
   Contact Guide
====================================== */

.nij-contact-guide-card {
	padding: 24px 28px 22px;
}

.nij-contact-guide-list {
	display: grid;
	gap: 0;
	margin-top: 18px;
}

.nij-contact-guide-list div {
	padding: 16px 0;
	border-top: 1px solid #eee;
}

.nij-contact-guide-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-contact-guide-list p {
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* ======================================
   Contact Confirm
   完全1カラム。問い合わせ内容のズレ防止。
====================================== */

.nij-contact-confirm-list {
	display: block;
	width: 100%;
}

.nij-contact-confirm-row {
	display: block;
	width: 100%;
	padding: 18px 0;
	border-bottom: 1px solid #eee;
}

.nij-contact-confirm-row:first-child {
	padding-top: 0;
}

.nij-contact-confirm-row span {
	display: block;
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	color: #777;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .06em;
	text-align: left;
}

.nij-contact-confirm-row strong {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.8;
	text-align: left;
	white-space: normal;
	overflow-wrap: anywhere;
}

.nij-contact-confirm-row-message {
	padding-bottom: 0;
	border-bottom: none;
}

.nij-contact-confirm-row-message strong {
	display: block;
	width: 100%;
	min-height: 180px;
	margin: 0;
	padding: 20px 22px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 2;
	text-align: left;
	white-space: pre-line;
	overflow-wrap: anywhere;
	box-sizing: border-box;
}

.nij-contact-card-body .nij-contact-confirm-list + .nij-contact-confirm-note {
	margin-top: 22px;
}

/* ======================================
   Contact Complete
====================================== */

.nij-contact-complete-hero {
	margin-bottom: 18px;
	padding: 42px 38px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-contact-complete-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-contact-complete-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-contact-complete-message {
	margin-bottom: 18px;
}

.nij-contact-complete-message p {
	margin: 0 0 10px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-contact-complete-message p:last-child {
	margin-bottom: 0;
}

/* ======================================
   Contact Buttons
====================================== */

.nij-contact-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 26px;
}

.nij-contact-actions-confirm {
	justify-content: center;
	margin-top: 28px;
}

.nij-contact-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 170px;
	min-height: 52px;
	padding: 0 24px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-contact-btn:hover {
	text-decoration: none;
}

.nij-contact-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-contact-btn-primary:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-contact-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-contact-btn-secondary:hover {
	background: #f7f7f7;
	color: #111;
}

/* input[type=submit] 対策 */

input.nij-contact-btn {
	appearance: none;
	-webkit-appearance: none;
}

/* ======================================
   Contact Responsive
====================================== */

@media screen and (max-width: 991px) {
	.nij-contact-layout {
		grid-template-columns: 1fr;
	}

	.nij-contact-side {
		order: 2;
	}
}

@media screen and (max-width: 767px) {
	.nij-contact-page {
		padding-bottom: 40px;
	}

	.nij-contact-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-contact-head,
	.nij-contact-complete-hero {
		padding: 30px 22px 28px;
	}

	.nij-contact-head h1,
	.nij-contact-complete-hero h1 {
		font-size: 24px;
	}

	.nij-contact-card-head,
	.nij-contact-card-body,
	.nij-contact-guide-card {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-contact-field {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.nij-contact-field label {
		padding-top: 0;
	}

	.nij-contact-confirm-row {
		padding: 16px 0;
	}

	.nij-contact-confirm-row-message strong {
		min-height: 160px;
		padding: 16px;
	}

	.nij-contact-actions {
		display: grid;
		grid-template-columns: 1fr;
		justify-content: stretch;
	}

	.nij-contact-btn {
		width: 100%;
	}
}

.nij-contact-actions-complete {
	justify-content: center;
}

/* ======================================
   Checkout action buttons center
====================================== */

.nij-checkout-page .nij-checkout-step-actions,
.nij-checkout-page .nij-destination-actions,
.nij-checkout-page .nij-confirm-final-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
}

.nij-checkout-page .nij-checkout-step-actions input[type="button"],
.nij-checkout-page .nij-destination-actions input[type="button"],
.nij-checkout-page .nij-confirm-final-block input[type="button"],
.nij-checkout-page #button-payment-method,
.nij-checkout-page #button-guest,
.nij-checkout-page #button-confirm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ======================================
   Confirm final message / button center
====================================== */

.nij-checkout-page .nij-confirm-final-block {
	display: block !important;
	width: 100% !important;
	margin-top: 28px !important;
	padding: 28px 24px !important;
	text-align: center !important;
	background: #fff !important;
	border: 1px solid #e1e1e1 !important;
	border-radius: 8px !important;
	box-shadow: 0 12px 30px rgba(0,0,0,.04) !important;
}

.nij-checkout-page .nij-confirm-final-message {
	display: block !important;
	width: 100% !important;
	max-width: 720px !important;
	margin: 0 auto 18px !important;
	color: #555 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.9 !important;
	text-align: center !important;
}

.nij-checkout-page .nij-confirm-validate-error {
	max-width: 720px !important;
	margin: 0 auto 16px !important;
	text-align: center !important;
}

.nij-checkout-page #button-confirm,
.nij-checkout-page .nij-confirm-order-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	float: none !important;
	margin: 0 auto !important;
}


/* ======================================
   Purchase Guide Page
====================================== */

.nij-purchase-guide-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-purchase-guide-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-purchase-guide-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

.nij-purchase-guide-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-purchase-guide-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-purchase-guide-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Alert */

.nij-purchase-guide-alert {
	display: flex;
	align-items: stretch;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #f0b8b8;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-purchase-guide-alert__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 130px;
	background: #c1272d;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
}

.nij-purchase-guide-alert__body {
	padding: 22px 26px;
}

.nij-purchase-guide-alert__body strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-purchase-guide-alert__body p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Layout */

.nij-purchase-guide-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-purchase-guide-main,
.nij-purchase-guide-side {
	min-width: 0;
}

/* Steps */

.nij-purchase-guide-step {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 18px;
	margin-bottom: 18px;
}

.nij-purchase-guide-step__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .06em;
}

.nij-purchase-guide-step__body,
.nij-purchase-guide-side-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-purchase-guide-step__body {
	padding: 26px 30px 30px;
}

.nij-purchase-guide-step__body h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-purchase-guide-step__body > p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Point / Notes */

.nij-purchase-guide-point,
.nij-purchase-guide-note,
.nij-purchase-guide-mail-note {
	margin-top: 18px;
	padding: 16px 18px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-purchase-guide-point strong,
.nij-purchase-guide-mail-note strong {
	display: block;
	margin-bottom: 6px;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-purchase-guide-point p,
.nij-purchase-guide-note p,
.nij-purchase-guide-mail-note p {
	margin: 0 0 8px;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-purchase-guide-point p:last-child,
.nij-purchase-guide-note p:last-child,
.nij-purchase-guide-mail-note p:last-child {
	margin-bottom: 0;
}

.nij-purchase-guide-note-red {
	background: #fff0f0;
	border-left-color: #c1272d;
}

.nij-purchase-guide-note-red p {
	color: #8a1f24;
}

/* Limit */

.nij-purchase-guide-limit {
	margin-top: 20px;
	padding: 20px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-purchase-guide-limit h3 {
	margin: 0 0 14px;
	color: #111;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-purchase-guide-limit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.nij-purchase-guide-limit-grid div {
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 6px;
}

.nij-purchase-guide-limit-grid span {
	display: block;
	margin-bottom: 5px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .06em;
}

.nij-purchase-guide-limit-grid strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-purchase-guide-limit p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Payment list */

.nij-purchase-guide-payment-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 20px;
}

.nij-purchase-guide-payment-list div {
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-purchase-guide-payment-list strong {
	display: block;
	margin-bottom: 7px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-purchase-guide-payment-list p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Side */

.nij-purchase-guide-side {
	position: sticky;
	top: 112px;
}

.nij-purchase-guide-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
}

.nij-purchase-guide-side-card h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-purchase-guide-side-card > p {
	margin: 0 0 18px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-purchase-guide-check-list {
	display: grid;
	gap: 0;
	margin-top: 16px;
}

.nij-purchase-guide-check-list div {
	padding: 15px 0;
	border-top: 1px solid #eee;
}

.nij-purchase-guide-check-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-purchase-guide-check-list p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-purchase-guide-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 0 18px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-purchase-guide-btn:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
}

.nij-purchase-guide-main-image {
	margin: 0 0 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-purchase-guide-main-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-purchase-guide-grid {
		grid-template-columns: 1fr;
	}

	.nij-purchase-guide-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-purchase-guide-page {
		padding-bottom: 40px;
	}

	.nij-purchase-guide-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-purchase-guide-hero {
		padding: 30px 22px 28px;
	}

	.nij-purchase-guide-hero h1 {
		font-size: 25px;
	}

	.nij-purchase-guide-alert {
		display: block;
	}

	.nij-purchase-guide-alert__label {
		min-height: 38px;
		flex: none;
	}

	.nij-purchase-guide-alert__body {
		padding: 20px;
	}

	.nij-purchase-guide-step {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nij-purchase-guide-step__num {
		width: 54px;
		height: 54px;
		font-size: 17px;
	}

	.nij-purchase-guide-step__body,
	.nij-purchase-guide-side-card {
		padding: 22px 20px 24px;
	}

	.nij-purchase-guide-step__body h2 {
		font-size: 21px;
	}

	.nij-purchase-guide-limit-grid,
	.nij-purchase-guide-payment-list {
		grid-template-columns: 1fr;
	}
}


/* ======================================
   FAQ Page
====================================== */

.nij-faq-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-faq-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-faq-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-faq-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-faq-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-faq-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Important cards */

.nij-faq-important-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 18px;
}

.nij-faq-important-card {
	min-width: 0;
	padding: 22px 20px 20px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-faq-important-card h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
}

.nij-faq-important-card p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* Tabs */

.nij-faq-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
	padding: 14px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-faq-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	background: #f7f7f7;
	border: 1px solid #e1e1e1;
	border-radius: 999px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .03em;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.nij-faq-tab:hover {
	background: #fff8ed;
	border-color: #f3dfbf;
	color: #111;
}

.nij-faq-tab.is-active {
	background: #111;
	border-color: #111;
	color: #fff;
}

/* Layout */

.nij-faq-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-faq-main,
.nij-faq-side {
	min-width: 0;
}

.nij-faq-side {
	position: sticky;
	top: 112px;
}

/* Section */

.nij-faq-section {
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-faq-section-head {
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-faq-section-head h2 {
	margin: 0;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

/* FAQ item */

.nij-faq-list {
	display: grid;
	gap: 0;
}

.nij-faq-item {
	border-bottom: 1px solid #eee;
}

.nij-faq-item:last-child {
	border-bottom: none;
}

.nij-faq-question {
	position: relative;
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) 24px;
	gap: 14px;
	align-items: center;
	width: 100%;
	padding: 22px 28px;
	background: #fff;
	border: none;
	color: #111;
	text-align: left;
	cursor: pointer;
}

.nij-faq-question:hover {
	background: #fafafa;
}

.nij-faq-question span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	background: #111;
	border-radius: 999px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .04em;
}

.nij-faq-question strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.nij-faq-question:after {
	content: "+";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: #f28c00;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	transition: transform .18s ease;
}

.nij-faq-item.is-open .nij-faq-question:after {
	content: "−";
	transform: translateY(-1px);
}

.nij-faq-answer {
	display: none;
	padding: 0 28px 24px 80px;
	background: #fff;
}

.nij-faq-item.is-open .nij-faq-answer {
	display: block;
}

.nij-faq-answer p {
	margin: 0 0 10px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-faq-answer p:last-child {
	margin-bottom: 0;
}

.nij-faq-answer a {
	color: #111;
	font-weight: 700;
	text-decoration: underline;
}

/* Side cards */

.nij-faq-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-faq-side-card h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-faq-side-card p {
	margin: 0 0 12px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-faq-side-card p:last-of-type {
	margin-bottom: 18px;
}

.nij-faq-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 0 18px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-faq-btn:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
}

.nij-faq-btn-secondary {
	background: #fff;
	border-color: #d8d8d8;
	color: #111;
}

.nij-faq-btn-secondary:hover {
	background: #f7f7f7;
	border-color: #d8d8d8;
	color: #111;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-faq-important-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nij-faq-layout {
		grid-template-columns: 1fr;
	}

	.nij-faq-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-faq-page {
		padding-bottom: 40px;
	}

	.nij-faq-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-faq-hero {
		padding: 30px 22px 28px;
	}

	.nij-faq-hero h1 {
		font-size: 25px;
	}

	.nij-faq-hero p {
		font-size: 13px;
	}

	.nij-faq-important-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nij-faq-important-card {
		padding: 20px;
	}

	.nij-faq-tabs {
		overflow-x: auto;
		flex-wrap: nowrap;
		padding: 12px;
		-webkit-overflow-scrolling: touch;
	}

	.nij-faq-tab {
		flex: 0 0 auto;
		min-height: 40px;
		padding: 0 14px;
		font-size: 12px;
	}

	.nij-faq-section-head {
		padding: 22px 20px 20px;
	}

	.nij-faq-section-head h2 {
		font-size: 20px;
	}

	.nij-faq-question {
		grid-template-columns: 34px minmax(0, 1fr) 20px;
		gap: 10px;
		padding: 18px 18px;
	}

	.nij-faq-question span {
		width: 34px;
		height: 34px;
		font-size: 13px;
	}

	.nij-faq-question strong {
		font-size: 14px;
		line-height: 1.65;
	}

	.nij-faq-question:after {
		width: 20px;
		height: 20px;
		font-size: 22px;
	}

	.nij-faq-answer {
		padding: 0 18px 20px 62px;
	}

	.nij-faq-answer p {
		font-size: 13px;
		line-height: 1.85;
	}

	.nij-faq-side-card {
		padding: 22px 20px 24px;
	}
}


/* ======================================
   Law / Personal Import Page
====================================== */

.nij-law-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-law-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-law-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-law-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-law-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-law-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Alert */

.nij-law-alert {
	display: flex;
	align-items: stretch;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #f0b8b8;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-law-alert__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 130px;
	background: #c1272d;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
}

.nij-law-alert__body {
	padding: 22px 26px;
}

.nij-law-alert__body strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-law-alert__body p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Summary cards */

.nij-law-summary-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 18px;
}

.nij-law-summary-card {
	min-width: 0;
	padding: 22px 20px 20px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-law-summary-card h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
}

.nij-law-summary-card p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* Layout */

.nij-law-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-law-main,
.nij-law-side {
	min-width: 0;
}

.nij-law-side {
	position: sticky;
	top: 112px;
}

/* Section */

.nij-law-section {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 18px;
	margin-bottom: 18px;
}

.nij-law-section__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .06em;
}

.nij-law-section__body,
.nij-law-side-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-law-section__body {
	padding: 26px 30px 30px;
}

.nij-law-section__body h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-law-section__body p {
	margin: 0 0 12px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-law-section__body p:last-child {
	margin-bottom: 0;
}

/* Notes */

.nij-law-note,
.nij-law-example {
	margin-top: 18px;
	padding: 16px 18px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-law-note p,
.nij-law-example p {
	margin: 0;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-law-example strong {
	display: block;
	margin-bottom: 6px;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-law-note-red {
	background: #fff0f0;
	border-left-color: #c1272d;
}

.nij-law-note-red p {
	color: #8a1f24;
}

/* Limit */

.nij-law-limit-card {
	margin-top: 20px;
	padding: 20px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-law-limit-card h3 {
	margin: 0 0 14px;
	color: #111;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-law-limit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.nij-law-limit-grid div {
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 6px;
}

.nij-law-limit-grid span {
	display: block;
	margin-bottom: 5px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .06em;
}

.nij-law-limit-grid strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-law-limit-card p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* NG list */

.nij-law-ng-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 20px;
}

.nij-law-ng-list div {
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-law-ng-list strong {
	display: block;
	margin-bottom: 7px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-law-ng-list p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Side */

.nij-law-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
}

.nij-law-side-card h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-law-side-card p {
	margin: 0 0 12px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-law-check-list {
	display: grid;
	gap: 0;
	margin-top: 16px;
}

.nij-law-check-list div {
	padding: 15px 0;
	border-top: 1px solid #eee;
}

.nij-law-check-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-law-check-list p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* Buttons */

.nij-law-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}

.nij-law-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-law-btn:hover {
	text-decoration: none;
}

.nij-law-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-law-btn-primary:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-law-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-law-btn-secondary:hover {
	background: #f7f7f7;
	color: #111;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-law-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nij-law-layout {
		grid-template-columns: 1fr;
	}

	.nij-law-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-law-page {
		padding-bottom: 40px;
	}

	.nij-law-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-law-hero {
		padding: 30px 22px 28px;
	}

	.nij-law-hero h1 {
		font-size: 25px;
	}

	.nij-law-alert {
		display: block;
	}

	.nij-law-alert__label {
		min-height: 38px;
		flex: none;
	}

	.nij-law-alert__body {
		padding: 20px;
	}

	.nij-law-summary-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nij-law-section {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nij-law-section__num {
		width: 54px;
		height: 54px;
		font-size: 17px;
	}

	.nij-law-section__body,
	.nij-law-side-card {
		padding: 22px 20px 24px;
	}

	.nij-law-section__body h2 {
		font-size: 21px;
	}

	.nij-law-limit-grid,
	.nij-law-ng-list {
		grid-template-columns: 1fr;
	}

	.nij-law-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-law-btn {
		width: 100%;
	}
}


/* ======================================
   Tokushoho Page
====================================== */

.nij-tokusho-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-tokusho-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-tokusho-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-tokusho-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-tokusho-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-tokusho-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Alert */

.nij-tokusho-alert {
	display: flex;
	align-items: stretch;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #f0b8b8;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-tokusho-alert__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 130px;
	background: #c1272d;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
}

.nij-tokusho-alert__body {
	padding: 22px 26px;
}

.nij-tokusho-alert__body strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-tokusho-alert__body p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Layout */

.nij-tokusho-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-tokusho-main,
.nij-tokusho-side {
	min-width: 0;
}

.nij-tokusho-side {
	position: sticky;
	top: 112px;
}

/* Cards */

.nij-tokusho-card,
.nij-tokusho-side-card {
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-tokusho-card-head {
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-tokusho-card-head h2,
.nij-tokusho-side-card h2 {
	margin: 0;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

/* Table */

.nij-tokusho-table {
	display: grid;
	gap: 0;
}

.nij-tokusho-row {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	border-bottom: 1px solid #eee;
}

.nij-tokusho-row:last-child {
	border-bottom: none;
}

.nij-tokusho-row__label {
	padding: 20px 22px;
	background: #fafafa;
	border-right: 1px solid #eee;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .04em;
}

.nij-tokusho-row__body {
	padding: 20px 24px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
	overflow-wrap: anywhere;
}

.nij-tokusho-row__body a {
	color: #111;
	font-weight: 700;
	text-decoration: underline;
}

.nij-tokusho-note {
	margin-top: 12px;
	padding: 14px 16px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-tokusho-note p {
	margin: 0;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* Notice */

.nij-tokusho-notice-list {
	display: grid;
	gap: 0;
	padding: 0;
}

.nij-tokusho-notice-list div {
	padding: 20px 28px;
	border-bottom: 1px solid #eee;
}

.nij-tokusho-notice-list div:last-child {
	border-bottom: none;
}

.nij-tokusho-notice-list strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-tokusho-notice-list p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
}

/* Side */

.nij-tokusho-side-card {
	padding: 24px 26px 26px;
}

.nij-tokusho-side-card h2 {
	margin-bottom: 12px;
	font-size: 20px;
}

.nij-tokusho-side-card p {
	margin: 0 0 18px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-tokusho-link-list {
	display: grid;
	gap: 8px;
}

.nij-tokusho-link-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	padding: 0 14px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 6px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.nij-tokusho-link-list a:after {
	content: "›";
	color: #f28c00;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.nij-tokusho-link-list a:hover {
	background: #fff8ed;
	border-color: #f3dfbf;
	text-decoration: none;
}

/* Buttons */

.nij-tokusho-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-tokusho-btn:hover {
	text-decoration: none;
}

.nij-tokusho-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-tokusho-btn-primary:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-tokusho-layout {
		grid-template-columns: 1fr;
	}

	.nij-tokusho-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-tokusho-page {
		padding-bottom: 40px;
	}

	.nij-tokusho-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-tokusho-hero {
		padding: 30px 22px 28px;
	}

	.nij-tokusho-hero h1 {
		font-size: 25px;
	}

	.nij-tokusho-alert {
		display: block;
	}

	.nij-tokusho-alert__label {
		min-height: 38px;
		flex: none;
	}

	.nij-tokusho-alert__body {
		padding: 20px;
	}

	.nij-tokusho-card-head {
		padding: 22px 20px 20px;
	}

	.nij-tokusho-row {
		grid-template-columns: 1fr;
	}

	.nij-tokusho-row__label {
		padding: 16px 20px 10px;
		border-right: none;
		border-bottom: none;
		background: #fff;
		color: #777;
		font-size: 12px;
	}

	.nij-tokusho-row__body {
		padding: 0 20px 18px;
		font-size: 13px;
	}

	.nij-tokusho-notice-list div {
		padding: 18px 20px;
	}

	.nij-tokusho-side-card {
		padding: 22px 20px 24px;
	}
}


/* ======================================
   Privacy Policy Page
====================================== */

.nij-privacy-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-privacy-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-privacy-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-privacy-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-privacy-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-privacy-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Alert */

.nij-privacy-alert {
	display: flex;
	align-items: stretch;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-privacy-alert__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 130px;
	background: #111;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
}

.nij-privacy-alert__body {
	padding: 22px 26px;
}

.nij-privacy-alert__body strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-privacy-alert__body p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Layout */

.nij-privacy-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-privacy-main,
.nij-privacy-side {
	min-width: 0;
}

.nij-privacy-side {
	position: sticky;
	top: 112px;
}

/* Sections */

.nij-privacy-section {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 18px;
	margin-bottom: 18px;
}

.nij-privacy-section__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .06em;
}

.nij-privacy-section__body,
.nij-privacy-side-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-privacy-section__body {
	padding: 26px 30px 30px;
}

.nij-privacy-section__body h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-privacy-section__body p {
	margin: 0 0 12px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-privacy-section__body p:last-child {
	margin-bottom: 0;
}

/* List card */

.nij-privacy-list-card {
	margin-top: 20px;
	padding: 20px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-privacy-list-card h3 {
	margin: 0 0 14px;
	color: #111;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-privacy-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.nij-privacy-list div {
	padding: 18px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
}

.nij-privacy-list strong {
	display: block;
	margin-bottom: 7px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-privacy-list p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Notes */

.nij-privacy-note {
	margin-top: 18px;
	padding: 16px 18px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-privacy-note p {
	margin: 0;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Contact */

.nij-privacy-contact-card {
	margin-top: 18px;
	padding: 18px 20px;
	background: #fafafa;
	border: 1px solid #eee;
	border-left: 4px solid #f28c00;
	border-radius: 8px;
}

.nij-privacy-contact-card strong {
	display: block;
	margin-bottom: 8px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-privacy-contact-card p {
	margin: 0 0 8px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Side */

.nij-privacy-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
}

.nij-privacy-side-card h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-privacy-side-list {
	display: grid;
	gap: 0;
	margin-top: 16px;
}

.nij-privacy-side-list div {
	padding: 15px 0;
	border-top: 1px solid #eee;
}

.nij-privacy-side-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-privacy-side-list p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-privacy-link-list {
	display: grid;
	gap: 8px;
}

.nij-privacy-link-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	padding: 0 14px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 6px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.nij-privacy-link-list a:after {
	content: "›";
	color: #f28c00;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.nij-privacy-link-list a:hover {
	background: #fff8ed;
	border-color: #f3dfbf;
	text-decoration: none;
}

/* Buttons */

.nij-privacy-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}

.nij-privacy-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-privacy-btn:hover {
	text-decoration: none;
}

.nij-privacy-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-privacy-btn-primary:hover {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-privacy-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-privacy-btn-secondary:hover {
	background: #f7f7f7;
	color: #111;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-privacy-layout {
		grid-template-columns: 1fr;
	}

	.nij-privacy-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-privacy-page {
		padding-bottom: 40px;
	}

	.nij-privacy-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-privacy-hero {
		padding: 30px 22px 28px;
	}

	.nij-privacy-hero h1 {
		font-size: 25px;
	}

	.nij-privacy-alert {
		display: block;
	}

	.nij-privacy-alert__label {
		min-height: 38px;
		flex: none;
	}

	.nij-privacy-alert__body {
		padding: 20px;
	}

	.nij-privacy-section {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nij-privacy-section__num {
		width: 54px;
		height: 54px;
		font-size: 17px;
	}

	.nij-privacy-section__body,
	.nij-privacy-side-card {
		padding: 22px 20px 24px;
	}

	.nij-privacy-section__body h2 {
		font-size: 21px;
	}

	.nij-privacy-list {
		grid-template-columns: 1fr;
	}

	.nij-privacy-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-privacy-btn {
		width: 100%;
	}
}


/* ======================================
   Member My Account Page
====================================== */

.nij-member-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-member-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-member-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-member-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-member-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-member-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Alert */

.nij-member-alert {
	display: flex;
	align-items: stretch;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-member-alert__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 130px;
	background: #111;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
}

.nij-member-alert__body {
	padding: 22px 26px;
}

.nij-member-alert__body strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-member-alert__body p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Menu cards */

.nij-member-menu-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.nij-member-menu-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 230px;
	padding: 24px 24px 22px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	color: #111;
	text-decoration: none;
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.nij-member-menu-card:hover,
.nij-member-menu-card:focus {
	color: #111;
	text-decoration: none;
	transform: translateY(-2px);
	border-color: #f3dfbf;
	box-shadow: 0 16px 36px rgba(0,0,0,.08);
}

.nij-member-menu-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
}

.nij-member-menu-card__head span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .06em;
}

.nij-member-menu-card h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-member-menu-card > p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-member-menu-card > strong {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 18px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-member-menu-card > strong:after {
	content: "›";
	color: #f28c00;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}

/* Support */

.nij-member-support-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	margin-top: 18px;
}

.nij-member-support-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 24px 26px 26px;
}

.nij-member-support-card h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-member-support-card p {
	margin: 0 0 18px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-member-support-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.nij-member-support-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 999px;
	color: #111;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.nij-member-support-links a:hover,
.nij-member-support-links a:focus {
	background: #fff8ed;
	border-color: #f3dfbf;
	color: #111;
	text-decoration: none;
}

.nij-member-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 0 18px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-member-btn:hover,
.nij-member-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
}

/* Withdrawal small link */

.nij-member-account-danger {
	margin-top: 18px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	text-align: center;
}

.nij-member-account-danger p {
	margin: 0;
	color: #777;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-member-withdrawal-link {
	color: #555;
	font-weight: 700;
	text-decoration: underline;
}

.nij-member-withdrawal-link:hover,
.nij-member-withdrawal-link:focus {
	color: #c1272d;
	text-decoration: underline;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-member-menu-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nij-member-support-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.nij-member-page {
		padding-bottom: 40px;
	}

	.nij-member-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-member-hero {
		padding: 30px 22px 28px;
	}

	.nij-member-hero h1 {
		font-size: 25px;
	}

	.nij-member-alert {
		display: block;
	}

	.nij-member-alert__label {
		min-height: 38px;
		flex: none;
	}

	.nij-member-alert__body {
		padding: 20px;
	}

	.nij-member-menu-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.nij-member-menu-card {
		min-height: auto;
		padding: 22px 20px 20px;
	}

	.nij-member-menu-card h2 {
		font-size: 20px;
	}

	.nij-member-support-card {
		padding: 22px 20px 24px;
	}

	.nij-member-support-links {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-member-support-links a {
		width: 100%;
		border-radius: 5px;
	}
}


/* ======================================
   Member Basic Information Page
====================================== */

.nij-member-basic-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-member-basic-main,
.nij-member-basic-side {
	min-width: 0;
}

.nij-member-basic-side {
	position: sticky;
	top: 112px;
}

.nij-member-basic-form {
	margin: 0;
}

.nij-member-basic-card,
.nij-member-basic-side-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-member-basic-card {
	margin-bottom: 18px;
}

.nij-member-basic-card-head {
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-member-basic-card-head h2,
.nij-member-basic-side-card h2 {
	margin: 0 0 8px;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-member-basic-card-head p,
.nij-member-basic-side-card > p {
	margin: 0 0 18px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-member-basic-card-body {
	padding: 28px;
}

/* Field */

.nij-member-basic-field {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	padding: 20px 0;
	border-bottom: 1px solid #eee;
}

.nij-member-basic-field:first-child {
	padding-top: 0;
}

.nij-member-basic-field:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.nij-member-basic-field label {
	margin: 0;
	padding-top: 13px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .04em;
}

.nij-member-basic-control {
	min-width: 0;
}

.nij-member-basic-control .form-control {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	box-shadow: none;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-member-basic-control .form-control:focus {
	border-color: #111;
	box-shadow: 0 0 0 3px rgba(0,0,0,.06);
	outline: none;
}

.nij-member-basic-control small {
	display: block;
	margin-top: 8px;
	color: #777;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-member-basic-forget a {
	color: #111;
	font-weight: 700;
	text-decoration: underline;
}

.nij-member-basic-forget a:hover,
.nij-member-basic-forget a:focus {
	color: #f28c00;
	text-decoration: underline;
}

/* Notes / errors */

.nij-member-basic-note {
	margin-top: 14px;
	padding: 15px 16px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-member-basic-note p {
	margin: 0 0 8px;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-member-basic-note p:last-child {
	margin-bottom: 0;
}

.nij-member-basic-error {
	margin-bottom: 18px;
	padding: 14px 16px;
	background: #fff0f0;
	border-left: 4px solid #c1272d;
	border-radius: 6px;
	color: #9b1c22;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Actions */

.nij-member-basic-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 24px;
}

.nij-member-basic-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 54px;
	padding: 0 26px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	box-shadow: none;
	cursor: pointer;
}

.nij-member-basic-submit:hover,
.nij-member-basic-submit:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	outline: none;
}

/* Side */

.nij-member-basic-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
}

.nij-member-basic-side-list {
	display: grid;
	gap: 0;
	margin-top: 16px;
}

.nij-member-basic-side-list div {
	padding: 15px 0;
	border-top: 1px solid #eee;
}

.nij-member-basic-side-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-member-basic-side-list p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-member-basic-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 0 18px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-member-basic-btn:hover,
.nij-member-basic-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-member-basic-layout {
		grid-template-columns: 1fr;
	}

	.nij-member-basic-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-member-basic-card-head,
	.nij-member-basic-card-body,
	.nij-member-basic-side-card {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-member-basic-field {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.nij-member-basic-field label {
		padding-top: 0;
	}

	.nij-member-basic-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-member-basic-submit {
		width: 100%;
	}
}


/* ======================================
   Member Basic Complete Page
====================================== */

.nij-member-complete-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-member-complete-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-member-complete-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-member-complete-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 30px 32px 32px;
	text-align: center;
}

.nij-member-complete-card h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-member-complete-card p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-member-complete-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 26px;
}

.nij-member-complete-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
}

.nij-member-complete-btn:hover,
.nij-member-complete-btn:focus {
	text-decoration: none;
}

.nij-member-complete-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-member-complete-btn-primary:hover,
.nij-member-complete-btn-primary:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-member-complete-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-member-complete-btn-secondary:hover,
.nij-member-complete-btn-secondary:focus {
	background: #f7f7f7;
	color: #111;
}

@media screen and (max-width: 767px) {
	.nij-member-complete-hero {
		padding: 30px 22px 28px;
	}

	.nij-member-complete-hero h1 {
		font-size: 25px;
	}

	.nij-member-complete-card {
		padding: 26px 20px 28px;
	}

	.nij-member-complete-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-member-complete-btn {
		width: 100%;
	}
}


/* ======================================
   Member Order History Page
====================================== */

.nij-order-history-notice {
	display: flex;
	align-items: stretch;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-order-history-notice__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 130px;
	background: #111;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
}

.nij-order-history-notice__body {
	padding: 22px 26px;
}

.nij-order-history-notice__body strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-order-history-notice__body p {
	margin: 0 0 8px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-order-history-notice__body p:last-child {
	margin-bottom: 0;
}

.nij-order-history-notice__body a {
	color: #111;
	font-weight: 700;
	text-decoration: underline;
}

.nij-order-history-notice__danger {
	color: #c1272d !important;
	font-weight: 900 !important;
}

/* List */

.nij-order-history-list {
	display: grid;
	gap: 18px;
}

.nij-order-history-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-order-history-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-order-history-card__head h2 {
	margin: 0;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	overflow-wrap: anywhere;
}

.nij-order-history-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	background: #111;
	border-radius: 999px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

.nij-order-history-card__body {
	padding: 26px 28px 28px;
}

/* Summary */

.nij-order-history-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 24px;
}

.nij-order-history-summary-item {
	min-width: 0;
	padding: 16px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-order-history-summary-item span {
	display: block;
	margin-bottom: 6px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
}

.nij-order-history-summary-item strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.nij-order-history-detail-btn,
.nij-order-history-tracking-link {
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: underline;
}

.nij-order-history-detail-btn:hover,
.nij-order-history-detail-btn:focus,
.nij-order-history-tracking-link:hover,
.nij-order-history-tracking-link:focus {
	color: #f28c00;
	text-decoration: underline;
}

/* Items */

.nij-order-history-items {
	padding-top: 4px;
}

.nij-order-history-items h3 {
	margin: 0 0 14px;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-order-history-item-list {
	display: grid;
	gap: 10px;
}

.nij-order-history-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 180px;
	gap: 14px;
	align-items: center;
	padding: 16px 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-order-history-item__name a {
	color: #111;
	text-decoration: none;
}

.nij-order-history-item__name a:hover,
.nij-order-history-item__name a:focus {
	color: #f28c00;
	text-decoration: none;
}

.nij-order-history-item__name strong {
	display: block;
	color: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-order-history-item__detail {
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
	text-align: right;
}

/* Empty */

.nij-order-history-empty {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 34px 28px 36px;
	text-align: center;
}

.nij-order-history-empty h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-order-history-empty p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-order-history-empty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 52px;
	margin-top: 24px;
	padding: 0 22px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-order-history-empty-btn:hover,
.nij-order-history-empty-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
}

/* ======================================
   Member Order Detail Page
====================================== */

.nij-order-detail-summary-card,
.nij-order-detail-card,
.nij-order-detail-side-card,
.nij-order-detail-cancel-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-order-detail-summary-card {
	margin-bottom: 18px;
}

.nij-order-detail-summary-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-order-detail-summary-head h2 {
	margin: 0;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	overflow-wrap: anywhere;
}

.nij-order-detail-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	background: #111;
	border-radius: 999px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

.nij-order-detail-summary-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	padding: 24px 28px 28px;
}

.nij-order-detail-summary-grid div {
	min-width: 0;
	padding: 16px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-order-detail-summary-grid span,
.nij-order-detail-info-box span,
.nij-order-detail-total-row span {
	display: block;
	margin-bottom: 6px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
}

.nij-order-detail-summary-grid strong,
.nij-order-detail-info-box strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

/* Layout */

.nij-order-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-order-detail-main,
.nij-order-detail-side {
	min-width: 0;
}

.nij-order-detail-side {
	position: sticky;
	top: 112px;
}

/* Cards */

.nij-order-detail-card {
	margin-bottom: 18px;
}

.nij-order-detail-card-head {
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-order-detail-card-head h2,
.nij-order-detail-side-card h2,
.nij-order-detail-cancel-card h2 {
	margin: 0;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

/* Items */

.nij-order-detail-item-list {
	display: grid;
	gap: 0;
}

.nij-order-detail-item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 18px;
	padding: 22px 28px;
	border-bottom: 1px solid #eee;
}

.nij-order-detail-item:last-child {
	border-bottom: none;
}

.nij-order-detail-item__image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-order-detail-item__image img {
	display: block;
	max-width: 80px;
	max-height: 80px;
	object-fit: contain;
}

.nij-order-detail-item__body {
	min-width: 0;
}

.nij-order-detail-item__body h3 {
	margin: 0 0 14px;
	color: #111;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-order-detail-item-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.nij-order-detail-item-meta div {
	padding: 14px 16px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-order-detail-item-meta span {
	display: block;
	margin-bottom: 5px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
}

.nij-order-detail-item-meta strong {
	display: block;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}

/* Total */

.nij-order-detail-total-list {
	padding: 10px 28px 28px;
}

.nij-order-detail-total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid #eee;
}

.nij-order-detail-total-row:last-child {
	border-bottom: none;
}

.nij-order-detail-total-row strong {
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	text-align: right;
}

.nij-order-detail-total-row-grand {
	margin-top: 6px;
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-order-detail-total-row-grand span {
	margin-bottom: 0;
	color: #111;
	font-size: 13px;
}

.nij-order-detail-total-row-grand strong {
	font-size: 22px;
}

.nij-order-detail-total-row-grand small {
	display: block;
	margin-top: 5px;
	color: #777;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}

/* Info */

.nij-order-detail-info-grid {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 12px;
	padding: 28px;
}

.nij-order-detail-info-box {
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-order-detail-info-box p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
}

/* Cancel */

.nij-order-detail-cancel-card {
	margin-bottom: 18px;
	padding: 24px 28px 28px;
	border-color: #f0b8b8;
}

.nij-order-detail-cancel-card p {
	margin: 0 0 18px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-order-detail-cancel-card p b {
	color: #111;
	font-weight: 700;
}

.nij-order-detail-cancel-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 52px;
	padding: 0 22px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	box-shadow: none;
	cursor: pointer;
}

.nij-order-detail-cancel-btn:hover,
.nij-order-detail-cancel-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	outline: none;
}

.nij-order-detail-cancel-btn-danger {
	background: #c1272d;
	border-color: #c1272d;
}

/* Actions */

.nij-order-detail-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}

.nij-order-detail-btn,
.nij-order-detail-side-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
}

.nij-order-detail-btn:hover,
.nij-order-detail-btn:focus,
.nij-order-detail-side-btn:hover,
.nij-order-detail-side-btn:focus {
	text-decoration: none;
}

.nij-order-detail-btn-primary,
.nij-order-detail-side-btn {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-order-detail-btn-primary:hover,
.nij-order-detail-btn-primary:focus,
.nij-order-detail-side-btn:hover,
.nij-order-detail-side-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-order-detail-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-order-detail-btn-secondary:hover,
.nij-order-detail-btn-secondary:focus {
	background: #f7f7f7;
	color: #111;
}

/* Side */

.nij-order-detail-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
}

.nij-order-detail-side-card p {
	margin: 0 0 18px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-order-detail-side-list {
	display: grid;
	gap: 0;
	margin-top: 16px;
}

.nij-order-detail-side-list div {
	padding: 15px 0;
	border-top: 1px solid #eee;
}

.nij-order-detail-side-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-order-detail-side-list p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-order-detail-side-btn {
	width: 100%;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-order-detail-layout {
		grid-template-columns: 1fr;
	}

	.nij-order-detail-side {
		position: static;
	}

	.nij-order-detail-summary-grid,
	.nij-order-detail-item-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nij-order-detail-info-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.nij-order-detail-summary-head {
		display: grid;
		grid-template-columns: 1fr;
		padding: 22px 20px 20px;
	}

	.nij-order-detail-status {
		justify-self: start;
	}

	.nij-order-detail-summary-grid {
		grid-template-columns: 1fr;
		padding: 22px 20px 24px;
	}

	.nij-order-detail-card-head,
	.nij-order-detail-item,
	.nij-order-detail-total-list,
	.nij-order-detail-info-grid,
	.nij-order-detail-cancel-card,
	.nij-order-detail-side-card {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-order-detail-item {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 14px;
	}

	.nij-order-detail-item__image {
		width: 72px;
		height: 72px;
	}

	.nij-order-detail-item__image img {
		max-width: 62px;
		max-height: 62px;
	}

	.nij-order-detail-item-meta {
		grid-template-columns: 1fr;
	}

	.nij-order-detail-total-row {
		align-items: flex-start;
	}

	.nij-order-detail-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-order-detail-btn,
	.nij-order-detail-cancel-btn {
		width: 100%;
	}
}


/* ======================================
   Member Order Cancel Confirm Page
====================================== */

.nij-order-cancel-card {
	background: #fff;
	border: 1px solid #f0b8b8;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-order-cancel-card__head {
	padding: 30px 32px 26px;
	text-align: center;
	border-bottom: 1px solid #f0b8b8;
}

.nij-order-cancel-card__head h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
}

.nij-order-cancel-card__head p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-order-cancel-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 26px 32px 0;
}

.nij-order-cancel-summary div {
	min-width: 0;
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-order-cancel-summary span {
	display: block;
	margin-bottom: 6px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
}

.nij-order-cancel-summary strong {
	display: block;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.nij-order-cancel-alert {
	margin: 22px 32px 0;
	padding: 16px 18px;
	background: #fff0f0;
	border-left: 4px solid #c1272d;
	border-radius: 6px;
}

.nij-order-cancel-alert p {
	margin: 0;
	color: #8a1f24;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-order-cancel-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 28px 32px 32px;
}

.nij-order-cancel-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 54px;
	padding: 0 24px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	box-shadow: none;
	cursor: pointer;
}

.nij-order-cancel-btn:focus {
	outline: none;
}

.nij-order-cancel-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-order-cancel-btn-secondary:hover,
.nij-order-cancel-btn-secondary:focus {
	background: #f7f7f7;
	color: #111;
}

.nij-order-cancel-btn-danger {
	background: #c1272d;
	border: 1px solid #c1272d;
	color: #fff;
}

.nij-order-cancel-btn-danger:hover,
.nij-order-cancel-btn-danger:focus {
	background: #a91f25;
	border-color: #a91f25;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.nij-order-cancel-card__head {
		padding: 26px 20px 24px;
	}

	.nij-order-cancel-card__head h2 {
		font-size: 22px;
	}

	.nij-order-cancel-summary {
		grid-template-columns: 1fr;
		padding: 22px 20px 0;
	}

	.nij-order-cancel-alert {
		margin: 20px 20px 0;
	}

	.nij-order-cancel-actions {
		display: grid;
		grid-template-columns: 1fr;
		padding: 24px 20px 28px;
	}

	.nij-order-cancel-btn {
		width: 100%;
	}
}


/* ======================================
   Member Waiting / Restock Notice Page
====================================== */

.nij-waiting-summary-card {
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-waiting-summary-head {
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-waiting-summary-head h2 {
	margin: 0 0 8px;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-waiting-summary-head p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-waiting-filter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 28px;
	background: #fafafa;
}

.nij-waiting-filter__forms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.nij-waiting-filter__sort {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	white-space: nowrap;
}

.nij-waiting-filter__sort label {
	margin: 0;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-waiting-filter__sort select,
.nij-waiting-filter select {
	height: 40px;
	padding: 0 34px 0 12px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	box-shadow: none;
}

/* item list wrapper */

.nij-waiting-item-wrap {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 22px 18px 10px;
	overflow: hidden;
}

.nij-waiting-item-wrap .item {
	margin: 0;
}

.nij-waiting-item-wrap .row {
	margin-left: -8px;
	margin-right: -8px;
}

/* Pager */

.nij-waiting-pager {
	margin: 18px 0;
	text-align: center;
}

.nij-waiting-pager-top {
	margin-top: 0;
}

.nij-waiting-pager-bottom {
	margin-bottom: 0;
}

.nij-waiting-pager nav {
	display: block;
}

.nij-waiting-pager .pagination {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 14px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-waiting-pager .pagination > li {
	display: block;
	margin: 0;
	font-size: 0;
}

.nij-waiting-pager .pagination > li > a,
.nij-waiting-pager .pagination > li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 13px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 6px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	box-shadow: none;
}

.nij-waiting-pager .pagination > li > a:hover,
.nij-waiting-pager .pagination > li > a:focus {
	background: #111;
	border-color: #111;
	color: #fff;
	text-decoration: none;
}

.nij-waiting-pager .pagination > li > span.now {
	background: #111 !important;
	border-color: #111 !important;
	color: #fff !important;
}

/* Empty */

.nij-waiting-empty {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 34px 28px 36px;
	text-align: center;
}

.nij-waiting-empty h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-waiting-empty p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-waiting-empty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 52px;
	margin-top: 24px;
	padding: 0 22px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-waiting-empty-btn:hover,
.nij-waiting-empty-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
}

/* Responsive */

@media screen and (max-width: 767px) {
	.nij-waiting-summary-head {
		padding: 22px 20px 20px;
	}

	.nij-waiting-filter {
		display: grid;
		grid-template-columns: 1fr;
		padding: 16px 20px;
	}

	.nij-waiting-filter__sort {
		width: 100%;
		margin-left: 0;
		justify-content: space-between;
	}

	.nij-waiting-filter__sort select {
		flex: 1;
		min-width: 0;
	}

	.nij-waiting-item-wrap {
		padding: 18px 12px 6px;
	}

	.nij-waiting-pager .pagination {
		width: 100%;
		padding: 12px;
		gap: 6px;
	}

	.nij-waiting-pager .pagination > li > a,
	.nij-waiting-pager .pagination > li > span {
		min-width: 38px;
		height: 38px;
		padding: 0 11px;
		font-size: 12px;
	}

	.nij-waiting-empty {
		padding: 28px 20px 30px;
	}
}


/* ======================================
   Member Wishlist Page
====================================== */

.nij-wish-summary-card {
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-wish-summary-head {
	padding: 24px 28px 22px;
	border-bottom: 1px solid #eee;
}

.nij-wish-summary-head h2 {
	margin: 0 0 8px;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-wish-summary-head p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-wish-filter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 28px;
	background: #fafafa;
}

.nij-wish-filter__forms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.nij-wish-filter__sort {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	white-space: nowrap;
}

.nij-wish-filter__sort label {
	margin: 0;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.nij-wish-filter__sort select,
.nij-wish-filter select {
	height: 40px;
	padding: 0 34px 0 12px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	box-shadow: none;
}

/* item list wrapper */

.nij-wish-item-wrap {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 22px 18px 10px;
	overflow: hidden;
}

.nij-wish-item-wrap .item {
	margin: 0;
}

.nij-wish-item-wrap .row {
	margin-left: -8px;
	margin-right: -8px;
}

/* Pager */

.nij-wish-pager {
	margin: 18px 0;
	text-align: center;
}

.nij-wish-pager-top {
	margin-top: 0;
}

.nij-wish-pager-bottom {
	margin-bottom: 0;
}

.nij-wish-pager nav {
	display: block;
}

.nij-wish-pager .pagination {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 14px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-wish-pager .pagination > li {
	display: block;
	margin: 0;
	font-size: 0;
}

.nij-wish-pager .pagination > li > a,
.nij-wish-pager .pagination > li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 13px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 6px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	box-shadow: none;
}

.nij-wish-pager .pagination > li > a:hover,
.nij-wish-pager .pagination > li > a:focus {
	background: #111;
	border-color: #111;
	color: #fff;
	text-decoration: none;
}

.nij-wish-pager .pagination > li > span.now {
	background: #111 !important;
	border-color: #111 !important;
	color: #fff !important;
}

/* Empty */

.nij-wish-empty {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 34px 28px 36px;
	text-align: center;
}

.nij-wish-empty h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-wish-empty p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-wish-empty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 52px;
	margin-top: 24px;
	padding: 0 22px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-wish-empty-btn:hover,
.nij-wish-empty-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
}

/* Responsive */

@media screen and (max-width: 767px) {
	.nij-wish-summary-head {
		padding: 22px 20px 20px;
	}

	.nij-wish-filter {
		display: grid;
		grid-template-columns: 1fr;
		padding: 16px 20px;
	}

	.nij-wish-filter__sort {
		width: 100%;
		margin-left: 0;
		justify-content: space-between;
	}

	.nij-wish-filter__sort select {
		flex: 1;
		min-width: 0;
	}

	.nij-wish-item-wrap {
		padding: 18px 12px 6px;
	}

	.nij-wish-pager .pagination {
		width: 100%;
		padding: 12px;
		gap: 6px;
	}

	.nij-wish-pager .pagination > li > a,
	.nij-wish-pager .pagination > li > span {
		min-width: 38px;
		height: 38px;
		padding: 0 11px;
		font-size: 12px;
	}

	.nij-wish-empty {
		padding: 28px 20px 30px;
	}
}


/* ======================================
   Blog List Page
====================================== */

.nij-blog-list-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-blog-list-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-blog-list-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-blog-list-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-blog-list-hero h1 {
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-blog-list-hero h1:before,
.nij-blog-list-hero h1:after {
	display: none;
	content: none;
}

.nij-blog-list-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Main image */

.nij-blog-list-main-image {
	margin: 0 0 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-blog-list-main-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Head */

.nij-blog-list-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
	padding: 24px 28px 22px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-blog-list-head h2 {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	color: #111;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-blog-list-head h2:before,
.nij-blog-list-head h2:after {
	display: none;
	content: none;
}

.nij-blog-list-head > p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Grid */

.nij-blog-list-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

/* Card */

.nij-blog-list-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.nij-blog-list-card:hover {
	transform: translateY(-2px);
	border-color: #f3dfbf;
	box-shadow: 0 16px 36px rgba(0,0,0,.08);
}

.nij-blog-list-card__image {
	display: block;
	background: #fafafa;
	overflow: hidden;
}

.nij-blog-list-card__image img {
	display: block;
	width: 100%;
	height: 260px;
	object-fit: cover;
	transition: transform .24s ease;
}

.nij-blog-list-card:hover .nij-blog-list-card__image img {
	transform: scale(1.025);
}

.nij-blog-list-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 22px 24px 24px;
}

.nij-blog-list-card__date {
	margin: 0 0 10px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
	text-align: left;
}

.nij-blog-list-card__title {
	margin: 0 0 12px;
	padding: 0 0 13px;
	background: none;
	border: 0;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: .03em;
	position: relative;
	box-shadow: none;
}

.nij-blog-list-card__title:before {
	display: none;
	content: none;
}

.nij-blog-list-card__title:after {
	content: "";
	position: static;
	display: block;
	width: 34px;
	height: 3px;
	margin-top: 12px;
	background: #f28c00;
	border: 0;
	border-radius: 999px;
}

.nij-blog-list-card__title a {
	color: #111;
	text-decoration: none;
}

.nij-blog-list-card__title a:hover,
.nij-blog-list-card__title a:focus {
	color: #f28c00;
	text-decoration: none;
}

.nij-blog-list-card__excerpt {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-blog-list-card__excerpt a {
	color: #555;
	text-decoration: none;
}

.nij-blog-list-card__excerpt a:hover,
.nij-blog-list-card__excerpt a:focus {
	color: #111;
	text-decoration: none;
}

.nij-blog-list-card__more {
	margin-top: auto;
	padding-top: 20px;
}

.nij-blog-list-readmore {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: auto;
	min-height: auto;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-blog-list-readmore:after {
	content: "›";
	color: #f28c00;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-1px);
}

.nij-blog-list-readmore:hover,
.nij-blog-list-readmore:focus {
	background: none;
	border-color: transparent;
	color: #f28c00;
	text-decoration: none;
}

.nij-blog-list-readmore:hover:after,
.nij-blog-list-readmore:focus:after {
	color: #f28c00;
}

@media screen and (max-width: 991px) {
	.nij-blog-list-grid {
		grid-template-columns: 1fr;
	}

	.nij-blog-list-card__image img {
		height: auto;
	}
}

@media screen and (max-width: 767px) {
	.nij-blog-list-page {
		padding-bottom: 40px;
	}

	.nij-blog-list-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-blog-list-hero {
		padding: 30px 22px 28px;
	}

	.nij-blog-list-hero h1 {
		font-size: 25px;
	}

	.nij-blog-list-head {
		display: block;
		padding: 22px 20px 20px;
	}

	.nij-blog-list-head h2 {
		margin-bottom: 8px;
		font-size: 21px;
	}

	.nij-blog-list-card__body {
		padding: 20px 20px 22px;
	}

	.nij-blog-list-card__title {
		font-size: 18px;
	}

	.nij-blog-list-pager .pagination {
		width: 100%;
		padding: 12px;
		gap: 6px;
	}

	.nij-blog-list-pager .pagination > li > a,
	.nij-blog-list-pager .pagination > li > span {
		min-width: 38px;
		height: 38px;
		padding: 0 11px;
		font-size: 12px;
	}
}


/* ======================================
   Member Login Page
====================================== */

.nij-login-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-login-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-login-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-login-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-login-hero h1 {
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-login-hero h1:before,
.nij-login-hero h1:after {
	display: none;
	content: none;
}

.nij-login-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Layout */

.nij-login-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-login-main,
.nij-login-side {
	min-width: 0;
}

.nij-login-side {
	position: sticky;
	top: 112px;
}

/* Cards */

.nij-login-card,
.nij-login-side-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-login-card-head {
	padding: 26px 30px 24px;
	border-bottom: 1px solid #eee;
}

.nij-login-card-head h2,
.nij-login-side-card h2 {
	margin: 0 0 8px;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-login-card-lead,
.nij-login-side-lead {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-login-card-head .nij-login-label,
.nij-login-side-card .nij-login-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

.nij-login-card-body {
	padding: 30px;
}

.nij-login-form {
	margin: 0;
}

/* Fields */

.nij-login-field {
	margin-bottom: 20px;
}

.nij-login-field label {
	display: block;
	margin: 0 0 8px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .04em;
}

.nij-login-field .form-control {
	width: 100%;
	height: 50px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	box-shadow: none;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-login-field .form-control:focus {
	border-color: #111;
	box-shadow: 0 0 0 3px rgba(0,0,0,.06);
	outline: none;
}

.nij-login-forget {
	margin-top: 10px;
	text-align: right;
}

.nij-login-forget a {
	color: #111;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
	text-decoration: underline;
}

.nij-login-forget a:hover,
.nij-login-forget a:focus {
	color: #f28c00;
	text-decoration: underline;
}

/* Error */

.nij-login-error {
	margin-bottom: 20px;
	padding: 14px 16px;
	background: #fff0f0;
	border-left: 4px solid #c1272d;
	border-radius: 6px;
	color: #9b1c22;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Actions */

.nij-login-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 26px;
}

.nij-login-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 54px;
	padding: 0 28px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	box-shadow: none;
	cursor: pointer;
}

.nij-login-submit:hover,
.nij-login-submit:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	outline: none;
}

/* Side */

.nij-login-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
}

.nij-login-side-actions {
	display: grid;
	gap: 10px;
	margin-top: 18px;
}

.nij-login-side-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 0 18px;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-login-side-btn:hover,
.nij-login-side-btn:focus {
	text-decoration: none;
}

.nij-login-side-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-login-side-btn-primary:hover,
.nij-login-side-btn-primary:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-login-side-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-login-side-btn-secondary:hover,
.nij-login-side-btn-secondary:focus {
	background: #f7f7f7;
	color: #111;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-login-layout {
		grid-template-columns: 1fr;
	}

	.nij-login-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-login-page {
		padding-bottom: 40px;
	}

	.nij-login-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-login-hero {
		padding: 30px 22px 28px;
	}

	.nij-login-hero h1 {
		font-size: 25px;
	}

	.nij-login-card-head,
	.nij-login-card-body,
	.nij-login-side-card {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-login-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-login-submit {
		width: 100%;
	}
}

.nij-login-side-note {
	margin-top: 16px;
	padding: 15px 16px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-login-side-note p {
	margin: 0 0 10px;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-login-side-note a {
	display: inline-flex;
	align-items: center;
	color: #111;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: underline;
}

.nij-login-side-note a:hover,
.nij-login-side-note a:focus {
	color: #f28c00;
	text-decoration: underline;
}


/* ======================================
   Password Reset / Forget Page
====================================== */

.nij-forget-form {
	margin: 0;
}

.nij-forget-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 26px;
}

.nij-forget-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 210px;
	min-height: 54px;
	padding: 0 24px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-forget-btn:hover,
.nij-forget-btn:focus {
	text-decoration: none;
	outline: none;
}

.nij-forget-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-forget-btn-primary:hover,
.nij-forget-btn-primary:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-forget-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-forget-btn-secondary:hover,
.nij-forget-btn-secondary:focus {
	background: #f7f7f7;
	color: #111;
}

/* Side note */

.nij-forget-side-note {
	margin-top: 16px;
	padding: 15px 16px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-forget-side-note p {
	margin: 0 0 10px;
	color: #6b4a18;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-forget-side-note a {
	display: inline-flex;
	align-items: center;
	color: #111;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: underline;
}

.nij-forget-side-note a:hover,
.nij-forget-side-note a:focus {
	color: #f28c00;
	text-decoration: underline;
}

/* Mail check */

.nij-forget-mail-check {
	display: grid;
	gap: 10px;
	margin-top: 16px;
}

.nij-forget-mail-check div {
	padding: 15px 16px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-forget-mail-check strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-forget-mail-check p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-login-side-lead em {
	color: #111;
	font-style: normal;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.nij-forget-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-forget-btn {
		width: 100%;
	}
}


/* ======================================
   Password Reset Complete Page
====================================== */

.nij-forget-complete-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-forget-complete-main {
	min-width: 0;
}

.nij-forget-complete-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 34px 32px 36px;
	text-align: center;
}

.nij-forget-complete-card h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
}

.nij-forget-complete-card > p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-forget-complete-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 28px;
}

.nij-forget-complete-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 54px;
	padding: 0 26px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
}

.nij-forget-complete-btn:hover,
.nij-forget-complete-btn:focus {
	text-decoration: none;
}

.nij-forget-complete-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-forget-complete-btn-primary:hover,
.nij-forget-complete-btn-primary:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

@media screen and (max-width: 991px) {
	.nij-forget-complete-layout {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.nij-forget-complete-card {
		padding: 28px 20px 30px;
	}

	.nij-forget-complete-card h2 {
		font-size: 22px;
	}

	.nij-forget-complete-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-forget-complete-btn {
		width: 100%;
	}
}


/* ======================================
   Coupon / Invite Code Page
====================================== */

.nij-coupon-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-coupon-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-coupon-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-coupon-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-coupon-hero h1 {
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-coupon-hero h1:before,
.nij-coupon-hero h1:after {
	display: none;
	content: none;
}

.nij-coupon-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Layout */

.nij-coupon-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-coupon-main,
.nij-coupon-side {
	min-width: 0;
}

.nij-coupon-side {
	position: sticky;
	top: 112px;
}

/* Cards */

.nij-coupon-card,
.nij-coupon-side-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-coupon-card-head {
	padding: 26px 30px 24px;
	border-bottom: 1px solid #eee;
}

.nij-coupon-card-head h2,
.nij-coupon-side-card h2,
.nij-coupon-complete-card h2 {
	margin: 0 0 8px;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-coupon-card-lead,
.nij-coupon-side-lead {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-coupon-card-body {
	padding: 30px;
}

.nij-coupon-form {
	margin: 0;
}

/* Field */

.nij-coupon-field {
	margin-bottom: 22px;
}

.nij-coupon-field label {
	display: block;
	margin: 0 0 8px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .04em;
}

.nij-coupon-field .form-control {
	width: 100%;
	height: 52px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	box-shadow: none;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .04em;
}

.nij-coupon-field .form-control:focus {
	border-color: #111;
	box-shadow: 0 0 0 3px rgba(0,0,0,.06);
	outline: none;
}

/* Actions */

.nij-coupon-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 26px;
}

.nij-coupon-submit,
.nij-coupon-btn,
.nij-coupon-side-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 210px;
	min-height: 54px;
	padding: 0 24px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-coupon-submit,
.nij-coupon-btn-primary,
.nij-coupon-side-btn {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-coupon-submit:hover,
.nij-coupon-submit:focus,
.nij-coupon-btn-primary:hover,
.nij-coupon-btn-primary:focus,
.nij-coupon-side-btn:hover,
.nij-coupon-side-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
	outline: none;
}

.nij-coupon-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-coupon-btn-secondary:hover,
.nij-coupon-btn-secondary:focus {
	background: #f7f7f7;
	color: #111;
	text-decoration: none;
}

/* Complete */

.nij-coupon-complete-card {
	padding: 34px 32px 36px;
	text-align: center;
}

.nij-coupon-complete-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 auto 18px;
	background: #111;
	border-radius: 999px;
	color: #f28c00;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
}

.nij-coupon-complete-card > p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Side */

.nij-coupon-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
}

.nij-coupon-side-list {
	display: grid;
	gap: 0;
	margin-top: 16px;
}

.nij-coupon-side-list div {
	padding: 15px 0;
	border-top: 1px solid #eee;
}

.nij-coupon-side-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-coupon-side-list p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-coupon-side-btn {
	width: 100%;
	margin-top: 18px;
	min-width: 0;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-coupon-layout {
		grid-template-columns: 1fr;
	}

	.nij-coupon-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-coupon-page {
		padding-bottom: 40px;
	}

	.nij-coupon-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-coupon-hero {
		padding: 30px 22px 28px;
	}

	.nij-coupon-hero h1 {
		font-size: 25px;
	}

	.nij-coupon-card-head,
	.nij-coupon-card-body,
	.nij-coupon-side-card,
	.nij-coupon-complete-card {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-coupon-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-coupon-submit,
	.nij-coupon-btn,
	.nij-coupon-side-btn {
		width: 100%;
	}
}


/* ======================================
   Member Withdrawal Page
====================================== */

.nij-withdrawal-card {
	background: #fff;
	border: 1px solid #f0b8b8;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-withdrawal-card__head {
	padding: 30px 32px 26px;
	text-align: center;
	border-bottom: 1px solid #f0b8b8;
}

.nij-withdrawal-card__head h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
}

.nij-withdrawal-card__head p {
	margin: 0;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-withdrawal-body {
	padding: 28px 32px 32px;
}

.nij-withdrawal-notice-list {
	display: grid;
	gap: 12px;
}

.nij-withdrawal-notice-list div {
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-withdrawal-notice-list strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-withdrawal-notice-list p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-withdrawal-alert {
	margin-top: 18px;
	padding: 16px 18px;
	background: #fff0f0;
	border-left: 4px solid #c1272d;
	border-radius: 6px;
}

.nij-withdrawal-alert p {
	margin: 0;
	color: #8a1f24;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-withdrawal-form {
	margin: 24px 0 0;
}

.nij-withdrawal-agree {
	padding: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	text-align: center;
}

.nij-withdrawal-agree label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
	cursor: pointer;
}

.nij-withdrawal-agree input[type="checkbox"] {
	margin: 0;
	transform: translateY(1px);
}

.nij-withdrawal-confirm-message {
	display: none;
	margin-top: 14px;
	padding: 13px 15px;
	background: #fff0f0;
	border-left: 4px solid #c1272d;
	border-radius: 6px;
	color: #9b1c22;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
}

.nij-withdrawal-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 26px;
}

.nij-withdrawal-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 54px;
	padding: 0 24px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.nij-withdrawal-btn:hover,
.nij-withdrawal-btn:focus {
	text-decoration: none;
	outline: none;
}

.nij-withdrawal-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-withdrawal-btn-secondary:hover,
.nij-withdrawal-btn-secondary:focus {
	background: #f7f7f7;
	color: #111;
}

.nij-withdrawal-btn-danger {
	background: #c1272d;
	border: 1px solid #c1272d;
	color: #fff;
}

.nij-withdrawal-btn-danger:hover,
.nij-withdrawal-btn-danger:focus {
	background: #a91f25;
	border-color: #a91f25;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.nij-withdrawal-card__head {
		padding: 26px 20px 24px;
	}

	.nij-withdrawal-card__head h2 {
		font-size: 22px;
	}

	.nij-withdrawal-body {
		padding: 24px 20px 28px;
	}

	.nij-withdrawal-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-withdrawal-btn {
		width: 100%;
	}
}


/* ======================================
   Member Withdrawal Complete Page
====================================== */

.nij-withdrawal-complete-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-withdrawal-complete-page .nij-member-shell {
	padding-top: 32px;
}

.nij-withdrawal-complete-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 40px 32px 42px;
	text-align: center;
}

.nij-withdrawal-complete-card h1 {
	margin: 0 0 14px;
	padding: 0;
	background: none;
	border: 0;
	color: #111;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-withdrawal-complete-card h1:before,
.nij-withdrawal-complete-card h1:after {
	display: none;
	content: none;
}

.nij-withdrawal-complete-card > p {
	margin: 0 0 10px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-withdrawal-complete-card > p:last-of-type {
	margin-bottom: 0;
}

.nij-withdrawal-complete-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 28px;
}

.nij-withdrawal-complete-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: none;
}

.nij-withdrawal-complete-btn:hover,
.nij-withdrawal-complete-btn:focus {
	text-decoration: none;
}

.nij-withdrawal-complete-btn-primary {
	background: #111;
	border: 1px solid #111;
	color: #fff;
}

.nij-withdrawal-complete-btn-primary:hover,
.nij-withdrawal-complete-btn-primary:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-withdrawal-complete-btn-secondary {
	background: #fff;
	border: 1px solid #d8d8d8;
	color: #111;
}

.nij-withdrawal-complete-btn-secondary:hover,
.nij-withdrawal-complete-btn-secondary:focus {
	background: #f7f7f7;
	color: #111;
}

@media screen and (max-width: 767px) {
	.nij-withdrawal-complete-page {
		padding-bottom: 40px;
	}

	.nij-withdrawal-complete-page .nij-member-shell {
		padding-top: 24px;
	}

	.nij-withdrawal-complete-card {
		padding: 32px 20px 34px;
	}

	.nij-withdrawal-complete-card h1 {
		font-size: 24px;
	}

	.nij-withdrawal-complete-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-withdrawal-complete-btn {
		width: 100%;
	}
}


/* ======================================
   About NIC IN JUICE Page
====================================== */

.nij-about-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-about-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-about-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-about-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-about-hero h1 {
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-about-hero h1:before,
.nij-about-hero h1:after {
	display: none;
	content: none;
}

.nij-about-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Intro */

.nij-about-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	margin-bottom: 18px;
}

.nij-about-intro__main,
.nij-about-intro__side,
.nij-about-section__body,
.nij-about-message {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-about-intro__main {
	padding: 30px 32px 32px;
}

.nij-about-intro__side {
	align-self: start;
	padding: 26px 26px 28px;
	border-top: 4px solid #111;
}

.nij-about-intro__main h2 {
	margin: 0 0 18px;
	color: #111;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
}

.nij-about-intro__side h3 {
	margin: 0 0 12px;
	color: #111;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
}

.nij-about-intro__main p:not(.nij-about-label),
.nij-about-intro__side p:not(.nij-about-label),
.nij-about-message p:not(.nij-about-label) {
	margin: 0 0 16px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.95;
}

.nij-about-intro__main p:last-child,
.nij-about-intro__side p:last-child,
.nij-about-message p:last-child {
	margin-bottom: 0;
}

/* Sections */

.nij-about-section {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 18px;
	margin-bottom: 18px;
}

.nij-about-section__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .06em;
	box-shadow: 6px 6px 0 #f28c00;
}

.nij-about-section__body {
	min-width: 0;
	padding: 28px 30px 30px;
}

.nij-about-section__body h2,
.nij-about-message h2 {
	margin: 0 0 16px;
	color: #111;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
}

.nij-about-lead {
	margin: 0 0 22px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Value */

.nij-about-value-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.nij-about-value-card {
	min-width: 0;
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-about-value-card span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	margin-bottom: 10px;
	padding: 0 11px;
	background: #111;
	border-radius: 999px;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .08em;
}

.nij-about-value-card h3 {
	margin: 0 0 8px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-about-value-card p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* Promise */

.nij-about-promise-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.nij-about-promise-card {
	min-width: 0;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
	overflow: hidden;
}

.nij-about-promise-card figure {
	margin: 0;
	background: #fff;
}

.nij-about-promise-card img {
	display: block;
	width: 100%;
	height: auto;
}

.nij-about-promise-card__body {
	padding: 20px 20px 22px;
}

.nij-about-promise-card__body h3 {
	margin: 0 0 10px;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .04em;
}

.nij-about-promise-card__body p:not(.nij-about-label) {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.85;
}

/* Guide */

.nij-about-guide-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.nij-about-guide-card {
	min-width: 0;
	padding: 22px;
	background: #fafafa;
	border: 1px solid #eee;
	border-top: 4px solid #111;
	border-radius: 8px;
}

.nij-about-guide-card h3 {
	margin: 0 0 10px;
	color: #111;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .04em;
}

.nij-about-guide-card p {
	margin: 0 0 16px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.85;
}

.nij-about-guide-card a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

.nij-about-guide-card a:after {
	content: "›";
	color: #f28c00;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-1px);
}

.nij-about-guide-card a:hover,
.nij-about-guide-card a:focus {
	color: #f28c00;
	text-decoration: none;
}

/* Message */

.nij-about-message {
	margin-bottom: 18px;
	padding: 30px 32px 32px;
	border-left: 5px solid #f28c00;
}

.nij-about-message h2 {
	font-size: 25px;
}

/* Label protection */

.nij-about-intro__main .nij-about-label,
.nij-about-intro__side .nij-about-label,
.nij-about-section__body .nij-about-label,
.nij-about-promise-card__body .nij-about-label,
.nij-about-message .nij-about-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-about-intro {
		grid-template-columns: 1fr;
	}

	.nij-about-value-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nij-about-promise-grid,
	.nij-about-guide-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.nij-about-page {
		padding-bottom: 40px;
	}

	.nij-about-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-about-hero {
		padding: 30px 22px 28px;
	}

	.nij-about-hero h1 {
		font-size: 25px;
	}

	.nij-about-intro__main,
	.nij-about-intro__side,
	.nij-about-section__body,
	.nij-about-message {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-about-intro__main h2,
	.nij-about-section__body h2,
	.nij-about-message h2 {
		font-size: 21px;
	}

	.nij-about-section {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nij-about-section__num {
		width: 54px;
		height: 54px;
		font-size: 17px;
		box-shadow: 4px 4px 0 #f28c00;
	}

	.nij-about-value-grid {
		grid-template-columns: 1fr;
	}
}

/* About CTA */

.nij-about-cta {
	margin-top: 18px;
	padding: 30px 32px 32px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	text-align: center;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-about-cta h2 {
	margin: 0 0 10px;
	color: #fff;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-about-cta p:not(.nij-about-label) {
	margin: 0;
	color: rgba(255,255,255,.78);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-about-cta .nij-about-label {
	color: #f28c00;
}

.nij-about-cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}

.nij-about-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-about-cta-btn:hover,
.nij-about-cta-btn:focus {
	text-decoration: none;
}

.nij-about-cta-btn-primary {
	background: #f28c00;
	border: 1px solid #f28c00;
	color: #fff;
}

.nij-about-cta-btn-primary:hover,
.nij-about-cta-btn-primary:focus {
	background: #fff;
	border-color: #fff;
	color: #111;
}

.nij-about-cta-btn-secondary {
	background: transparent;
	border: 1px solid rgba(255,255,255,.35);
	color: #fff;
}

.nij-about-cta-btn-secondary:hover,
.nij-about-cta-btn-secondary:focus {
	background: #fff;
	border-color: #fff;
	color: #111;
}

@media screen and (max-width: 767px) {
	.nij-about-cta {
		padding: 28px 20px 30px;
	}

	.nij-about-cta h2 {
		font-size: 21px;
	}

	.nij-about-cta-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-about-cta-btn {
		width: 100%;
	}
}


/* ======================================
   Member Friend Referral Page
====================================== */

.nij-member-introduce-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-introduce-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}

.nij-introduce-main,
.nij-introduce-side {
	min-width: 0;
}

.nij-introduce-side {
	position: sticky;
	top: 112px;
}

/* Cards */

.nij-introduce-benefit-card,
.nij-introduce-code-card,
.nij-introduce-guide-card,
.nij-introduce-ticket-card,
.nij-introduce-side-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-introduce-benefit-card,
.nij-introduce-guide-card {
	margin-bottom: 18px;
	padding: 26px 30px 30px;
}

.nij-introduce-code-card {
	margin-bottom: 18px;
}

.nij-introduce-code-head {
	padding: 26px 30px 24px;
	border-bottom: 1px solid #eee;
}

.nij-introduce-code-body {
	padding: 30px;
}

.nij-introduce-benefit-card h2,
.nij-introduce-code-head h2,
.nij-introduce-guide-card h2,
.nij-introduce-ticket-card h2,
.nij-introduce-side-card h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-introduce-code-head > p:not(.nij-member-label),
.nij-introduce-ticket-card > p,
.nij-introduce-side-lead {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Benefit */

.nij-introduce-benefit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.nij-introduce-benefit-box {
	padding: 20px;
	background: #fafafa;
	border: 1px solid #eee;
	border-left: 5px solid #f28c00;
	border-radius: 8px;
}

.nij-introduce-benefit-box span {
	display: block;
	margin-bottom: 8px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .1em;
}

.nij-introduce-benefit-box strong {
	display: block;
	margin-bottom: 10px;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-introduce-benefit-box p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Code */

.nij-introduce-code-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 140px;
	gap: 10px;
	margin-bottom: 12px;
}

.nij-introduce-code-box input {
	width: 100%;
	height: 56px;
	padding: 0 16px;
	background: #fafafa;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	box-shadow: none;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
	text-align: center;
}

.nij-introduce-code-box input:focus {
	border-color: #111;
	box-shadow: 0 0 0 3px rgba(0,0,0,.06);
	outline: none;
}

.nij-introduce-copy-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: 0 18px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	cursor: pointer;
}

.nij-introduce-copy-btn:hover,
.nij-introduce-copy-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	outline: none;
}

.nij-introduce-copy-btn.is-copied {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
}

.nij-introduce-code-note {
	margin: 0;
	color: #777;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
}

/* Mail */

.nij-introduce-mail-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 170px;
	gap: 18px;
	align-items: center;
	margin-top: 24px;
	padding: 18px;
	background: #fff8ed;
	border: 1px solid #f3dfbf;
	border-radius: 8px;
}

.nij-introduce-mail-box h3 {
	margin: 0 0 8px;
	color: #111;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-introduce-mail-box p:not(.nij-member-label) {
	margin: 0;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-introduce-mail-form {
	margin: 0;
}

.nij-introduce-mail-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 0 18px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	cursor: pointer;
}

.nij-introduce-mail-btn:hover,
.nij-introduce-mail-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	outline: none;
}

/* Guide */

.nij-introduce-guide-list {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.nij-introduce-guide-list div {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 14px;
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-introduce-guide-list span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 4px 4px 0 #f28c00;
}

.nij-introduce-guide-list h3 {
	margin: 0 0 6px;
	color: #111;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-introduce-guide-list p {
	grid-column: 2;
	margin: -6px 0 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Side */

.nij-introduce-ticket-card,
.nij-introduce-side-card {
	margin-bottom: 18px;
	padding: 24px 26px 26px;
}

.nij-introduce-ticket-count {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 6px;
	margin: 18px 0;
	padding: 22px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-introduce-ticket-count strong {
	color: #f28c00;
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
}

.nij-introduce-ticket-count span {
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.nij-introduce-note-list {
	display: grid;
	gap: 0;
	margin-top: 16px;
}

.nij-introduce-note-list div {
	padding: 15px 0;
	border-top: 1px solid #eee;
}

.nij-introduce-note-list strong {
	display: block;
	margin-bottom: 5px;
	color: #111;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-introduce-note-list p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-introduce-side-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	margin-top: 18px;
	padding: 0 18px;
	background: #111;
	border: 1px solid #111;
	border-radius: 5px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-introduce-side-btn:hover,
.nij-introduce-side-btn:focus {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	text-decoration: none;
}

/* Label protection */

.nij-introduce-benefit-card .nij-member-label,
.nij-introduce-code-card .nij-member-label,
.nij-introduce-guide-card .nij-member-label,
.nij-introduce-ticket-card .nij-member-label,
.nij-introduce-side-card .nij-member-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-introduce-layout {
		grid-template-columns: 1fr;
	}

	.nij-introduce-side {
		position: static;
	}

	.nij-introduce-benefit-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.nij-member-introduce-page {
		padding-bottom: 40px;
	}

	.nij-introduce-benefit-card,
	.nij-introduce-code-head,
	.nij-introduce-code-body,
	.nij-introduce-guide-card,
	.nij-introduce-ticket-card,
	.nij-introduce-side-card {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-introduce-benefit-card h2,
	.nij-introduce-code-head h2,
	.nij-introduce-guide-card h2,
	.nij-introduce-ticket-card h2,
	.nij-introduce-side-card h2 {
		font-size: 21px;
	}

	.nij-introduce-code-box {
		grid-template-columns: 1fr;
	}

	.nij-introduce-mail-box {
		grid-template-columns: 1fr;
	}

	.nij-introduce-guide-list div {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.nij-introduce-guide-list span {
		width: 42px;
		height: 42px;
		font-size: 12px;
		box-shadow: 3px 3px 0 #f28c00;
	}

	.nij-introduce-guide-list p {
		grid-column: 1 / -1;
		margin-top: 0;
	}

	.nij-introduce-ticket-count strong {
		font-size: 42px;
	}
}


/* ======================================
   Friend Referral Page
====================================== */

.nij-referral-page {
	background: #f7f7f7;
	padding: 0 0 56px;
}

.nij-referral-shell {
	width: min(100% - 32px, 1180px);
	margin: 0 auto;
}

.nij-referral-label {
	margin: 0 0 9px;
	color: #f28c00 !important;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Hero */

.nij-referral-hero {
	margin-bottom: 18px;
	padding: 42px 40px 38px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-referral-hero h1 {
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .04em;
	box-shadow: none;
}

.nij-referral-hero h1:before,
.nij-referral-hero h1:after {
	display: none;
	content: none;
}

.nij-referral-hero p {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Main image */

.nij-referral-main-image {
	margin: 0 0 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-referral-main-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Benefits */

.nij-referral-benefit-wrap {
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	overflow: hidden;
}

.nij-referral-benefit-head {
	padding: 26px 30px 24px;
	border-bottom: 1px solid #eee;
	text-align: center;
}

.nij-referral-benefit-head h2 {
	margin: 0 0 10px;
	color: #111;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-referral-benefit-lead,
.nij-referral-benefit-text {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-referral-benefit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: 24px 30px 30px;
}

.nij-referral-benefit-card {
	min-width: 0;
	padding: 24px 24px 26px;
	background: #fafafa;
	border: 1px solid #eee;
	border-top: 4px solid #111;
	border-radius: 8px;
	text-align: center;
}

.nij-referral-benefit-card h3 {
	margin: 0 0 12px;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-referral-benefit-large {
	display: block;
	margin: 0 0 16px;
	padding: 16px 18px;
	background: #fff8ed;
	border: 1px solid #f3dfbf;
	border-left: 5px solid #f28c00;
	border-radius: 6px;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	box-shadow: none;
	pointer-events: none;
}

/* Label protection */

.nij-referral-benefit-head .nij-referral-label,
.nij-referral-benefit-card .nij-referral-label,
.nij-referral-section__body .nij-referral-label,
.nij-referral-rules .nij-referral-label,
.nij-referral-cta .nij-referral-label {
	margin: 0 0 9px;
	color: #f28c00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
}

/* Sections */

.nij-referral-section {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 18px;
	margin-bottom: 18px;
}

.nij-referral-section__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .06em;
	box-shadow: 6px 6px 0 #f28c00;
}

.nij-referral-section__body {
	min-width: 0;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
	padding: 26px 30px 30px;
}

.nij-referral-section__body h2 {
	margin: 0 0 12px;
	color: #111;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-referral-lead {
	margin: 0 0 20px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

/* Flow */

.nij-referral-flow-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 22px;
}

.nij-referral-flow-card {
	min-width: 0;
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-referral-flow-card span,
.nij-referral-step__text span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	margin-bottom: 10px;
	padding: 0 11px;
	background: #111;
	border-radius: 999px;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .08em;
}

.nij-referral-flow-card h3 {
	margin: 0 0 8px;
	color: #111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-referral-flow-card p {
	margin: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* Image grid */

.nij-referral-image-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.nij-referral-image-grid figure,
.nij-referral-step figure {
	margin: 0;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	overflow: hidden;
}

.nij-referral-image-grid img,
.nij-referral-step img {
	display: block;
	width: 100%;
	height: auto;
}

.nij-referral-image-grid figcaption {
	padding: 12px 14px;
	background: #fafafa;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

/* Step */

.nij-referral-step-list {
	display: grid;
	gap: 16px;
}

.nij-referral-step {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 46%;
	gap: 18px;
	align-items: start;
	padding: 20px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-referral-step-single {
	grid-template-columns: minmax(0, 1fr) 48%;
}

.nij-referral-step__text h3 {
	margin: 0 0 10px;
	color: #111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.nij-referral-step__text p {
	margin: 0 0 10px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
}

.nij-referral-step__text p:last-child {
	margin-bottom: 0;
}

/* Note / Alert */

.nij-referral-note {
	margin-top: 18px;
	padding: 16px 18px;
	background: #fff8ed;
	border-left: 4px solid #f28c00;
	border-radius: 6px;
}

.nij-referral-note p {
	margin: 0;
	color: #6b4a18;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-referral-alert {
	margin-top: 18px;
	padding: 16px 18px;
	background: #fff0f0;
	border-left: 4px solid #c1272d;
	border-radius: 6px;
}

.nij-referral-alert p {
	margin: 0;
	color: #8a1f24;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* Rules */

.nij-referral-rules {
	margin-bottom: 18px;
	padding: 26px 30px 30px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.04);
}

.nij-referral-rules h2 {
	margin: 0 0 18px;
	color: #111;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-referral-rules-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.nij-referral-rules-grid div {
	padding: 18px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
}

.nij-referral-rules-grid strong {
	display: block;
	margin-bottom: 6px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.nij-referral-rules-grid p {
	margin: 0;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

/* CTA */

.nij-referral-cta {
	padding: 30px 32px 32px;
	background: #111;
	border-radius: 8px;
	color: #fff;
	text-align: center;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.nij-referral-cta h2 {
	margin: 0 0 10px;
	color: #fff;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

.nij-referral-cta p:not(.nij-referral-label) {
	margin: 0;
	color: rgba(255,255,255,.78);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.nij-referral-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 52px;
	margin-top: 22px;
	padding: 0 24px;
	background: #f28c00;
	border: 1px solid #f28c00;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
}

.nij-referral-cta-btn:hover,
.nij-referral-cta-btn:focus {
	background: #fff;
	border-color: #fff;
	color: #111;
	text-decoration: none;
}

/* Responsive */

@media screen and (max-width: 991px) {
	.nij-referral-benefit-grid,
	.nij-referral-image-grid,
	.nij-referral-rules-grid {
		grid-template-columns: 1fr;
	}

	.nij-referral-flow-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nij-referral-step,
	.nij-referral-step-single {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.nij-referral-page {
		padding-bottom: 40px;
	}

	.nij-referral-shell {
		width: min(100% - 24px, 1180px);
	}

	.nij-referral-hero {
		padding: 30px 22px 28px;
	}

	.nij-referral-hero h1 {
		font-size: 25px;
	}

	.nij-referral-benefit-head,
	.nij-referral-benefit-grid,
	.nij-referral-section__body,
	.nij-referral-rules,
	.nij-referral-cta {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nij-referral-benefit-head h2,
	.nij-referral-section__body h2,
	.nij-referral-rules h2,
	.nij-referral-cta h2 {
		font-size: 21px;
	}

	.nij-referral-benefit-large {
		padding: 14px 16px;
		font-size: 19px;
	}

	.nij-referral-section {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nij-referral-section__num {
		width: 54px;
		height: 54px;
		font-size: 17px;
		box-shadow: 4px 4px 0 #f28c00;
	}

	.nij-referral-flow-grid {
		grid-template-columns: 1fr;
	}

	.nij-referral-step {
		padding: 18px;
	}

	.nij-referral-cta-btn {
		width: 100%;
	}
}


/* ==============================
   NIC IN JUICE Top News - Light
============================== */

.nij-top-news {
	margin: 34px 0;
	padding: 28px 26px;
	background: #fff;
	color: #111;
	border: 1px solid #e5e5e5;
}

.nij-top-news-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 2px solid #111;
}

.nij-top-news-kicker {
	margin: 0 0 4px;
	color: #f28c00;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1;
}

.nij-top-news-head h2 {
	margin: 0;
	color: #111;
	font-size: 27px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.35;
}

.nij-top-news-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.nij-top-news-item {
	display: grid;
	grid-template-columns: 140px 1fr;
	align-items: center;
	gap: 18px;
	padding: 15px 0;
	color: #111;
	border-bottom: 1px solid #eee;
	text-decoration: none;
	transition: color .18s ease;
}

.nij-top-news-item:last-child {
	border-bottom: none;
}

.nij-top-news-item:hover {
	color: #f28c00;
	text-decoration: none;
}

.nij-top-news-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.nij-top-news-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	padding: 5px 7px;
	background: #f28c00;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .08em;
}

.nij-top-news-badge--normal {
	background: #111;
}

.nij-top-news-meta time {
	color: #777;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
}

.nij-top-news-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.7;
}

.nij-top-news-item.is-new .nij-top-news-title {
	font-weight: 700;
}

.nij-top-news-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	max-height: 250px;
	overflow-y: auto;
	padding-right: 10px;
}

/* Chrome / Safari / Edge */
.nij-top-news-list::-webkit-scrollbar {
	width: 6px;
}

.nij-top-news-list::-webkit-scrollbar-track {
	background: #f2f2f2;
}

.nij-top-news-list::-webkit-scrollbar-thumb {
	background: #ccc;
}

.nij-top-news-list::-webkit-scrollbar-thumb:hover {
	background: #f28c00;
}

/* Firefox */
.nij-top-news-list {
	scrollbar-width: thin;
	scrollbar-color: #ccc #f2f2f2;
}

@media screen and (max-width: 768px) {
	.nij-top-news {
		margin: 26px 0;
		padding: 24px 16px;
	}

	.nij-top-news-head {
		margin-bottom: 12px;
	}

	.nij-top-news-head h2 {
		font-size: 24px;
	}

	.nij-top-news-item {
		grid-template-columns: 1fr;
		gap: 7px;
		padding: 14px 0;
	}

	.nij-top-news-title {
		font-size: 14px;
		line-height: 1.65;
	}
	.nij-top-news-list {
		max-height: 200px;
		padding-right: 6px;
	}
}


/* =========================================================
   NIC IN JUICE Blog CSS
   Theme: Square Editorial / Clean EC Column
   Scope:
   #textpage .nij-blog-article
   + h1.nij-blog-title

   - 角丸を抑えた直線的デザイン
   - 白・黒・グレー・オレンジ基調
   - 専門店らしい硬さ + 最小限の遊び
   - h1はテンプレート側で nij-blog-title を付けて制御
   - CTAとボタンだけ少し丸み
   - 商品カード画像は切れないよう小さめ表示
========================================================= */


/* =========================================================
   h1 記事タイトル
   テンプレート側:
   <h1 class="common_heading nij-blog-title">...</h1>
========================================================= */

#textpage h1.nij-blog-title,
#textpage h1.common_heading.nij-blog-title {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	margin: 0 0 26px;
	padding: 0 0 22px;
	background: transparent;
	border: none;
	border-bottom: 3px solid #2f2f2f;
	border-radius: 0;
	color: #222;
	font-size: 31px;
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: .02em;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
	box-shadow: none;
}

/* h1下のオレンジ〜赤アクセント */
#textpage h1.nij-blog-title::after,
#textpage h1.common_heading.nij-blog-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 128px;
	height: 3px;
	background: linear-gradient(90deg, #ffaf58 0%, #c1272d 100%);
}

/* h1直下に更新日がある場合 */
#textpage h1.nij-blog-title + .upd_date,
#textpage h1.common_heading.nij-blog-title + .upd_date {
	display: block;
	margin: -10px 0 28px;
	color: #777;
	font-size: 12px;
	text-align: right;
}


/* =========================================================
   記事本文ラッパー
========================================================= */

#textpage .nij-blog-article {
	color: #2f2f2f;
	font-size: 16px;
	line-height: 1.98;
}

#textpage .nij-blog-article p {
	margin: 0 0 1.55em;
	color: #2f2f2f;
	font-size: 16px;
	line-height: 1.98;
}

#textpage .nij-blog-small {
	color: #777;
	font-size: 12px;
	line-height: 1.75;
}


/* =========================================================
   画像
========================================================= */

#textpage .nij-blog-article img {
	max-width: 100%;
	height: auto;
	border-radius: 0;
}

#textpage .nij-blog-article img.img-responsive,
#textpage .nij-blog-article .img-responsive {
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

#textpage .nij-blog-image {
	margin: 30px 0 38px;
	text-align: center;
}

#textpage .nij-blog-image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 0;
	box-shadow: none;
}

#textpage .nij-blog-main-image {
	margin-top: 0;
	margin-bottom: 38px;
}

#textpage .nij-blog-image figcaption {
	margin-top: 8px;
	color: #888;
	font-size: 12px;
	line-height: 1.5;
}


/* =========================================================
   リード文
========================================================= */

#textpage .nij-blog-lead {
	position: relative;
	margin: 0 0 38px;
	padding: 22px 24px 22px 26px;
	background: #fffaf4;
	border: 1px solid #e6ded6;
	border-left: 7px solid #ffaf58;
	color: #333;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.9;
}

#textpage .nij-blog-lead::before {
	content: "COLUMN";
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
	padding: 4px 10px;
	background: #2f2f2f;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
}


/* =========================================================
   目次
========================================================= */

#textpage .nij-blog-toc {
	width: auto;
	margin: 38px 0 48px;
	padding: 0;
	background: #fff;
	border: 1px solid #dcdcdc;
	box-shadow: none;
	overflow: hidden;
}

#textpage .nij-blog-toc-title {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin: 0;
	padding: 14px 18px;
	background: #2f2f2f;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
}

#textpage .nij-blog-toc-title::before {
	content: "INDEX";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 6px;
	padding: 3px 8px;
	background: #ffaf58;
	color: #222;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
}

#textpage .nij-blog-toc ol {
	margin: 0;
	padding: 22px 26px 22px 48px;
	background: #fafafa;
}

#textpage .nij-blog-toc li {
	margin: 8px 0;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.75;
}

#textpage .nij-blog-toc a {
	color: #222;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

#textpage .nij-blog-toc a:hover {
	color: #c1272d;
	border-bottom-color: #c1272d;
	text-decoration: none;
}


/* =========================================================
   h2 / h3 見出し
========================================================= */

#textpage .nij-blog-article h2.common_heading,
#textpage .nij-blog-article h2 {
	box-sizing: border-box;
	position: relative;
	margin: 56px 0 24px;
	padding: 15px 66px 15px 22px;
	background: #fffaf4;
	border: 1px solid #e6ded6;
	border-left: 7px solid #ffaf58;
	color: #222;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .02em;
	box-shadow: none;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* 見出し右側の小さなアクセント */
#textpage .nij-blog-article h2.common_heading::after,
#textpage .nij-blog-article h2::after {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	width: 38px;
	height: 4px;
	transform: translateY(-50%);
	background: linear-gradient(90deg, #ffaf58 0%, #c1272d 100%);
}

#textpage .nij-blog-article h3 {
	margin: 38px 0 18px;
	padding: 0 0 10px;
	background: transparent;
	border: none;
	border-bottom: 2px solid #ffaf58;
	color: #222;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}


/* =========================================================
   強調・補足
========================================================= */

#textpage .nij-blog-article .marker {
	color: #c1272d;
	text-decoration-line: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 3px;
	text-decoration-color: rgba(255,175,88,0.75);
	font-weight: 700;
}

/* POINT */
#textpage .nij-blog-point,
#textpage .nij-blog-article .point-box {
	margin: 34px 0;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid #ddd;
	border-left: 7px solid #ffaf58;
	box-shadow: none;
}

#textpage .nij-blog-point-title {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 12px;
	padding: 5px 12px;
	background: #2f2f2f;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
}

#textpage .nij-blog-point-title::before {
	content: "✓";
	color: #ffaf58;
	font-size: 12px;
}

#textpage .nij-blog-point p {
	margin-bottom: 0;
}

/* NOTE */
#textpage .nij-blog-note {
	margin: 34px 0;
	padding: 22px 24px;
	background: #fff7f7;
	border: 1px solid #ffd2d2;
	border-left: 7px solid #c1272d;
	color: #444;
	font-size: 15px;
	line-height: 1.88;
	box-shadow: none;
}

/* QUOTE */
#textpage .nij-blog-article blockquote,
#textpage .nij-blog-quote {
	position: relative;
	margin: 34px 0;
	padding: 24px 26px;
	background: #f7f7f7;
	border: 1px solid #e0e0e0;
	border-left: 7px solid #999;
	color: #444;
	font-size: 15px;
	line-height: 1.88;
	box-shadow: none;
}

#textpage .nij-blog-article blockquote::before,
#textpage .nij-blog-quote::before {
	content: "“";
	position: absolute;
	left: 14px;
	top: -8px;
	color: rgba(255,175,88,0.32);
	font-size: 62px;
	font-family: serif;
	line-height: 1;
}


/* =========================================================
   CTA
   ここだけ少し丸みを残す
========================================================= */

#textpage .nij-blog-cta {
	position: relative;
	overflow: hidden;
	margin: 46px 0;
	padding: 32px 30px;
	background: linear-gradient(135deg, #fff4e8 0%, #fffaf4 58%, #fff 100%);
	border: 1px solid #ffd9a6;
	border-radius: 6px;
	text-align: center;
	box-shadow: 0 4px 14px rgba(255,175,88,0.12);
	color: #333;
}

#textpage .nij-blog-cta-copy {
	margin-bottom: 10px;
	color: #c1272d;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
}

#textpage .nij-blog-cta p {
	margin: 0 0 16px;
	color: #444;
	font-size: 14px;
	line-height: 1.8;
}

#textpage .nij-blog-cta strong {
	color: #c1272d;
	font-size: 1.12em;
	background: linear-gradient(transparent 60%, rgba(255,175,88,0.28) 0);
}

#textpage .nij-blog-cta .nij-blog-small {
	color: #777;
}

#textpage .nij-blog-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	padding: 14px 28px;
	background: #c1272d;
	border: none;
	border-radius: 999px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 5px 14px rgba(193,39,45,0.28);
	transition: all .2s ease;
}

#textpage .nij-blog-cta-btn::after {
	content: " →";
	margin-left: 4px;
}

#textpage .nij-blog-cta-btn:hover {
	color: #fff;
	text-decoration: none;
	transform: translateY(-3px);
	box-shadow: 0 9px 22px rgba(193,39,45,0.34);
}


/* =========================================================
   記事内 商品カードグリッド
   画像は切れないよう小さめ表示
   インナー画像は角丸なし
========================================================= */

#textpage .nij-blog-product-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 36px 0;
}

#textpage .nij-blog-product-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	overflow: hidden;
	text-align: center;
	text-decoration: none;
	color: #222;
	box-shadow: none;
	transition: all .2s ease;
}

#textpage .nij-blog-product-card:hover {
	color: #c1272d;
	text-decoration: none;
	border-color: #ffaf58;
	transform: translateY(-3px);
	box-shadow: 0 8px 18px rgba(0,0,0,0.10);
}

#textpage .nij-blog-product-card img {
	display: block;
	width: 90%;
	height: auto;
	object-fit: contain;
	object-position: center;
	margin: 14px auto 0;
	padding: 6px;
	background: #fff;
	border-radius: 0;
	box-shadow: none;
}

#textpage .nij-blog-product-card span {
	display: block;
	padding: 14px 12px 17px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	background: #fff;
}


/* =========================================================
   テーブル・リスト
========================================================= */

#textpage .nij-blog-article table {
	width: 100%;
	margin: 34px 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
	border: 1px solid #ddd;
	border-radius: 0;
	overflow: hidden;
}

#textpage .nij-blog-article th,
#textpage .nij-blog-article td {
	padding: 14px 16px;
	border-bottom: 1px solid #eee;
	line-height: 1.7;
}

#textpage .nij-blog-article th {
	background: #2f2f2f;
	color: #fff;
	font-weight: 700;
}

#textpage .nij-blog-article tr:last-child td {
	border-bottom: none;
}

#textpage .nij-blog-article ul,
#textpage .nij-blog-article ol {
	margin: 0 0 1.6em;
	padding-left: 1.7em;
}

#textpage .nij-blog-article li {
	margin: 8px 0;
	line-height: 1.9;
}


/* =========================================================
   スマホ
========================================================= */

@media (max-width: 767px) {

	#textpage h1.nij-blog-title,
	#textpage h1.common_heading.nij-blog-title {
		margin-bottom: 22px;
		padding-bottom: 18px;
		font-size: 24px;
		line-height: 1.5;
	}

	#textpage h1.nij-blog-title::after,
	#textpage h1.common_heading.nij-blog-title::after {
		width: 84px;
	}

	#textpage h1.nij-blog-title + .upd_date,
	#textpage h1.common_heading.nij-blog-title + .upd_date {
		margin: -6px 0 24px;
	}

	#textpage .nij-blog-article {
		font-size: 15px;
		line-height: 1.9;
	}

	#textpage .nij-blog-article p {
		font-size: 15px;
		line-height: 1.9;
	}

	#textpage .nij-blog-lead {
		margin-bottom: 32px;
		padding: 18px 16px 18px 18px;
		font-size: 15px;
		line-height: 1.8;
	}

	#textpage .nij-blog-toc {
		margin: 30px 0 38px;
	}

	#textpage .nij-blog-toc-title {
		padding: 13px 14px;
		font-size: 13px;
	}

	#textpage .nij-blog-toc ol {
		padding: 17px 18px 17px 34px;
	}

	#textpage .nij-blog-toc li {
		font-size: 13px;
		line-height: 1.7;
	}

	#textpage .nij-blog-article h2.common_heading,
	#textpage .nij-blog-article h2 {
		margin: 46px 0 20px;
		padding: 14px 46px 14px 16px;
		border-left-width: 6px;
		font-size: 20px;
		line-height: 1.5;
	}

	#textpage .nij-blog-article h2.common_heading::after,
	#textpage .nij-blog-article h2::after {
		right: 13px;
		width: 25px;
		height: 4px;
	}

	#textpage .nij-blog-article h3 {
		padding-bottom: 9px;
		font-size: 17px;
	}

	#textpage .nij-blog-point,
	#textpage .nij-blog-article .point-box,
	#textpage .nij-blog-note,
	#textpage .nij-blog-article blockquote,
	#textpage .nij-blog-quote {
		padding: 18px 16px;
	}

	#textpage .nij-blog-cta {
		padding: 26px 18px;
		border-radius: 6px;
	}

	#textpage .nij-blog-cta-copy {
		font-size: 18px;
	}

	#textpage .nij-blog-cta-btn {
		width: 100%;
		min-width: 0;
		padding: 14px 16px;
	}

	#textpage .nij-blog-product-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	#textpage .nij-blog-product-card img {
		width: 88%;
		height: auto;
		margin-top: 12px;
		padding: 6px;
		border-radius: 0;
	}

	#textpage .nij-blog-product-card span {
		font-size: 13px;
	}

	#textpage .nij-blog-article table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}

/* =========================================================
   スマホ：ブログ記事全体の左右余白調整
========================================================= */

@media (max-width: 767px) {
	.main_wrapper {
		padding-left: 0px;
		padding-right: 0px;
	}

	#textpage.common_box {
		padding-left: 12px;
		padding-right: 12px;
	}

	#textpage .nij-blog-article {
		width: 100%;
		box-sizing: border-box;
	}
}


/* 商品グリッドをflex化して高さを揃える */
.item .row {
	display: flex;
	flex-wrap: wrap;
}

/* =========================================================
   スマホ調整
========================================================= */

@media (max-width: 767px) {

}


/* =========================================================
   表示用パンくずリスト：カード型デザイン
========================================================= */

.nij-breadcrumb {
	max-width: 1200px;
	margin: 14px auto 18px;
	padding: 0 15px;
	font-size: 12px;
	color: #777;
}

.nij-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 10px 14px;
	list-style: none;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 999px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.nij-breadcrumb li {
	display: flex;
	align-items: center;
	line-height: 1.5;
	white-space: nowrap;
}

.nij-breadcrumb li:not(:last-child)::after {
	content: "›";
	margin: 0 9px;
	color: #bbb;
	font-size: 16px;
	line-height: 1;
}

.nij-breadcrumb a,
.nij-breadcrumb span {
	display: inline-flex;
	align-items: center;
	max-width: 360px;
	color: #777;
	text-decoration: none;
	vertical-align: middle;
}

.nij-breadcrumb a:hover {
	color: #c1272d;
	text-decoration: none;
}

.nij-breadcrumb li:first-child a::before {
	content: "⌂";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	border-radius: 50%;
	background: #fff4ee;
	color: #c1272d;
	font-size: 11px;
	line-height: 1;
}

.nij-breadcrumb li:last-child span {
	color: #333;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* =========================================================
   スマホ
========================================================= */

@media (max-width: 767px) {

	.nij-breadcrumb {
		margin: 10px auto 12px;
		padding: 0 10px;
		font-size: 11px;
	}

	.nij-breadcrumb ol {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding: 9px 11px;
		border-radius: 12px;
		scrollbar-width: none;
	}

	.nij-breadcrumb ol::-webkit-scrollbar {
		display: none;
	}

	.nij-breadcrumb li {
		flex: 0 0 auto;
	}

	.nij-breadcrumb a,
	.nij-breadcrumb span {
		max-width: 240px;
	}

	.nij-breadcrumb li:last-child span {
		max-width: 260px;
	}

	.nij-breadcrumb li:not(:last-child)::after {
		margin: 0 7px;
		font-size: 15px;
	}
}

/* =========================================================
   パンくず：長い文字を切らずに折り返す
========================================================= */

.nij-breadcrumb ol {
	border-radius: 14px;
}

.nij-breadcrumb li {
	white-space: normal;
}

.nij-breadcrumb a,
.nij-breadcrumb span {
	max-width: none;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.nij-breadcrumb li:last-child {
	flex: 1 1 auto;
	min-width: 0;
}

.nij-breadcrumb li:last-child span {
	max-width: none;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	word-break: break-word;
	overflow-wrap: anywhere;
}

/* スマホでも切らずに表示 */
@media (max-width: 767px) {

	.nij-breadcrumb ol {
		flex-wrap: wrap;
		overflow-x: visible;
		border-radius: 12px;
	}

	.nij-breadcrumb li {
		white-space: normal;
	}

	.nij-breadcrumb a,
	.nij-breadcrumb span,
	.nij-breadcrumb li:last-child span {
		max-width: none;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}
}


/* =========================================================
   一覧へ戻るボタン
========================================================= */

.nij-back-list-wrap {
	max-width: 1170px;
	margin: 28px auto 18px;
	padding: 0 15px;
	text-align: center;
}

.nij-back-list-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 220px;
	padding: 11px 22px;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 999px;
	color: #333;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
	transition: all .2s ease;
}

.nij-back-list-btn:hover {
	color: #fff;
	background: #c1272d;
	border-color: #c1272d;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.14);
}

.nij-back-list-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff4ee;
	color: #c1272d;
	font-size: 20px;
	line-height: 1;
	transition: all .2s ease;
}

.nij-back-list-btn:hover .nij-back-list-arrow {
	background: #fff;
	color: #c1272d;
}

@media (max-width: 767px) {
	.nij-back-list-wrap {
		margin: 22px auto 14px;
		padding: 0 10px;
	}

	.nij-back-list-btn {
		width: 100%;
		min-width: 0;
		padding: 12px 16px;
		font-size: 13px;
	}
}

/* =========================================================
   スマホ：商品カード横幅を揃える
========================================================= */

@media (max-width: 767px) {

	/* 通常の商品一覧 */
	.item .row > [class*="col-"] {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		float: none !important;
		box-sizing: border-box;
	}

}


/* =========================================================
   Login Label Override Fix
   ---------------------------------------------------------
   Prevent legacy/global form label styles from overriding
   the intended login label color.
========================================================= */

.nij-login-page .nij-login-label,
.nij-login-card .nij-login-label,
.nij-login-form .nij-login-label,
label.nij-login-label {
	color: #111 !important;
}


/* =========================================================
   Global Pager
   ---------------------------------------------------------
   Shared pager component for result, blog list, order history,
   and future paginated pages.
   Requires the common nij_pager HTML.
========================================================= */

.nij-pager-block {
	display: block;
	width: 100%;
	margin: 30px 0 10px;
	padding: 0;
}

.nij-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nij-pager__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	margin: 0;
	padding: 0 13px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	color: #292626;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	box-shadow: none;
	box-sizing: border-box;
}

.nij-pager__item:hover,
.nij-pager__item:focus {
	background: #fff;
	border-color: #f28c00;
	color: #f28c00;
	text-decoration: none;
	outline: none;
}

.nij-pager__item.is-current {
	background: #f28c00;
	border-color: #f28c00;
	color: #fff;
	pointer-events: none;
}

.nij-pager__item.is-disabled {
	opacity: .35;
	pointer-events: none;
}

.nij-pager__item--ellipsis {
	background: transparent;
	border-color: transparent;
	color: #777;
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	.nij-pager-block {
		margin-top: 22px;
		margin-bottom: 8px;
	}

	.nij-pager {
		gap: 6px;
	}

	.nij-pager__item {
		min-width: 36px;
		min-height: 36px;
		padding: 0 10px;
		font-size: 12px;
	}
}


/* =========================================================
   Product List / Product Card
   ---------------------------------------------------------
   Shared product-card component for result, wishlist,
   waiting list, and future product-list areas.

   Required parent:
   .nij-product-list

   Optional modifiers:
   .nij-product-list--result
   .nij-product-list--wish
   .nij-product-list--waiting
========================================================= */

.nij-product-list > .row {
	display: flex;
	flex-wrap: wrap;
}

.nij-product-list > .row > .nij-product-card-col {
	float: none;
}

.nij-product-list .nij-product-card-col {
	position: relative;
	display: flex;
	flex-direction: column;
}

.nij-product-list .nij-product-card {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: 100%;
	min-height: 300px;
	margin: 0 auto;
	background-color: #fff;
	color: #292626;
	overflow: hidden;
	text-align: center;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nij-product-list .nij-product-card:hover,
.nij-product-list .nij-product-card:focus {
	color: #292626;
	text-decoration: none;
}

.nij-product-list .nij-product-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.nij-product-list .nij-product-card__media img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	object-fit: contain;
}

.nij-product-list .nij-product-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
}

.nij-product-list .nij-product-card__name {
	display: block;
	width: 100%;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.nij-product-list .nij-product-card__price {
	display: block;
	width: 100%;
	margin-top: auto;
	color: #c1272d;
}

.nij-product-list .nij-product-card__price .strike {
	color: #6e6667;
	text-decoration: line-through;
}

.nij-product-list .nij-product-card__labels {
	position: absolute;
	display: block;
	right: 0;
	bottom: 5px;
	width: 100%;
	min-height: 24px;
	margin-top: 8px;
}

/* PC card layout */
@media (min-width: 768px) {
	.nij-product-list .nij-product-card {
		text-align: center;
	}

	.nij-product-list .nij-product-card__labels {
		top: 0;
		bottom: auto;
	}
}

@media (min-width: 992px) {
	.nij-product-list .nij-product-card {
		padding-bottom: 20px;
	}
}

/* Mobile keeps the original list-like behavior */
@media screen and (max-width: 767px) {
	.nij-product-list > .row {
		display: block;
	}

	.nij-product-list .nij-product-card-col {
		display: block;
	}

	.nij-product-list .nij-product-card {
		min-height: 0;
	}

	.nij-product-list .nij-product-card__media {
		display: block;
	}

	.nij-product-list .nij-product-card__price {
		margin-top: 6px;
	}

	.nij-product-list .wish-add,
	.nij-product-list .wish-cancel,
	.nij-product-list .waiting-cancel {
		top: 7px;
		right: 7px;
	}

	.nij-product-list .wish-cancel .remove,
	.nij-product-list .waiting-cancel .remove,
	.nij-product-list .wish-add {
		width: 28px;
		height: 28px;
	}
}

/* =========================================================
   Product List Mobile Labels Top
   ---------------------------------------------------------
   On mobile, place product status labels at the upper-left
   of the product card instead of below the price.
========================================================= */

@media screen and (max-width: 767px) {
	.nij-product-list .nij-product-card {
		position: relative;
	}

	.nij-product-list .nij-product-card__labels {
		position: absolute;
		top: 8px;
		left: 8px;
		right: auto;
		bottom: auto;
		z-index: 4;
		display: flex;
		flex-wrap: wrap;
		gap: 5px;
		width: auto;
		max-width: calc(100% - 56px);
		min-height: 0;
		margin: 0;
		padding: 0;
	}

	.nij-product-list .nij-product-card__labels .label {
		display: inline-flex;
		align-items: center;
		margin: 0;
		line-height: 1.4;
		white-space: normal;
	}
}


/* =========================================================
   Product List Top Slider Width Normalize
   ---------------------------------------------------------
   Normalize product card width inside Slick sliders.
   Slick controls the slide width; the card should fill
   each slide evenly.
========================================================= */

.nij-product-list--top .slick-track {
	display: flex;
	align-items: stretch;
}

.nij-product-list--top .slick-slide {
	height: auto;
}

.nij-product-list--top .slick-slide > div {
	height: 100%;
}

.nij-product-list--top .nij-pr{
	width: 100%;
	max-width: 100%;
	height: 100%;
	padding-left: 8px;
	padding-right: 8px;
	box-sizing: border-box;
}

.nij-product-list--top .nij-product-card {
	width: 100%;
	max-width: 100%;
}

.nij-product-list--top .nij-product-card__media {
	min-height: 180px;
}

.nij-product-list--top .nij-product-card__media img {
	max-height: 180px;
}

@media screen and (max-width: 767px) {
	.nij-product-list--top .nij-product-card-col {
		padding-left: 6px;
		padding-right: 6px;
	}

	.nij-product-list--top .nij-product-card__media {
		min-height: 150px;
	}

	.nij-product-list--top .nij-product-card__media img {
		max-height: 150px;
	}
}


/* =========================================================
   Product List Top Slider Shadow Space
   ---------------------------------------------------------
   Give Slick product sliders enough vertical room so the
   card shadow is not clipped by the slider viewport.
========================================================= */

.nij-product-list--top .slick-list {
	padding-top: 14px;
	padding-bottom: 18px;
	margin-top: -8px;
	margin-bottom: -10px;
}

.nij-product-list--top .slick-track {
	display: flex;
	align-items: stretch;
}

.nij-product-list--top .slick-slide {
	height: auto;
}

.nij-product-list--top .slick-slide > div {
	height: 100%;
}

.nij-product-list--top .nij-product-card-col {
	height: 100%;
}

.nij-product-list--top .nij-product-card {
	height: 100%;
}

@media screen and (max-width: 767px) {
	.nij-product-list--top .slick-list {
		padding-top: 12px;
		padding-bottom: 16px;
		margin-top: -6px;
		margin-bottom: -8px;
	}
}

/* =========================================================
   Product List Card Surface
   ---------------------------------------------------------
   Shared border and shadow for all product cards using the
   .nij-product-list component: result, wishlist, waiting,
   and top/ajax product sliders.
========================================================= */

.nij-product-list .nij-product-card {
	background: #fff;
	border: 1px solid #e1e1e1;
	box-shadow: 0 8px 20px rgba(0,0,0,.06);
}

.nij-product-list .nij-product-card:hover,
.nij-product-list .nij-product-card:focus {
	border-color: #d8d8d8;
	box-shadow: 0 10px 24px rgba(0,0,0,.09);
}


/* =========================================================
   Product List Card Shape / Width Restore
   ---------------------------------------------------------
   Restore consistent card width and rounded corners after
   removing legacy product-card CSS.
========================================================= */

.nij-product-list .nij-product-card-col {
	box-sizing: border-box;
}

.nij-product-list .nij-product-card {
	width: 100%;
	max-width: 100%;
	border-radius: 8px;
	box-sizing: border-box;
}

.nij-product-list .nij-product-card__media img {
	border-radius: 0;
}

/* Bootstrap-grid product lists */
.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col {
	display: flex;
}

/* Slick product lists */
.nij-product-list--top .slick-slide {
	box-sizing: border-box;
}

.nij-product-list--top .slick-slide > div {
	width: 100%;
}

.nij-product-list--top .nij-product-card-col {
	width: 100%;
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	.nij-product-list .nij-product-card {
		border-radius: 8px;
	}
}


/* =========================================================
   Product List Card Spacing / Button Radius Restore
   ---------------------------------------------------------
   Restore internal card spacing and the detail button radius
   after removing legacy product-card CSS.
========================================================= */

.nij-product-list .nij-product-card {
	padding: 12px 12px 20px;
}

.nij-product-list .nij-product-card__media {
	padding: 4px 0 10px;
}

.nij-product-list .nij-product-card__name {
	margin-bottom: 8px;
}

.nij-product-list .nij-product-card__price {
	margin-top: 6px;
}

/* Top/Ajax cards no longer use the external detail button,
   so keep their internal spacing compact and consistent. */
.nij-product-list--top .nij-product-card {
	padding: 12px;
}

@media screen and (max-width: 767px) {
	.nij-product-list .nij-product-card {
		padding: 10px 10px 16px;
	}

	.nij-product-list .nij-product-card__media {
		padding: 4px 0 8px;
	}

	.nij-product-list .nij-product-card__name {
		margin-bottom: 6px;
	}

	.nij-product-list .nij-product-card__price {
		margin-top: 5px;
	}

	.nij-product-list--top .nij-product-card {
		padding: 10px;
	}
}

/* =========================================================
   Product List Card Outer Spacing Restore
   ---------------------------------------------------------
   Restore comfortable spacing around product cards after
   removing legacy product-card CSS.
========================================================= */

/* Bootstrap-grid product lists: result / wishlist / waiting */
.nij-product-list:not(.nij-product-list--top) > .row {
	margin-left: -10px;
	margin-right: -10px;
}

.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col {
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 24px;
}

/* Slick product lists: top/ajax */
.nij-product-list--top .nij-product-card-col {
	padding-left: 10px;
	padding-right: 10px;
}

.nij-product-list--top .slick-list {
	padding-top: 18px;
	padding-bottom: 24px;
	margin-top: -10px;
	margin-bottom: -12px;
}

@media screen and (max-width: 767px) {
	.nij-product-list:not(.nij-product-list--top) > .row {
		margin-left: -6px;
		margin-right: -6px;
	}

	.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col {
		padding-left: 6px;
		padding-right: 6px;
		margin-bottom: 16px;
	}

	.nij-product-list--top .nij-product-card-col {
		padding-left: 6px;
		padding-right: 6px;
	}

	.nij-product-list--top .slick-list {
		padding-top: 14px;
		padding-bottom: 20px;
		margin-top: -8px;
		margin-bottom: -10px;
	}
}


/* =========================================================
   Product List Mobile List Card Cleanup
   ---------------------------------------------------------
   On mobile product lists, remove the heavy horizontal line
   feeling and make each vertically stacked card cleaner.
   Top/ajax Slick cards are excluded.
========================================================= */

@media screen and (max-width: 767px) {
	.nij-product-list:not(.nij-product-list--top) .nij-product-card {
		border: 1px solid #e7e7e7;
		border-radius: 8px;
		box-shadow: 0 6px 18px rgba(0,0,0,.05);
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card:hover,
	.nij-product-list:not(.nij-product-list--top) .nij-product-card:focus {
		border-color: #e1e1e1;
		box-shadow: 0 8px 20px rgba(0,0,0,.07);
	}

	.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col {
		margin-bottom: 18px;
	}
}


/* =========================================================
   Product List Filter Gap
   ---------------------------------------------------------
   Add comfortable spacing between filter/select areas and
   the first product card across product-list pages.
========================================================= */

/* result/category search */
.search-sort {
	margin-bottom: 18px;
}

/* wishlist / waiting filters */
.nij-wish-filter,
.nij-waiting-filter {
	margin-bottom: 18px;
}

/* product list itself */
.nij-product-list:not(.nij-product-list--top) {
	margin-top: 18px;
}

/* wrappers used by wishlist / waiting */
.nij-wish-item-wrap .nij-product-list,
.nij-waiting-item-wrap .nij-product-list {
	margin-top: 20px;
}

@media screen and (max-width: 767px) {
	.search-sort,
	.nij-wish-filter,
	.nij-waiting-filter {
		margin-bottom: 16px;
	}

	.nij-product-list:not(.nij-product-list--top) {
		margin-top: 16px;
	}

	.nij-wish-item-wrap .nij-product-list,
	.nij-waiting-item-wrap .nij-product-list {
		margin-top: 18px;
	}
}

@media screen and (max-width: 767px) {
	.nij-product-list .nij-product-card__name {
		font-weight: 700;
		line-height: 1.4;
	}
}


/* =========================================================
   Product List Price Component
   ---------------------------------------------------------
   Authoritative price styling for the new product-card
   component. This lets product cards stop depending on legacy
   .price / .strike rules.

   Expected HTML:
   <span class="price nij-product-card__price">
     ¥1,980
     <span class="strike small">¥2,480</span>
   </span>
========================================================= */

.nij-product-list .nij-product-card .price.nij-product-card__price,
.nij-product-list .nij-product-card .nij-product-card__price {
	display: block;
	width: 100%;
	margin-top: 6px;
	color: #292626;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .01em;
	white-space: normal;
}

/* Discounted item: current/sale price becomes red only when regular price exists. */
.nij-product-list .nij-product-card .price.nij-product-card__price:has(.strike),
.nij-product-list .nij-product-card .nij-product-card__price:has(.strike) {
	color: #c1272d;
}

/* Regular price before discount */
.nij-product-list .nij-product-card .price.nij-product-card__price .strike,
.nij-product-list .nij-product-card .nij-product-card__price .strike,
.nij-product-list .nij-product-card .price.nij-product-card__price .small.strike,
.nij-product-list .nij-product-card .nij-product-card__price .small.strike {
	display: inline-block;
	margin-left: 6px;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: line-through;
	vertical-align: baseline;
	white-space: nowrap;
}

.nij-product-list .nij-product-card .price.nij-product-card__price .strike:empty,
.nij-product-list .nij-product-card .nij-product-card__price .strike:empty {
	display: none;
}

@media screen and (max-width: 767px) {
	.nij-product-list .nij-product-card .price.nij-product-card__price,
	.nij-product-list .nij-product-card .nij-product-card__price {
		margin-top: 5px;
		font-size: 14px;
		line-height: 1.4;
	}

	.nij-product-list .nij-product-card .price.nij-product-card__price .strike,
	.nij-product-list .nij-product-card .nij-product-card__price .strike,
	.nij-product-list .nij-product-card .price.nij-product-card__price .small.strike,
	.nij-product-list .nij-product-card .nij-product-card__price .small.strike {
		margin-left: 5px;
		font-size: 10px;
	}
}


/* =========================================================
   Product List Controls Component
   ---------------------------------------------------------
   Authoritative favorite / remove control styling for the
   new product-card component.

   Expected HTML:
   - Favorite:
     <div class="wish-add nij-product-card__control nij-product-card__control--favorite">
       <span class="wish-icon"></span>
     </div>

   - Wishlist remove:
     <div class="wish-cancel nij-product-card__control nij-product-card__control--remove">
       <a class="remove nij-product-card__control-btn" ...>
         <span class="cancel nij-product-card__control-x"></span>
       </a>
     </div>

   - Waiting remove:
     <div class="waiting-cancel nij-product-card__control nij-product-card__control--remove">
       <a class="remove nij-product-card__control-btn" ...>
         <span class="cancel nij-product-card__control-x"></span>
       </a>
     </div>
========================================================= */

.nij-product-list .nij-product-card {
	position: relative;
}

/* New control wrapper */
.nij-product-list .nij-product-card-col .nij-product-card__control {
	position: absolute;
	z-index: 10;
	top: 12px;
	right: 22px;
	left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	transform: none;
}

/* Top/Ajax Slick cards do not have Bootstrap-style column gutters */
.nij-product-list--top .nij-product-card-col .nij-product-card__control {
	top: 12px;
	right: 12px;
}

/* Favorite icon area */
.nij-product-list .nij-product-card__control--favorite {
	width: 30px;
	height: 30px;
}

/* Remove button surface */
.nij-product-list .nij-product-card__control--remove .nij-product-card__control-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(0,0,0,.10);
	text-decoration: none;
}

/* X mark */
.nij-product-list .nij-product-card__control-x {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 1px;
	height: 24px;
	margin: 0;
	padding: 0;
	background: #292626;
	transform: translate(-50%, -50%) rotate(45deg);
}

.nij-product-list .nij-product-card__control-x:before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 24px;
	height: 1px;
	margin: 0;
	padding: 0;
	background: #292626;
	transform: translate(-50%, -50%);
}

/* Temporary bridge:
   Keep existing markup working until HTML is fully updated.
   These selectors only map old wrapper names into the new component behavior.
   After HTML replacement, this whole bridge block can be deleted. */
.nij-product-list .nij-product-card-col .wish-add:not(.nij-product-card__control),
.nij-product-list .nij-product-card-col .wish-cancel:not(.nij-product-card__control),
.nij-product-list .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) {
	position: absolute;
	z-index: 10;
	top: 12px;
	right: 22px;
	left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	transform: none;
}

.nij-product-list--top .nij-product-card-col .wish-add:not(.nij-product-card__control),
.nij-product-list--top .nij-product-card-col .wish-cancel:not(.nij-product-card__control),
.nij-product-list--top .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) {
	top: 12px;
	right: 12px;
}

.nij-product-list .nij-product-card-col .wish-add:not(.nij-product-card__control) {
	width: 30px;
	height: 30px;
}

.nij-product-list .nij-product-card-col .wish-cancel:not(.nij-product-card__control) .remove,
.nij-product-list .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) .remove {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(0,0,0,.10);
	text-decoration: none;
}

.nij-product-list .nij-product-card-col .wish-cancel:not(.nij-product-card__control) .cancel,
.nij-product-list .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) .cancel {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 1px;
	height: 24px;
	margin: 0;
	padding: 0;
	background: #292626;
	transform: translate(-50%, -50%) rotate(45deg);
}

.nij-product-list .nij-product-card-col .wish-cancel:not(.nij-product-card__control) .cancel:before,
.nij-product-list .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) .cancel:before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 24px;
	height: 1px;
	margin: 0;
	padding: 0;
	background: #292626;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
	.nij-product-list .nij-product-card-col .nij-product-card__control {
		top: 10px;
		right: 16px;
	}

	.nij-product-list--top .nij-product-card-col .nij-product-card__control {
		top: 10px;
		right: 10px;
	}

	.nij-product-list .nij-product-card__control--favorite {
		width: 28px;
		height: 28px;
	}

	.nij-product-list .nij-product-card__control--remove .nij-product-card__control-btn {
		width: 34px;
		height: 34px;
	}

	.nij-product-list .nij-product-card__control-x {
		height: 20px;
	}

	.nij-product-list .nij-product-card__control-x:before {
		width: 20px;
	}

	.nij-product-list .nij-product-card-col .wish-add:not(.nij-product-card__control),
	.nij-product-list .nij-product-card-col .wish-cancel:not(.nij-product-card__control),
	.nij-product-list .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) {
		top: 10px;
		right: 16px;
	}

	.nij-product-list--top .nij-product-card-col .wish-add:not(.nij-product-card__control),
	.nij-product-list--top .nij-product-card-col .wish-cancel:not(.nij-product-card__control),
	.nij-product-list--top .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) {
		top: 10px;
		right: 10px;
	}

	.nij-product-list .nij-product-card-col .wish-add:not(.nij-product-card__control) {
		width: 28px;
		height: 28px;
	}

	.nij-product-list .nij-product-card-col .wish-cancel:not(.nij-product-card__control) .remove,
	.nij-product-list .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) .remove {
		width: 34px;
		height: 34px;
	}

	.nij-product-list .nij-product-card-col .wish-cancel:not(.nij-product-card__control) .cancel,
	.nij-product-list .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) .cancel {
		height: 20px;
	}

	.nij-product-list .nij-product-card-col .wish-cancel:not(.nij-product-card__control) .cancel:before,
	.nij-product-list .nij-product-card-col .waiting-cancel:not(.nij-product-card__control) .cancel:before {
		width: 20px;
	}
}

/* =========================================================
   Product List Normal Card Vertical Mobile
   ---------------------------------------------------------
   Normal product-list cards only.
   Mobile layout is changed to image top / product text bottom
   so image-name spacing is stable and predictable.

   Top/Ajax Slick cards are intentionally not touched.
========================================================= */

/* PC/tablet: image above product text */
@media (min-width: 768px) {
	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__media {
		padding-bottom: 18px;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__body {
		padding-top: 0;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__body .nij-product-card__name {
		display: block;
		margin-top: 0;
		margin-bottom: 8px;
	}
}

/* Mobile: image top / product text bottom */
@media screen and (max-width: 767px) {
	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner {
		display: block;
		width: 100%;
		margin: 0;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__media,
	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__body {
		float: none;
		width: 100%;
		max-width: 100%;
		display: block;
		margin: 0;
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__media {
		text-align: center;
		padding-bottom: 14px;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__media img {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__body {
		text-align: center;
		padding-top: 0;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__body .nij-product-card__text,
	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__body .text-part {
		display: block;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card-col > .nij-product-card > .nij-product-card__inner > .nij-product-card__body .nij-product-card__name {
		display: block;
		margin-top: 0;
		margin-bottom: 7px;
	}
}


/* =========================================================
   Product List Detail Button Tablet Hide
   ---------------------------------------------------------
   Hide external detail buttons on mobile / tablet product
   lists. The whole card already links to the product detail,
   so this avoids oversized buttons in landscape mobile and
   tablet widths.

   Top/Ajax Slick cards are not targeted.
========================================================= */

@media screen and (max-width: 991px) {
}

/* =========================================================
   Header Menu Font Normalize Final
   ---------------------------------------------------------
   Normalize all modern header menu text to Noto Sans JP.
   This covers center menu, login, member menu, cart and
   topbar utility links. Icon fonts are excluded.
========================================================= */

.nij-modern-header,
.nij-modern-header *:not(.glyphicon):not([class*="icon"]):not(i),
.nij-modern-topbar,
.nij-modern-topbar *:not(.glyphicon):not([class*="icon"]):not(i),
.nij-header,
.nij-header *:not(.glyphicon):not([class*="icon"]):not(i),
.nij-global-header,
.nij-global-header *:not(.glyphicon):not([class*="icon"]):not(i),
.nij-modern-nav,
.nij-modern-nav *:not(.glyphicon):not([class*="icon"]):not(i),
.nij-modern-menu,
.nij-modern-menu *:not(.glyphicon):not([class*="icon"]):not(i),
.nij-header-menu,
.nij-header-menu *:not(.glyphicon):not([class*="icon"]):not(i),
.nij-header-actions,
.nij-header-actions *:not(.glyphicon):not([class*="icon"]):not(i),
.nij-header-utility,
.nij-header-utility *:not(.glyphicon):not([class*="icon"]):not(i) {
	font-family: var(--nij-ui-font);
}

/* Main header links: use the same weight across center menu and utility menu */
.nij-modern-header a,
.nij-modern-header button,
.nij-modern-topbar a,
.nij-modern-topbar button,
.nij-header a,
.nij-header button,
.nij-global-header a,
.nij-global-header button,
.nij-modern-nav a,
.nij-modern-menu a,
.nij-header-menu a,
.nij-header-actions a,
.nij-header-utility a {
	font-family: var(--nij-ui-font);
	font-weight: 600;
	letter-spacing: .04em;
}

/* Specific utility labels that had become thinner */
.nij-modern-header .nij-login-label,
.nij-modern-header .nij-header-login,
.nij-modern-header .nij-header-member,
.nij-modern-header .nij-header-cart,
.nij-modern-header .nij-modern-login,
.nij-modern-header .nij-modern-member,
.nij-modern-header .nij-modern-cart,
.nij-modern-header .login,
.nij-modern-header .member,
.nij-modern-header .cart,
.nij-modern-topbar .nij-login-label,
.nij-modern-topbar .nij-header-login,
.nij-modern-topbar .nij-header-member,
.nij-modern-topbar .nij-header-cart,
.nij-modern-topbar .nij-modern-login,
.nij-modern-topbar .nij-modern-member,
.nij-modern-topbar .nij-modern-cart,
.nij-modern-topbar .login,
.nij-modern-topbar .member,
.nij-modern-topbar .cart,
.nij-header-actions a,
.nij-header-utility a {
	font-family: var(--nij-ui-font);
	font-weight: 700;
	letter-spacing: .04em;
}

/* Do not break Bootstrap/Glyphicon icon font */
.nij-modern-header .glyphicon,
.nij-modern-topbar .glyphicon,
.nij-header .glyphicon,
.nij-global-header .glyphicon,
.nij-modern-nav .glyphicon,
.nij-modern-menu .glyphicon,
.nij-header-menu .glyphicon,
.nij-header-actions .glyphicon,
.nij-header-utility .glyphicon {
	font-family: "Glyphicons Halflings";
	font-weight: normal;
	letter-spacing: 0;
}


/* =========================================================
   Product List Bootstrap-Free Layout
   ---------------------------------------------------------
   Normal product-list cards only.
   Product card columns are now controlled by nij-ui.css,
   not by Bootstrap col-xs / col-sm classes.

   Required HTML:
   <div class="item col-margin nij-product-list nij-product-list--result">
     <div class="row">
       <div class="nij-product-card-col">

   Top/Ajax Slick cards are intentionally not touched.
========================================================= */

.nij-product-list:not(.nij-product-list--top) > .row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin-left: -10px;
	margin-right: -10px;
}

.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col {
	float: none;
	display: block;
	width: 25%;
	max-width: 25%;
	flex: 0 0 25%;
	clear: none;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 24px;
	box-sizing: border-box;
}

.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col > .nij-product-card {
	height: 100%;
}

.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col .nij-product-card__media img {
	width: auto;
	max-height: 190px;
	margin-left: auto;
	margin-right: auto;
	object-fit: contain;
}

@media screen and (max-width: 991px) {
	.nij-product-list:not(.nij-product-list--top) > .row {
		margin-left: -8px;
		margin-right: -8px;
	}

	.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col {
		width: 33.333333%;
		max-width: 33.333333%;
		flex-basis: 33.333333%;
		padding-left: 8px;
		padding-right: 8px;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 767px) {
	.nij-product-list:not(.nij-product-list--top) > .row {
		margin-left: -6px;
		margin-right: -6px;
	}

	.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col {
		width: 50%;
		max-width: 50%;
		flex-basis: 50%;
		padding-left: 6px;
		padding-right: 6px;
		margin-bottom: 18px;
	}

	.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col .nij-product-card__media img {
		max-height: 150px;
	}

	.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col .nij-product-card__name {
		font-size: 12px;
		line-height: 1.45;
	}

	.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col .nij-product-card__price {
		font-size: 13px;
	}

	.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col .nij-product-card__price .strike {
		font-size: 10px;
	}
}


/* =========================================================
   Result Intro Block
   ---------------------------------------------------------
   Header image and description block for brand/category
   result pages.
========================================================= */

.nij-result-intro {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
}

.nij-result-intro__figure {
	margin: 0 0 18px;
	padding: 0;
}

.nij-result-intro__image {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.nij-result-intro__text {
	margin: 0 0 28px;
	color: #292626;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.95;
	letter-spacing: .02em;
}

.nij-result-intro__gallery {
	margin: 22px 0 0;
}

.nij-result-intro__gallery .nij-result-intro__figure {
	margin-bottom: 18px;
}

@media screen and (max-width: 767px) {
	.nij-result-intro {
		width: auto;
		margin: 0 12px 24px;
	}

	.nij-result-intro__figure {
		margin-bottom: 14px;
	}

	.nij-result-intro__text {
		margin-bottom: 22px;
		font-size: 15px;
		line-height: 1.85;
		letter-spacing: .01em;
	}

	.nij-result-intro__gallery {
		margin-top: 18px;
	}
}


/* =========================================================
   Result Page Layout
   ---------------------------------------------------------
   Scoped layout control for result/search pages.
   This keeps result intro, header, filter, product grid and
   pager aligned without touching old global .content/.outer.
========================================================= */

.nij-result-page {
	width: 100%;
}

.nij-result-content,
.nij-result-block,
.nij-result-shell {
	box-sizing: border-box;
}

.nij-result-shell {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.nij-result-header {
	margin-bottom: 18px;
}

.nij-result-filter {
	margin: 0 0 24px;
}

.nij-result-page .nij-product-list {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.nij-result-page .nij-result-shell {
		padding-left: 12px;
		padding-right: 12px;
	}

	.nij-result-page .nij-result-intro {
		margin-left: 0;
		margin-right: 0;
	}

	.nij-result-page .nij-result-header {
		margin-left: 0;
		margin-right: 0;
	}

	.nij-result-page .nij-result-filter {
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 20px;
	}

	.nij-result-page .nij-product-list {
		margin-left: 0;
		margin-right: 0;
	}
}


/* =========================================================
   Product Card Bootstrap-Free Markup Safe Bridge
   ---------------------------------------------------------
   Styles for the cleaned result_item_list.php markup.
   The detail button has been removed from HTML.
   Product comment is placed before price, and price is
   pushed to the bottom with flex.

   Top/Ajax Slick cards are intentionally not targeted.
========================================================= */

.nij-product-list:not(.nij-product-list--top) > .row > .nij-product-card-col {
	position: relative;
	display: flex;
	flex-direction: column;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	height: 100%;
	padding: 16px 14px 14px;
	color: #292626;
	text-decoration: none;
	background: #fff;
	border: 1px solid #dedede;
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .07);
	box-sizing: border-box;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card:hover,
.nij-product-list:not(.nij-product-list--top) .nij-product-card:focus {
	color: #292626;
	text-decoration: none;
	border-color: #cfcfcf;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .11);
	transform: translateY(-2px);
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__inner {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 170px;
	margin: 0 0 14px;
	text-align: center;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 190px;
	margin: 0 auto;
	object-fit: contain;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__text {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__name {
	display: block;
	min-height: 3.1em;
	margin: 0 0 9px;
	color: #222;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: .01em;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__comment {
	display: none;
	margin: 0 0 8px;
	color: #666;
	font-size: 11px;
	line-height: 1.5;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__price {
	display: block;
	margin-top: auto;
	color: #c1272d;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .02em;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__price-regular {
	display: inline-block;
	margin-left: 6px;
	color: #888;
	font-size: 11px;
	font-weight: 500;
	text-decoration: line-through;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__labels {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	max-width: calc(100% - 54px);
	pointer-events: none;
}

.nij-product-list:not(.nij-product-list--top) .nij-product-card__labels .label {
	display: inline-flex;
	align-items: center;
	min-height: 18px;
	padding: 3px 6px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .03em;
}

@media screen and (max-width: 767px) {
	.nij-product-list:not(.nij-product-list--top) .nij-product-card {
		padding: 15px 11px 13px;
		border-radius: 9px;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card__media {
		min-height: 132px;
		margin-bottom: 12px;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card__image {
		max-height: 150px;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card__name {
		min-height: 2.9em;
		margin-bottom: 8px;
		font-size: 12px;
		line-height: 1.45;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card__comment {
		display: block;
		margin-bottom: 8px;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card__price {
		font-size: 13px;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card__price-regular {
		display: block;
		margin-left: 0;
		margin-top: 3px;
		font-size: 10px;
	}

	.nij-product-list:not(.nij-product-list--top) .nij-product-card__labels {
		top: 9px;
		left: 9px;
		max-width: calc(100% - 48px);
	}
}


/* =========================================================
   Product Detail Text Element Normalize
   ---------------------------------------------------------
   Dedicated product-detail text classes.
   Broad paragraph styling such as .nij-product-soft p is
   intentionally not used because it leaks into other fixed
   page components.
========================================================= */

.nij-product-soft .nij-product-section-label,
.nij-product-soft p.nij-product-section-label,
.nij-product-section-label {
	margin: 0 0 8px;
	color: #f08300;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nij-product-soft .nij-product-small-note,
.nij-product-soft p.nij-product-small-note,
.nij-product-small-note {
	margin: 8px 0 0;
	color: #666;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .01em;
}

@media screen and (max-width: 767px) {
	.nij-product-soft .nij-product-section-label,
	.nij-product-soft p.nij-product-section-label,
	.nij-product-section-label {
		font-size: 11px;
		line-height: 1.35;
	}

	.nij-product-soft .nij-product-small-note,
	.nij-product-soft p.nij-product-small-note,
	.nij-product-small-note {
		font-size: 11px;
		line-height: 1.6;
	}
}


/* =========================================================
   NIC IN JUICE Common UI Components v1
   ---------------------------------------------------------
   Cart / product-detail inspired shared components.
   These classes are opt-in. Existing pages are not affected
   unless the HTML uses nij-ui-* classes.

   Rules:
   - No broad selectors such as .nij-xxx p / a / img.
   - No random colors/sizes when Foundation tokens exist.
   - Page-specific CSS should only handle layout exceptions.
========================================================= */

/* Section / layout */

.nij-ui-section {
	box-sizing: border-box;
	margin: 0 0 var(--nij-ui-space-8);
}

.nij-ui-section--compact {
	margin-bottom: var(--nij-ui-space-5);
}

.nij-ui-section--spacious {
	margin-bottom: var(--nij-ui-space-10);
}

.nij-ui-section-head {
	box-sizing: border-box;
	margin: 0 0 var(--nij-ui-space-4);
}

.nij-ui-section-head--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--nij-ui-space-4);
}

.nij-ui-grid {
	display: grid;
	gap: var(--nij-ui-grid-gap);
}

.nij-ui-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nij-ui-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nij-ui-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Hero */

.nij-ui-hero {
	box-sizing: border-box;
	margin: 0 0 var(--nij-ui-space-8);
	padding: var(--nij-ui-space-8);
	color: var(--nij-ui-text);
	background: var(--nij-ui-white);
	border: 1px solid var(--nij-ui-line);
	border-radius: var(--nij-ui-radius-lg);
	box-shadow: var(--nij-ui-shadow-sm);
}



/* Hero variants */

.nij-ui-hero--dark {
	color: var(--nij-ui-white);
	background: var(--nij-ui-black);
	border-color: var(--nij-ui-black);
}

.nij-ui-hero--dark .nij-ui-kicker {
	margin: 0 0 9px;
	color: var(--nij-ui-orange);
	font-size: 11px;
	font-weight: var(--nij-ui-weight-bold);
	line-height: 1.3;
	letter-spacing: .14em;
}

.nij-ui-hero--dark .nij-ui-title {
	margin: 0 0 12px;
	color: var(--nij-ui-white);
	font-size: 32px;
	font-weight: var(--nij-ui-weight-bold);
	line-height: 1.35;
	letter-spacing: .04em;
}

.nij-ui-hero--dark .nij-ui-lead {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 14px;
	font-weight: var(--nij-ui-weight-bold);
	line-height: 1.9;
	letter-spacing: .01em;
}

@media screen and (max-width: 767px) {
	.nij-ui-hero--dark .nij-ui-title {
		font-size: 25px;
	}
}
.nij-ui-hero--flat {
	box-shadow: none;
}

/* Card */

.nij-ui-card--flat {
	box-shadow: none;
}

.nij-ui-card--compact {
	border-radius: var(--nij-ui-radius-md);
}

.nij-ui-card__body {
	box-sizing: border-box;
}

.nij-ui-card__footer {
	box-sizing: border-box;
	margin-top: var(--nij-ui-space-4);
	padding-top: var(--nij-ui-space-4);
	border-top: 1px solid var(--nij-ui-line);
}

/* Text */

.nij-ui-kicker {
	margin: 0 0 var(--nij-ui-space-2);
	color: var(--nij-ui-orange);
	font-size: var(--nij-ui-text-sm);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-tight);
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nij-ui-heading {
	margin: 0;
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-xl);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-tight);
	letter-spacing: .02em;
}

.nij-ui-lead {
	margin: 0;
	color: var(--nij-ui-muted);
	font-size: var(--nij-ui-text-lg);
	font-weight: var(--nij-ui-weight-normal);
	line-height: var(--nij-ui-leading-relaxed);
	letter-spacing: .01em;
}

.nij-ui-meta {
	margin: 0;
	color: var(--nij-ui-muted-light);
	font-size: var(--nij-ui-text-xs);
	font-weight: var(--nij-ui-weight-medium);
	line-height: var(--nij-ui-leading-normal);
	letter-spacing: .04em;
}

/* Alert / note cards */

.nij-ui-alert--warning {
	background: #fff8ed;
	border-color: #f4d7aa;
	border-left-color: var(--nij-ui-orange);
}

.nij-ui-alert--danger {
	background: #fff5f5;
	border-color: #efc7c7;
	border-left-color: var(--nij-ui-red);
}

.nij-ui-alert--info {
	background: var(--nij-ui-bg-soft);
	border-color: var(--nij-ui-line);
	border-left-color: var(--nij-ui-black);
}

.nij-ui-alert__title {
	margin: 0 0 var(--nij-ui-space-2);
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-tight);
}

.nij-ui-alert__text {
	margin: 0;
	color: var(--nij-ui-muted);
	font-size: var(--nij-ui-text-body);
	font-weight: var(--nij-ui-weight-normal);
	line-height: var(--nij-ui-leading-normal);
}

/* Buttons */

.nij-ui-button--dark {
	color: var(--nij-ui-white);
	background: var(--nij-ui-black);
	border-color: var(--nij-ui-black);
}

.nij-ui-button--dark:hover,
.nij-ui-button--dark:focus {
	color: var(--nij-ui-white);
	background: #333;
	border-color: #333;
}

.nij-ui-button--ghost {
	color: var(--nij-ui-text);
	background: var(--nij-ui-white);
	border-color: var(--nij-ui-line-dark);
}

.nij-ui-button--ghost:hover,
.nij-ui-button--ghost:focus {
	color: var(--nij-ui-text);
	background: var(--nij-ui-bg-soft);
	border-color: var(--nij-ui-line-dark);
}

.nij-ui-button--block {
	display: flex;
	width: 100%;
}

.nij-ui-button--sm {
	min-height: 36px;
	padding-right: var(--nij-ui-space-4);
	padding-left: var(--nij-ui-space-4);
	font-size: var(--nij-ui-text-sm);
}

.nij-ui-button--lg {
	min-height: 50px;
	padding-right: var(--nij-ui-space-6);
	padding-left: var(--nij-ui-space-6);
	font-size: var(--nij-ui-text-lg);
}

/* Forms */

.nij-ui-form {
	display: grid;
	gap: var(--nij-ui-space-4);
}

.nij-ui-form-row {
	display: grid;
	gap: var(--nij-ui-space-2);
}

.nij-ui-form-label {
	margin: 0;
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-medium);
	line-height: var(--nij-ui-leading-normal);
}

.nij-ui-input,
.nij-ui-select,
.nij-ui-textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 0 var(--nij-ui-space-3);
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-normal);
	line-height: var(--nij-ui-leading-normal);
	background: var(--nij-ui-white);
	border: 1px solid var(--nij-ui-line-dark);
	border-radius: var(--nij-ui-radius-md);
}

.nij-ui-textarea {
	min-height: 120px;
	padding-top: var(--nij-ui-space-3);
	padding-bottom: var(--nij-ui-space-3);
	resize: vertical;
}

.nij-ui-input:focus,
.nij-ui-select:focus,
.nij-ui-textarea:focus {
	outline: none;
	border-color: var(--nij-ui-orange);
	box-shadow: 0 0 0 3px rgba(242,140,0,.12);
}

.nij-ui-form-help {
	margin: 0;
	color: var(--nij-ui-muted);
	font-size: var(--nij-ui-text-sm);
	font-weight: var(--nij-ui-weight-normal);
	line-height: var(--nij-ui-leading-normal);
}

/* Lists */

.nij-ui-note-list {
	display: grid;
	gap: var(--nij-ui-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.nij-ui-note-list__item {
	position: relative;
	margin: 0;
	padding-left: var(--nij-ui-space-4);
	color: var(--nij-ui-muted);
	font-size: var(--nij-ui-text-body);
	font-weight: var(--nij-ui-weight-normal);
	line-height: var(--nij-ui-leading-normal);
}

.nij-ui-note-list__item::before {
	position: absolute;
	top: .72em;
	left: 0;
	width: 6px;
	height: 6px;
	content: "";
	background: var(--nij-ui-orange);
	border-radius: var(--nij-ui-radius-pill);
}

/* Link list */

.nij-ui-link-list {
	display: grid;
	gap: var(--nij-ui-space-2);
	margin-top: var(--nij-ui-space-4);
}

.nij-ui-link-list__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	padding: 0 var(--nij-ui-space-4);
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-normal);
	text-decoration: none;
	background: var(--nij-ui-white);
	border: 1px solid var(--nij-ui-line);
	border-radius: var(--nij-ui-radius-md);
}

.nij-ui-link-list__item::after {
	content: "›";
	color: var(--nij-ui-orange);
	font-size: var(--nij-ui-text-xl);
	font-weight: var(--nij-ui-weight-bold);
	line-height: 1;
}

.nij-ui-link-list__item:hover,
.nij-ui-link-list__item:focus {
	color: var(--nij-ui-text);
	text-decoration: none;
	background: #fff8ed;
	border-color: #f3dfbf;
}

/* Summary rows */

.nij-ui-summary {
	box-sizing: border-box;
}

.nij-ui-summary-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--nij-ui-space-4);
	padding: var(--nij-ui-space-3) 0;
	border-bottom: 1px solid var(--nij-ui-line);
}

.nij-ui-summary-row__label {
	margin: 0;
	color: var(--nij-ui-muted);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-normal);
	line-height: var(--nij-ui-leading-normal);
}

.nij-ui-summary-row__value {
	margin: 0;
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-normal);
	text-align: right;
}

.nij-ui-summary-row--total {
	padding-top: var(--nij-ui-space-4);
	border-bottom: 0;
}

.nij-ui-summary-row--total .nij-ui-summary-row__label,
.nij-ui-summary-row--total .nij-ui-summary-row__value {
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-lg);
	font-weight: var(--nij-ui-weight-bold);
}

/* Images */

.nij-ui-image {
	display: block;
	max-width: 100%;
	height: auto;
}

.nij-ui-image--contained {
	width: 100%;
	object-fit: contain;
}

/* Mobile */

@media screen and (max-width: 767px) {
	.nij-ui-section {
		margin-bottom: var(--nij-ui-space-6);
	}

	.nij-ui-section-head--split {
		display: block;
	}

	.nij-ui-grid--2,
	.nij-ui-grid--3,
	.nij-ui-grid--4 {
		grid-template-columns: 1fr;
	}

	.nij-ui-hero {
		margin-bottom: var(--nij-ui-space-6);
		padding: var(--nij-ui-space-5);
	}

	.nij-ui-heading {
		font-size: var(--nij-ui-text-lg);
	}

	.nij-ui-lead {
		font-size: var(--nij-ui-text-body);
		line-height: var(--nij-ui-leading-normal);
	}

	.nij-ui-summary-row {
		gap: var(--nij-ui-space-3);
	}

	.nij-ui-button--lg {
		min-height: 46px;
		font-size: var(--nij-ui-text-md);
	}
}


/* =========================================================
   NIC IN JUICE Common UI Components v2
   ---------------------------------------------------------
   Shared lower-page components.
   Use these before creating any page-specific component.
========================================================= */

/* Step layout */

.nij-ui-step {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: var(--nij-ui-space-5);
	margin-bottom: var(--nij-ui-space-5);
}

.nij-ui-step__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	color: var(--nij-ui-white);
	font-size: var(--nij-ui-text-xl);
	font-weight: var(--nij-ui-weight-bold);
	line-height: 1;
	letter-spacing: .06em;
	background: var(--nij-ui-black);
	border-radius: var(--nij-ui-radius-md);
}

.nij-ui-step__card .nij-ui-card__body {
	padding: var(--nij-ui-space-6);
}

.nij-ui-step__card .nij-ui-text + .nij-ui-text {
	margin-top: var(--nij-ui-space-3);
}

.nij-ui-step__card .nij-ui-alert {
	margin-top: var(--nij-ui-space-5);
}

/* Line list */

.nij-ui-line-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin-top: var(--nij-ui-space-5);
	background: var(--nij-ui-white);
	border-top: 1px solid var(--nij-ui-line);
	border-left: 1px solid var(--nij-ui-line);
}

.nij-ui-line-list--single {
	grid-template-columns: 1fr;
}

.nij-ui-line-list__item {
	box-sizing: border-box;
	min-width: 0;
	padding: var(--nij-ui-space-4);
	background: var(--nij-ui-white);
	border-right: 1px solid var(--nij-ui-line);
	border-bottom: 1px solid var(--nij-ui-line);
}

.nij-ui-line-list__title {
	margin: 0 0 var(--nij-ui-space-2);
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-normal);
}

/* Side card / side list */

.nij-ui-side-card {
	margin-bottom: var(--nij-ui-space-5);
}

.nij-ui-side-card .nij-ui-card__body {
	padding: var(--nij-ui-space-5);
}

.nij-ui-side-card .nij-ui-text {
	margin-bottom: var(--nij-ui-space-4);
}

.nij-ui-side-list {
	display: grid;
	gap: 0;
	margin-top: var(--nij-ui-space-4);
}

.nij-ui-side-list__item {
	padding: var(--nij-ui-space-4) 0;
	border-top: 1px solid var(--nij-ui-line);
}

.nij-ui-side-list__title {
	margin: 0 0 var(--nij-ui-space-2);
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-normal);
}

/* Info block */

.nij-ui-info-block {
	margin-top: var(--nij-ui-space-5);
	padding-top: var(--nij-ui-space-5);
	border-top: 1px solid var(--nij-ui-line);
}

.nij-ui-info-block__title {
	margin: 0 0 var(--nij-ui-space-2);
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-normal);
}

.nij-ui-info-block .nij-ui-text {
	margin-top: var(--nij-ui-space-4);
}

/* Page action row */

.nij-ui-action-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--nij-ui-space-3);
	margin-top: var(--nij-ui-space-6);
}

.nij-ui-action-row .nij-ui-button {
	min-width: 180px;
}

/* Lower page two-column layout */

.nij-ui-lower-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: var(--nij-ui-space-5);
	align-items: start;
}

.nij-ui-lower-main,
.nij-ui-lower-side {
	min-width: 0;
}

.nij-ui-lower-side {
	position: sticky;
	top: 112px;
}

/* Mobile */

@media screen and (max-width: 991px) {
	.nij-ui-lower-layout {
		grid-template-columns: 1fr;
	}

	.nij-ui-lower-side {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.nij-ui-step {
		grid-template-columns: 1fr;
		gap: var(--nij-ui-space-3);
	}

	.nij-ui-step__num {
		width: 54px;
		height: 54px;
		font-size: var(--nij-ui-text-lg);
	}

	.nij-ui-step__card .nij-ui-card__body,
	.nij-ui-side-card .nij-ui-card__body {
		padding: var(--nij-ui-space-5);
	}

	.nij-ui-line-list {
		grid-template-columns: 1fr;
	}

	.nij-ui-action-row {
		display: grid;
		grid-template-columns: 1fr;
	}

	.nij-ui-action-row .nij-ui-button {
		width: 100%;
		min-width: 0;
	}
}


/* =========================================================
   NIC IN JUICE Common UI Components v2.1
   ---------------------------------------------------------
   Shared legal / data-list components.
========================================================= */

/* Data list */

.nij-ui-data-list {
	
	margin-top: var(--nij-ui-space-5);background: var(--nij-ui-white);
	border-top: 1px solid var(--nij-ui-line);
}

.nij-ui-data-row {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	border-bottom: 1px solid var(--nij-ui-line);
}

.nij-ui-data-row__label,
.nij-ui-data-row__body {
	min-width: 0;
	padding: var(--nij-ui-space-4);
	font-size: var(--nij-ui-text-md);
	line-height: var(--nij-ui-leading-relaxed);
}

.nij-ui-data-row__label {
	color: var(--nij-ui-text);
	font-weight: var(--nij-ui-weight-bold);
	background: var(--nij-ui-bg-soft);
	border-right: 1px solid var(--nij-ui-line);
}

.nij-ui-data-row__body {
	color: var(--nij-ui-muted);
	font-weight: var(--nij-ui-weight-medium);
	background: var(--nij-ui-white);
}

.nij-ui-data-row__body a {
	color: var(--nij-ui-text);
	font-weight: var(--nij-ui-weight-bold);
	text-decoration: underline;
	text-underline-offset: .18em;
}

.nij-ui-data-row__body .nij-ui-alert {
	margin-top: var(--nij-ui-space-4);
}

/* Notice list */

.nij-ui-notice-list {
	
	margin-top: var(--nij-ui-space-5);display: grid;
	gap: 0;
	background: var(--nij-ui-white);
	border-top: 1px solid var(--nij-ui-line);
}

.nij-ui-data-list:first-child,
.nij-ui-notice-list:first-child {
	margin-top: 0;
}

.nij-ui-notice-list__item {
	padding: var(--nij-ui-space-4) 0;
	border-bottom: 1px solid var(--nij-ui-line);
}

.nij-ui-notice-list__title {
	margin: 0 0 var(--nij-ui-space-2);
	color: var(--nij-ui-text);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-normal);
}

@media screen and (max-width: 767px) {
	.nij-ui-data-row {
		grid-template-columns: 1fr;
	}

	.nij-ui-data-row__label {
		padding-bottom: var(--nij-ui-space-2);
		border-right: 0;
		border-bottom: 1px solid var(--nij-ui-line);
	}

	.nij-ui-data-row__body {
		padding-top: var(--nij-ui-space-3);
	}
}


/* =========================================================
   NIC IN JUICE Common UI Components v2.2
   ---------------------------------------------------------
   Shared tabs / accordion components.
========================================================= */

/* Tabs */

.nij-ui-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nij-ui-space-2);
	margin: 0 0 var(--nij-ui-space-5);
}

.nij-ui-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 var(--nij-ui-space-4);
	color: var(--nij-ui-text);
	font-family: var(--nij-ui-font);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-normal);
	letter-spacing: .02em;
	background: var(--nij-ui-white);
	border: 1px solid var(--nij-ui-line);
	border-radius: var(--nij-ui-radius-md);
	box-shadow: none;
	cursor: pointer;
	appearance: none;
}

.nij-ui-tab:hover,
.nij-ui-tab:focus {
	color: var(--nij-ui-text);
	background: #fff8ed;
	border-color: #f3dfbf;
	outline: none;
}

.nij-ui-tab.is-active {
	color: var(--nij-ui-white);
	background: var(--nij-ui-black);
	border-color: var(--nij-ui-black);
}

/* Accordion */

.nij-ui-accordion {
	display: grid;
	gap: var(--nij-ui-space-3);
}

.nij-ui-accordion__item {
	background: var(--nij-ui-white);
	border: 1px solid var(--nij-ui-line);
	border-radius: var(--nij-ui-radius-md);
	overflow: hidden;
}

.nij-ui-accordion__question {
	display: flex;
	align-items: center;
	gap: var(--nij-ui-space-3);
	width: 100%;
	min-height: 58px;
	padding: var(--nij-ui-space-4) var(--nij-ui-space-5);
	color: var(--nij-ui-text);
	font-family: var(--nij-ui-font);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-bold);
	line-height: var(--nij-ui-leading-normal);
	text-align: left;
	background: var(--nij-ui-white);
	border: 0;
	box-shadow: none;
	cursor: pointer;
	appearance: none;
}

.nij-ui-accordion__question:hover,
.nij-ui-accordion__question:focus {
	background: var(--nij-ui-bg-soft);
	outline: none;
}

.nij-ui-accordion__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	color: var(--nij-ui-white);
	font-size: var(--nij-ui-text-sm);
	font-weight: var(--nij-ui-weight-bold);
	line-height: 1;
	background: var(--nij-ui-black);
	border-radius: var(--nij-ui-radius-sm);
}

.nij-ui-accordion__title {
	flex: 1 1 auto;
	min-width: 0;
}

.nij-ui-accordion__question::after {
	content: "+";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	color: var(--nij-ui-orange);
	font-size: var(--nij-ui-text-xl);
	font-weight: var(--nij-ui-weight-bold);
	line-height: 1;
}

.nij-ui-accordion__item.is-open .nij-ui-accordion__question::after {
	content: "−";
}

.nij-ui-accordion__answer {
	display: none;
	padding: 0 var(--nij-ui-space-5) var(--nij-ui-space-5);
	color: var(--nij-ui-muted);
	font-size: var(--nij-ui-text-md);
	font-weight: var(--nij-ui-weight-medium);
	line-height: var(--nij-ui-leading-relaxed);
}

.nij-ui-accordion__item.is-open .nij-ui-accordion__answer {
	display: block;
}

.nij-ui-accordion__answer p {
	margin: 0;
}

.nij-ui-accordion__answer p + p {
	margin-top: var(--nij-ui-space-3);
}

@media screen and (max-width: 767px) {
	.nij-ui-tabs {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nij-ui-tab {
		width: 100%;
		padding: 0 var(--nij-ui-space-3);
		font-size: var(--nij-ui-text-sm);
	}

	.nij-ui-accordion__question {
		padding: var(--nij-ui-space-4);
	}

	.nij-ui-accordion__answer {
		padding: 0 var(--nij-ui-space-4) var(--nij-ui-space-4);
	}
}


