@charset "utf-8";

/* animation は ease-out-expo を基本としたい >>> cubic-bezier(0.16, 1, 0.3, 1) */

/*------------------
 @ vars
------------------*/
@media (min-width: 1024px) {
	:root {
		--g-header-height: 5rem;
	}
}
@media (max-width: 1023px) {
	:root {
		--g-header-height: 4.28rem;
	}
}

/*------------------
 @ debug
------------------*/

/* @ debug > todo */
/* .todo{
	font-weight: bold;
	border: 3px solid lime;
}
.todo::before{
	content: "TODO）";
	word-break: break-all;
}
.todo--memo::before{
	content: "MEMO）";
}
.todo--small{
	line-height: 1.666;
	font-size: .75em;
	font-weight: normal;
}
.todo--design{
	color: magenta;
	border-color: currentcolor;
}
.todo--design::before{
	content: "TODO）デザイン）";
}
.todo--line,
.todo--outline{
	font-weight: inherit;
}
.todo--line::before,
.todo--outline::before{
	content: none;
}
.todo--outline{
	outline: 3px solid lime;
}

[data-todo], [data-googletranslated], [data-translation-yet], [data-error]{
	outline: 1px solid lime;
	position: relative;
	z-index: 0;
}
[data-error]{
	outline: 1px solid red;
}
:is([data-todo], [data-googletranslated], [data-translation-yet])::before,
[data-error]::after{
	pointer-events: none;
	line-height: 1;
	letter-spacing: 0;
	font-size: .65rem;
	font-weight: normal;
	background: lime;
	color: #000;
	display: block;
	position: absolute;
	left: 0;
	bottom: 100%;
	padding: .25em;
}

[data-todo]::before{
	content: "TODO👈" !important;
}
[data-todo]:not(:hover)::before{
	white-space: nowrap;
}
[data-todo]:hover::before{
	content: attr(data-todo) !important;
	font-size: .75rem;
	min-width: max-content;
}
[data-googletranslated]::before{
	content: "Google翻訳" !important;
}
[data-translation-yet]::before{
	content: "翻訳まだ" !important;
}
[data-error]::after{
	content: attr(data-error);
	inset: 100% 0 auto auto;
}

.is-assert::after{
	content: "";
	pointer-events: none;
	display: block;
	position: fixed;
	z-index: 1;
	inset: 0;
	box-shadow: inset 0 0 0 1rem red; background: #fee;
	mix-blend-mode: multiply;
	animation: assert 333ms steps(2, jump-none) infinite alternate forwards;
}
@keyframes assert{
	from { visibility: hidden; }
} */

/* @ Breakpoint */
@media (min-width: 641px) {
	.for-sp {
		display: none !important;
	}
}
@media (max-width: 640px) {
	.for-pc {
		display: none !important;
	}
}

/* @ Animation */
@keyframes fadein {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes g-header-toggle {
	from {
		height: 4.28rem;
	}
	to {
		height: 92vh;
	}
}
@keyframes help-opening {
	from {
		transform: translateX(100%);
	}
	50% {
		transform: translateX(0%);
	}
	to {
		transform: translateX(0%);
	}
}
@keyframes scroll-hint {
	from {
		transform: translateX(-0.75em);
	}
}
@keyframes vscroll-hint {
	from {
		transform: translateY(-0.75em);
	}
}

:root {
	line-height: 1.75;
	font-size: 1em;
	font-family: "Segoe UI",SegoeUI,"Helvetica Neue",Helvetica,Arial,sans-serif;
	scroll-behavior: smooth;
	overflow-wrap: break-word;
	tab-size: 4;
	font-feature-settings: "palt" 1;

	/* --g-header-height: ; */
}
@media (max-width: 640px) {
	:root {
		font-size: 0.875em;
	}
}

:root:where(
		[lang="en"],
		[lang="en-sg"],
		[lang="es-es"],
		[lang="es-mx"],
		[lang="de"],
		[lang="fr"],
		[lang="it"],
		[lang="en-gb"]
	) {
	/* @import url("https://fonts.googleapis.com/css2?family=League+Spartan:wght@400;500;600;700&family=Roboto+Condensed:wght@400;700&display=swap"); */
	/* font-family: "League Spartan", sans-serif; */ /* 2024-04-09に変更 */
	font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial,sans-serif;
	/* font-size: 1.1em; */
	letter-spacing: 0.02rem;
}
/* :root:where([lang="zh-cn"], [lang="ko"], [lang="th"], [lang="zh-tw"]) { */
/* word-break: keep-all; */ /* 一時的に機能停止 @ 230413 */
/* } */
:root:where([lang="zh-cn"]) {
	font-family: "Segoe UI", SegoeUI, "Microsoft YaHei", 微软雅黑,
		"Helvetica Neue", Helvetica, Arial, sans-serif;
}
:root:where([lang="ko"]) {
	font-family: "Segoe UI", SegoeUI, "Malgun Gothic", Gulim, "Helvetica Neue",
		Helvetica, Arial, sans-serif;
}
:root:where([lang="th"]) {
	font-family: "Leelawadee UI", "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica,
		Arial, sans-serif;
}
:root:where([lang="zh-tw"]) {
	font-family:
		"PingFang TC",     /* macOS (10.11+) */
		"Heiti TC",        /* 古いmacOS */
		"Microsoft JhengHei", 微軟正黑體,  /* Windows */
		"Segoe UI", SegoeUI,           /* 補助英字フォント（Windows） */
		"Helvetica Neue", Helvetica, Arial, sans-serif;  /* 汎用フォールバック */
}
/* 2024/07/09　非表示処理
@media only screen and (min-width: 641px) {
	:root:where([lang="zh-cn"]),
	:root:where([lang="zh-tw"]) { font-size: 1.1rem; }
}
*/
/* @media (max-width: 1023px) and (min-width: 641px){
	:root{ font-size: 1.5625vw; }
}
@media only screen and (max-width: 640px){
	:root{ font-size: 3.75vw; }
} */

:link,
:visited,
.g-link {
	color: #6f63ce;
}

.inline-sp-only {display: none;}
@media (max-width: 630px) {
	.inline-sp-only {
		display: inline-block;
	}
}

body {
	margin: 0;
	-webkit-font-smoothing: antialiased; /*Chrome, Safari, Opera でのアンチエイリアス*/
	-moz-osx-font-smoothing: grayscale; /*Firefox でのアンチエイリアス（Mac OS Xのみ）*/
	font-smooth: always; /* 非標準プロパティ */
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.01);
	font-weight: 400;
}

img,
video {
	max-width: 100%;
	vertical-align: middle;
}
.g-fit {
	width: 100%;
}

input,
textarea,
button,
select {
	line-height: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-family: inherit;
}
button {
	color: inherit;
}

::placeholder {
	opacity: 0.33;
}
:focus::placeholder {
	opacity: 0.1;
}

label {
	cursor: pointer;
}

[hidden] {
	display: none !important;
}

.g-addr {
	font-style: normal;
}

.g-fig {
	line-height: 1.5;
	font-size: 0.875em;
	text-align: center;
	margin: 1rem;
}
.g-fig > * + * {
	margin-top: 0.66em;
}
.g-fig-fill {
	margin: 1rem 0;
}
.g-fig-left {
	display: table;
}

.g-list {
	line-height: 1.5;
	list-style: inherit;
	margin: 0 0 0 1.25rem;
	padding: 0;
}
.g-list--subdisc {
	list-style-type: circle;
}
.g-list > * + * {
	margin-top: 0.5em;
}
:root:where(
		[lang="ja"],
		[lang="zh-cn"],
		[lang="zh-tw"],
		[lang="ko"],
		[lang="th"]
	)
	.g-list-caution {
	list-style-type: "※";
}
:root:not(
		:where(
				[lang="ja"],
				[lang="zh-cn"],
				[lang="zh-tw"],
				[lang="ko"],
				[lang="th"]
			)
	)
	.g-list-caution {
	list-style-type: "* ";
}
@container style(text-align: center) {
	.g-list-caution {
		list-style-position: inside;
	}
}
.g-list:where(ol) {
	list-style: decimal;
}
.g-list.g-list--none {
	margin-left: 0;
}
.g-list--none > * {
	list-style: none;
}
.g-list-disc {
	list-style: disc;
}

details[open] > :not(summary) {
	animation: fadein 666ms cubic-bezier(0.16, 1, 0.3, 1);
}

.g-audio {
	vertical-align: middle;
}
.g-audio--minimal {
	width: 17.0rem;
}
.g-audio--maximum {
	width: 100%;
}

/* & list > business */
.g-list-business {
	list-style: "● ";
}

/* audio タグの改造用 */
.custom-audio-container {
	display: flex;
	align-items: center;
	gap: 8px;
}
audio {
	display: inline-block;
	position: relative;
}
/* 時間表示の位置調整 */
.custom-time-display {
	white-space: nowrap;
	color: #333;
	position: absolute;
	background: #f2f3f4;
	margin-left: 2.75rem;
	/* 再生ボタン横の余白 */
	padding: 0 0.5rem;
	/* 時間表示の背景内余白 */
	font-size: 0.875rem;
	/* 時間表示の文字サイズ調整 */
}
/* 以下 FireFox用 */
@-moz-document url-prefix() {
	.custom-time-display {
		display: none;
	}
}
	/* 以下 safari用 */
	::-webkit-full-page-media,
	:future,
	:root {
		.custom-time-display {
			display: none;
		}
	}
@media screen and (max-width: 640px) {
	.custom-time-display {
		font-size: 1.2rem;
	}
}

/*------------------
 @ Components
------------------*/
.g-sitewidth {
	/* width: 92vw; */
	width: min(
		92%,
		(100% - env(safe-area-inset-left) - env(safe-area-inset-right))
	);
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}
.g-sitewidth--article {
	max-width: 1180px;
}
@media print {
	.g-sitewidth {
		width: auto;
		max-width: none;
	}
}

/* @ box */
.g-box {
	background: #f8f8f8;
	padding: min(1.875rem, 4vw);
}
.g-box-stroke {
	background: none;
	border: 0.3125rem solid #ddd;
}
.g-box--caution {
	color: #f00;
	background: #f9e5e5;
}
.g-box.g-box-stroke {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: center;
}
.g-box-stroke img {
	height: 235px;
	width: auto;
}

.g-box.g-box-stroke > * {
	margin-right: 2rem;
}

/* @ block alignment */
.g-block-center,
.g-block-right {
	box-sizing: content-box;
	max-width: max-content;
}
.g-block-center {
	margin-left: auto;
	margin-right: auto;
}
.g-block-right {
	margin-left: auto;
}

/* @ Stack (sectioning) */
.g-stack > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.g-stack--1 > :not(.g-not-stack) + * {
	margin-top: 5.625rem !important;
}
.g-stack--2 > :not(.g-not-stack) + * {
	margin-top: 3.75rem !important;
}
.g-stack--3 > :not(.g-not-stack) + * {
	margin-top: 1.875rem !important;
}
.g-stack--contents > :not(.g-not-stack) + * {
	margin-top: 1rem !important;
}

/* @ title > text */
.g-ttl {
	line-height: 1.33;
	margin: 0 0 1em;
}
.g-ttl-sect {
	font-size: 1.5rem;
	text-align: center;
	letter-spacing: 0.02em;
	margin: 0 0 1.25em;
}
.g-ttl-sect2 {
	font-size: 1.5em;
	text-align: left;
	font-weight: normal;
}
.g-ttl-sect3 {
	font-size: 1.5em;
	text-align: left;
	font-weight: normal;
	border-inline-start: 0.375rem solid #f00;
	padding: 0.25em 0 0.25em 0.666em;
}
.g-ttl-page {
	font-size: 1.5rem;
	font-weight: bold;
}
.g-ttl-page--sub {
	font-size: 1.25rem;
}
.g-ttl-page:lang("ja") {
	font-weight: normal;
}
.g-ttl-plain {
	font-size: 1em;
	font-weight: bold;
}


/* @ title > belt */
.g-belt {
	line-height: 1.33;
	margin: 0 0 1em;
	padding: 0.666em 1em;
}
.g-belt-fill {
	letter-spacing: 0.2em;
	background: #f8f8f8;
}
.g-belt-fill--bl {
	color: #fff;
	background: #000;
}
.g-belt-frame {
	font-size: 1em;
	font-weight: normal;
	background: #f8f8f8;
	border: 1px solid #dcdcdc;
}

/* @ Note */
.g-note {
}
.g-note-left {
	text-align: left;
}
.g-note-center {
	text-align: center;
}
.g-note-right {
	text-align: right;
}
.g-note-strong {
	font-weight: bold;
}
.g-note-indent {
	text-indent: -1em;
	padding-left: 1em;
}
/* todo : attention -> alert */
.g-note-attention {
	color: #f00;
}
.g-note-supply {
	font-size: 0.875em;
}
.g-note-caution {
	font-size: 0.875em;
}
.g-note-catch {
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
}
.g-note-small {
	font-size: 0.875em;
}
.g-note-innerNumtxt {
	display: grid;
	grid-template-columns: 45px auto;
	grid-gap: 20px;
}
.g-note-innerNumtxt dt,
.g-note-innerNumtxt dd {
	font-weight: 400;
}
.g-note-innerNumtxt dd {
	margin-left: 0;
}
.g-note-alphabetList {
  list-style-type: none; /* 既定のリストスタイルを無効化 */
  counter-reset: list-counter; /* カウンターの初期化 */
  padding-left: 0; /* 左側のパディングをリセット */
	margin-top: 0;
}
.g-note-alphabetList li {
  counter-increment: list-counter; /* 各li要素でカウンターを1増やす */
  position: relative; /* 疑似要素の位置指定の基準点とする */
  padding-left: 1.5em; /* テキスト開始位置を右に調整 */
	margin-bottom: .25em;
	line-height: 1.5;
	font-weight: 300;
}
.g-note-alphabetList li::before {
  content: "(" counter(list-counter, lower-alpha) ") "; /* カウンターの値をアルファベット小文字で表示し、括弧で囲む */
  position: absolute; /* 親要素(li)に対して絶対位置 */
  left: 0; /* liの左端から配置 */
  top: 0; /* liの上端から配置 */
}

/* @ highlight */
.g-hilite {
	background: #ff0;
}
.g-hilite--bl {
	color: #fff;
	background: #000;
}

/* @ Link */
.g-link {
	text-decoration: none;
}
.g-link:not(:hover) {
	text-decoration: underline;
}
.g-link-tel:is(:link, :visited):not(:hover) {
	text-decoration: none;
}
@media (min-width: 641px) {
	.g-link-tel {
		pointer-events: none;
		text-decoration: none;
		color: inherit;
	}
}

/* @ Button */
.g-btn {
	line-height: 1.33;
	text-align: center;
	display: block;
	text-decoration: inherit;
	color: inherit;
	box-sizing: border-box;
	border: 0;
	padding: 1em;
}
.g-btn:where(button) {
	background: transparent;
}
.g-btn:hover {
	opacity: 0.666;
}
.g-btn:disabled {
	pointer-events: none;
	opacity: 0.333;
}
.g-btn-slim {
	font-size: 0.875em;
	padding: 0.5em 0.75em;
}
.g-btn-back,
.g-btn-next {
	display: grid;
	grid-gap: 0.666em;
	align-items: center;
}
.g-btn-back {
	grid-template-columns: auto 1fr;
}
.g-btn-next {
	grid-template-columns: 1fr auto;
}
.g-btn-back::before,
.g-btn-next::after {
	content: "";
	width: 3px;
	height: 3px;
	border-style: solid;
	border-width: 1px 1px 0 0;
}
.g-btn-back::before {
	transform: rotate(225deg);
}
.g-btn-next::after {
	transform: rotate(45deg);
}
.g-btn-ghost {
	border: 1px solid;
}
.g-btn-fill {
	background: #f8f8f8;
	border-radius: 3px;
}
.g-btn-fill--ac {
	color: #fff;
	background: #f00;
}
.g-btn-fill--wh {
	color: #000;
	background: #fff;
}
.g-btn-fill--bl {
	color: #fff;
	background: #000;
}
.g-btn-help {
	font-size: 0.75em;
	color: #fff;
	background: #9fa0a0;
}

/* & btn > print */
.g-btn-print {
	font-size: 0.875em;
	border: 1px solid;
	padding: 0.75em 1.5em;
}

/* & btn > close */
.g-btn-close {
	color: #fff;
	background: #f00;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0.333em;
}
.g-btn-close::before {
	content: "\0d7";
}

/* & btn > download */
.g-btn-download {
	border: 1px solid #ccc;
	background: #f8f8f8;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	grid-gap: 1em;
}
.g-btn-download--ac {
	color: #fff;
	background: #f00;
	border: 0;
}
.g-btn-download--with-icon {
	grid-template-columns: auto 1fr auto;
}
.g-btn-download--with-icon > :where(img) {
	max-width: 2em;
	max-height: 2em;
	object-fit: contain;
}
.g-btn-download:where(button) {
	width: 100%;
}
.g-btn-download::after {
	content: "";
	align-self: stretch;
	background: rgba(0, 0, 0, 0.2) url(../_img2/base/icon-download.svg) no-repeat
		center / contain;
	background-origin: content-box;
	image-rendering: pixelated;
	min-width: 1.875em;
	margin: -1em -1em -1em 0;
	padding: 0 0.875em;
}

/* & btn > ajax more */
.g-btn--result-more {
	cursor: pointer;
	background: inherit;
	width: 100%;
	border: 1px solid #ccc;
}

/* & btn > agree to view */
.g-btn-agree-to-view {
	font-size: 1.125em;
	font-weight: bold;
	color: #fff;
	background: #f00;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-gap: 1em;
	max-width: 24em;
	margin-left: auto;
	margin-right: auto;
}
.g-btn-agree-to-view::after {
	content: "";
	align-self: center;
	width: 0.5em;
	height: 0.5em;
	border-style: solid;
	border-width: 0.125em 0.125em 0 0;
}
[open] > .g-btn-agree-to-view {
	background: #ccc;
}
[open] > .g-btn-agree-to-view::after {
	transform: rotate(-45deg);
}
:not([open]) > .g-btn-agree-to-view::after {
	transform: rotate(135deg);
}

/* & btn > registry */
.g-btn-registry {
	color: #fff;
	background: #f00;
}

/* & btn > contact */
.g-btn-contact {
	color: #fff;
	background: #f00;
}

/* & btn > index */
.g-btn-index {
	line-height: 1.33;
	text-decoration: none;
	background: #fff;
	border: 1px solid #bbb;
	border-radius: 99rem;
	padding: 0.7em 1.75em;
}
.g-btn-index:hover {
	background: #ffd8d8;
}

/* & btn > info */
.g-btn-info {
	color: #333;
	background: #fff;
}
.g-btn-info--with-icon {
	display: grid;
	grid-template-columns: 1fr auto;
	/* place-items: center; */ /* bug for Safari 230407 */
	grid-gap: 1em;
}
.g-icon-info {
	line-height: 1;
	font-size: 0.625rem;
	text-align: center;
	color: #fff;
	background: #000;
	width: 1.8em;
	height: 1.8em;
	border-radius: 99em;
	display: inline-grid;
	place-items: center;
}

/* @ With icon */
.g-with-icon {
	display: inline-flex;
	align-items: center;
	gap: 0.75em;
}
.g-with-icon > img {
	max-width: 2em;
	max-height: 2em;
	object-fit: cover;
}

/* @ thumbnail image */
.g-thumb {
}
.g-thumb--64 {
	width: 4rem;
}

/* @ With picture */
.g-with-pict {
	display: flex;
	align-items: center;
	gap: min(3.75rem, 4vw);
}
.g-with-pict > * {
	flex: 1 1 auto;
	margin: 0 !important;
}
.g-with-pict__img {
	flex: 0 0 auto;
	align-self: flex-start;
}
.g-with-pict__img--reverse {
	order: 1;
}
@media (min-width: 641px) {
	.g-with-pict__img {
		max-width: 50%;
	}
}
@media (max-width: 640px) {
	.g-with-pict {
		flex-direction: column;
	}
	.g-with-pict__img {
		max-width: 80%;
		align-self: center;
	}
	.g-with-pict__img--fit {
		width: 100%;
		max-width: none;
	}
}

/* @ halp picture */
.g-half-pict {
	display: grid;
	gap: min(4vw, 3.75rem);
}
.g-half-pict > :where(img) {
	width: 100%;
}
@media (min-width: 640px) {
	.g-half-pict {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* @ Nav */
.g-nav:where(ul, ol) {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1rem;
}
.g-nav--vertical {
	flex-direction: column;
}
.g-nav--vertical > * {
	width: 100%; /* fix for safari */
}
.g-list-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-nav-fill > * {
	flex: 1 1 auto;
}
.g-nav--fill > * {
	flex: 1 1 calc(25% - 1rem);
}
@media (max-width: 640px) {
	.g-nav--fill {
		flex-direction: column;
	}
}
.g-nav-wide > * {
	width: min(20rem, 100%);
}

.g-nav-justify,
.g-nav-justify-reverse {
	justify-content: space-between;
}
.g-nav-justify-reverse {
	flex-direction: row-reverse;
}

/* & nav > index */
.g-nav--index {
	font-size: 0.875em;
	justify-content: flex-start;
	gap: 0.625rem;
}

/* & nav > submenu */
.g-nav-submenu {
	font-size: 1rem; /* for legacy */
	gap: 0;
	border-block: 1px solid #b8b8b8;
	padding-block: 1.333em;
}
.g-nav-submenu > * + *::before {
	content: "";
	display: inline-block;
	height: 1em;
	vertical-align: middle;
	border-left: 2px solid #b8b8b8;
	margin-inline: 1rem;
}
.g-nav-submenu :where(:link, :visited) {
	color: inherit;
}
.g-nav-submenu :where(:link:not(:hover)) {
	text-decoration: none;
}
.g-nav-submenu :where(.is-current) {
	text-decoration: underline;
	opacity: 0.333;
	pointer-events: none;
}

/* & nav > company > outline */
@media (min-width: 641px) {
	.g-nav-company-outline {
		justify-content: flex-start;
	}
}

/* & gnav text */
.g-nav-text:where(ul, ol) {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-nav-text {
	display: flex;
	justify-content: center;
	gap: 0.5em;
}
.g-nav-text > * + *::before {
	content: "｜";
	margin-right: 0.5em;
}

/* @ ornament */
.g-hr {
	color: inherit;
	border-style: solid;
	border-width: 0 0 1px;
	margin: 1rem 0;
}
.g-hr--infinite {
	border-image: linear-gradient(currentcolor, currentcolor) 1 / 0 0 1px 0 / 0
		100vw;
}

/* @ table */
.g-tbl {
	line-height: 1.5;
	min-width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.g-tbl__cell {
	font-weight: normal;
	text-align: left;
	border: 1px solid #ccc;
	padding: 1em;
}
.g-tbl__header {
	background: #f8f8f8;
}
.g-tbl__header .g-tbl__cell {
	text-align: center;
	font-weight: bold;
}

/* & slim */
.g-tbl--slim {
	font-size: 0.75em;
}
.g-tbl--slim :where(.g-tbl__cell) {
	padding: 0.5em;
}

/* & privacy */
.g-tbl--privacy {
	min-width: 32rem;
}

/* @ data column */
.g-data-col > * + * {
	margin-block-start: 1.875rem;
}
.g-data-col__title {
	line-height: 1.5;
	font-size: 1.125em;
	font-weight: bold;
	margin: 0;
}
.g-data-col__body > * {
	margin-block: 0 !important;
}
.g-data-col__body > * + * {
	margin-block-start: 1em !important;
}
@media (min-width: 641px) {
	.g-data-col__sect {
		display: grid;
		grid-template-columns: minmax(auto, 12em) 1fr;
		gap: min(3.75rem, 4vw);
	}
	.g-data-col__body {
		border-image: linear-gradient(#ccc, #ccc) 1 / 0 0 0 1px / 1.875rem 0 0
			calc(min(3.75rem, 4vw) / 2);
	}
	@supports (grid-template-columns: subgrid) {
		.g-data-col {
			display: grid;
			grid-template-columns: auto 1fr;
		}
		.g-data-col__sect {
			grid-template-columns: subgrid;
			grid-column: span 2;
		}
	}
}
@media (max-width: 640px) {
	.g-data-col__body {
		border-top: 1px solid #ccc;
		border-image: none;
		margin-top: 0.5em;
		padding-top: 0.5em;
	}
}

/* @ form > send button */
.g-nav--form {
	font-size: 1.25em;
	font-weight: bold;
}
.g-nav--form > * {
	min-width: 40%;
}
.g-btn-form {
	color: #fff;
	background: #b5b5b5;
}
.g-btn-form--back {
}
.g-btn-form--next {
	background: #f00;
}

/* @ form > text and notes */
.g-label {
	line-height: 1.33;
	font-size: 0.75em;
	background: #e5e5e5;
	color: #fff;
	display: inline-block;
	vertical-align: baseline;
	padding: 0.25em 0.5em;
}
.g-label-require {
	background: #f00;
}

.g-dialog {
	line-height: 1.5;
	font-size: 0.875em;
	margin: 0;
}
* + .g-dialog {
	margin-top: 0.5em;
}
.g-dialog-desc {
	color: #666;
}
.g-dialog-example {
	color: #999;
}
.g-dialog-error {
	color: #f00;
}
.g-dialog-attention {
	color: #c00;
}

/* @ form > input framework */
.g-formgrid {
	min-width: 100%;
}
@media (min-width: 641px) {
	.g-formgrid {
		table-layout: fixed;
		border-collapse: collapse;
	}
	.g-formgrid__head,
	.g-formgrid__body {
		text-align: left;
		vertical-align: top;
		border: 1px solid #ccc;
		padding: 1em;
	}
	.g-formgrid__head {
		font-weight: normal;
		background: #f8f8f8;
		width: 30%;
	}
	.g-formgrid__body {
		padding-left: 1em;
	}
	/* .g-formgrid{
		table-layout: fixed;
		border-collapse: collapse;
	}
	.g-formgrid__head,
	.g-formgrid__body{
		text-align: left;
		vertical-align: top;
		border-bottom: 1px solid #b5b5b5;
		padding: 1em 0;
	}
	.g-formgrid__head{
		font-weight: normal;
		width: 30%;
	}
	.g-formgrid__body{
		padding-left: 1em;
	} */
}
@media (max-width: 640px) {
	.g-formgrid tr {
		display: grid;
		/* grid-gap: .5em; */
		/* word-break: break-all; */ /* 表示確認の為：230406 */

		border-color: #ccc;
		border-style: solid;
		border-width: 1px 1px 0;
	}
	.g-formgrid tr:last-child {
		border-bottom: 1px solid #ccc;
	}
	/* .g-formgrid tr::after{
		content: "";
		border-bottom: 1px solid #b5b5b5;
		margin: .5em 0;
	} */
	.g-formgrid__head,
	.g-formgrid__body {
		padding: 1em;
		box-sizing: border-box;
	}
	.g-formgrid__head {
		text-align: left;
		background: #f8f8f8;
		border-bottom: 1px solid #ccc;
	}
	/* .g-formgrid tr{
		display: grid;
		grid-gap: .5em;
	}
	.g-formgrid tr::after{
		content: "";
		border-bottom: 1px solid #b5b5b5;
		margin: .5em 0;
	}
	.g-formgrid__head{
		text-align: left;
	} */
}

/* @ form > input group */
.g-option-list {
	display: flex;
	flex-wrap: wrap;
}
.g-option-list--vertical {
	flex-direction: column;
	align-items: flex-start;
}
@media (min-width: 641px) {
	.g-option-list {
		gap: 0 1em;
	}
}
@media (max-width: 768px) {
	.g-option-list {
		flex-direction: column;
		gap: 0.25em 1em;
	}
}

/* @ form > input field beside */
.g-field-beside {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em 1em;
}
* + .g-field-beside {
	margin-top: 1em;
}
@media (max-width: 640px) {
	.g-field-beside {
		flex-wrap: wrap;
	}
}
.g-field-beside--fit > :not(:last-child) {
	flex: 1 1 auto;
}
.g-field-beside--fit > :last-child {
	flex: 0 0 auto;
}

/* @ form > input parts */
.g-input {
	line-height: 1.5;
	font-size: max(1em, 16px);
	background: #fff;
	border: 0.125rem solid #ccc;
	box-sizing: border-box;
	padding: 0.5em;
}
.g-input:not([size], select) {
	width: 100%;
}
.g-input:where(select) {
	width: 100%;
	max-width: max-content;
}
.g-input::placeholder {
	opacity: 0.4;
}
.g-input:focus::placeholder {
	opacity: 0.2;
}
.g-input--error {
	color: #f00;
	border-color: currentcolor;
}

/* @ form > input with button */
.g-input-with-button {
	border: 0.125rem solid #ccc;
	display: flex;
	gap: 2px;
	padding: 2px;
}
.g-input--with-button {
	flex: 1 1 auto;
}
.g-input--with-button {
	border: 0;
}
.g-input-with-button__button {
	color: #fff;
	background: #e60012;
	cursor: pointer;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 0.75rem;
}
.g-input-with-button__icon {
	width: 1.125rem;
	object-fit: contain;
}

/* @ form > input with text */
.g-input-with-text {
	display: flex;
	align-items: center;
	gap: 1em;
}
.g-input-with-text > :not(.g-input-with-text__text) {
	flex: 1 1 auto;
}
.g-input-with-text__text {
	flex: 0 0 auto;
}

/* @ Folder (Accordion) */
.g-folder > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-block-start: 1.0em;
	padding-block-end: 1.0em;
}
.g-folder > summary::-webkit-details-marker {
	display: none;
}
.g-folder > summary::after {
	line-height: 1;
	font-size: 1.25rem;
	font-weight: normal;
}
.g-folder[open] > summary::after {
	content: "－";
}
.g-folder:not([open]) > summary::after {
	content: "＋";
}
.g-folder[open] > :not(summary) {
	animation: fadein 666ms cubic-bezier(0.16, 1, 0.3, 1);
}
.g-folder > summary p {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* & skin */
.g-folder--skin1 {
	border: 0.3125rem solid #ddd;
	padding: 1rem;
}

/* @ Pulldown */
.g-pulldw {
	position: relative;
	z-index: 0;
}
.g-pulldw__vew {
	cursor: pointer;
	list-style: none;
}
.g-pulldw__vew::-webkit-details-marker {
	display: none;
}
.g-pulldw__draw {
	background: #fff;
	position: absolute;
	left: 0;
	right: 0;
	white-space: nowrap;
}
@supports (width: max-content) {
	.g-pulldw__draw {
		width: max-content;
		white-space: inherit;
	}
}
.g-pulldw[open] .g-pulldw__draw {
	animation: fadein 666ms cubic-bezier(0.16, 1, 0.3, 1);
}
.g-pulldw[open] .g-pulldw__vew {
}
.g-pulldw:not([open]) .g-pulldw__vew {
}

/* @ glossary */
.g-glossary {
	display: grid;
}
.g-glossary > * {
	margin: 0;
	padding: 0;
}
.g-glossary__name::after {
	content: "：";
}
@media (min-width: 641px) {
	.g-glossary {
		grid-template-columns: auto 1fr;
	}
}
@media (max-width: 640px) {
	* + .g-glossary__name {
		margin-top: 1em;
	}
}

/* @ tab */
.g-tab {
	display: flex;
}
.g-tab__item {
	line-height: 1.5;
	border-style: solid;
	padding: 0.75em 2em;
}
.g-tab__item:is(:hover, :visited) {
	color: inherit;
}
.g-tab__item:link:not(:hover) {
	text-decoration: none;
}
.g-tab__item:last-child {
	border-right-width: 1px;
}
@media (min-width: 641px) {
	.g-tab {
		border-bottom: 1px solid;
	}
	.g-tab__item {
		border-style: solid;
		border-width: 1px 0 0 1px;
	}
}
@media (max-width: 640px) {
	.g-tab {
		overflow: auto;
	}
	.g-tab.g-sitewidth {
		width: auto;
		padding-left: 4vw;
		padding-right: 4vw;
	}
	.g-tab__item {
		flex: 0 0 auto;
		border-width: 1px 0 1px 1px;
	}
}
.g-tab__item.is-tab-active {
	font-weight: bold;
	color: #fff;
	background: #000;
	border-width: 0;
}
.g-tab__item:not(.is-tab-active) {
	opacity: 0.5;
}
.g-tab-content {
	animation: fadein 666ms cubic-bezier(0.16, 1, 0.3, 1);
}
.g-tab-content:not(.is-tab-active) {
	display: none;
}

/*------------------
 @ global layout
------------------*/

/* @ anchor */
@media (min-width: 1024px) {
	.g-anchor {
		scroll-margin-top: 5rem;
	}
}
@media (max-width: 1023px) {
	.g-anchor {
		scroll-margin-top: 4.28rem;
	}
}
/* since 2022.10 */
@supports not (scroll-margin-top: 0) {
	.g-anchor {
		display: block;
	}
	@media (min-width: 1024px) {
		.g-anchor {
			margin-top: -5rem;
			padding-top: 5rem;
		}
	}
	@media (max-width: 1023px) {
		.g-anchor {
			margin-top: -4.28rem;
			padding-top: 4.28rem;
		}
	}
}
/* since 2022.10 */

/* @ Wrapper */

/* for old layout compatible */
.g-contents::after {
	content: "";
	display: block;
	clear: both;
}
.g-container {
	padding-top: var(--g-header-height);
}
.g-container [id],
.g-container [name] {
	scroll-margin-top: var(--g-header-height);
}
@media print {
	.g-container {
		padding-top: 0;
	}
	.g-container > :not(.g-main) {
		display: none !important;
	}
	.g-main {
		margin-bottom: 0;
	}
}

/* @ Header */
.g-header {
	background: #f8f8f8;
	border-style: solid;
	border-width: 0 0 1px 0.875rem;
	border-image: linear-gradient(#000 36%, #fd3a3a 36%) 1;
}
.g-header > * {
}
.g-header > .g-head-logo {
	flex: 0 1 auto;
}
.g-header > .g-menu {
	flex: 1 1 auto;
}

@media (min-width: 1024px) {
	.g-header {
		font-size: min(1rem, 1.0625vw);
		box-sizing: border-box;
		height: var(--g-header-height);
		/* position: relative;
		z-index: 1; */

		/* position: sticky; */
		position: fixed;
		z-index: 1;
		top: 0;
		left: 0;
		right: 0;

		display: flex;
		gap: 2.5rem;
		/* padding: .875rem .875rem 0 1.625rem; */
		padding: 0.5rem 0.875rem 0 1.625rem;
	}
	.g-mainnav {
		flex: 1 1 auto;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 1.875rem;
	}
	.g-header__toggle {
		display: none;
	}
}
@media (max-width: 1023px) {
	.g-header {
		position: fixed;
		z-index: 1;
		top: 0;
		left: 0;
		right: 0;
		transition: height 333ms;
	}
	#drawer-switch:not(:checked) ~ .g-header {
		height: var(--g-header-height);
		display: flex;
		align-items: center;
		gap: 1rem;
		padding: 0 1.25rem;
		padding-left: max(1.25rem, env(safe-area-inset-left));
		padding-right: max(1.25rem, env(safe-area-inset-right));
	}
	#drawer-switch:checked ~ .g-header {
		z-index: 2;
		bottom: 0;
		overflow: auto;
		overscroll-behavior-y: contain;
		border: 0;
		padding: 8vw;

		animation: g-header-toggle 333ms;
	}
	#drawer-switch:checked ~ .g-header .g-head-logo {
		position: sticky;
		z-index: 1;
		top: -8vw;
		background: inherit;
	}
	#drawer-switch:not(:checked) ~ .g-header .g-menu {
		display: inline;
	}
	.g-header__toggle {
		line-height: 1;
		font-size: 0.625rem;
		flex: 0 0 auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 0.5em;
	}
	.g-header__toggle::before {
		content: "";
		flex: 0 0 auto;
		width: 1.75rem;
		height: 1.75rem;
	}
	.g-header__toggle--open::before {
		background: url(../_img2/base/ui-toggle-open.webp) no-repeat center /
			contain;
	}
	.g-header__toggle--close::before {
		background: url(../_img2/base/ui-toggle-close.webp) no-repeat center /
			contain;
	}
	#drawer-switch:checked ~ .g-header .g-header__toggle--open,
	#drawer-switch:not(:checked) ~ .g-header .g-header__toggle--close {
		display: none;
	}
}
@media print {
	.g-header {
		position: sticky;
	}
}

/* @ Header > login */
.ui-login {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.ui-login__nav {
	color: #f00;
	flex: 0 0 auto;
}
.ui-login__nav:not(:hover) {
	text-decoration: none;
}

/* @ Header > login > user */
.ui-user {
	line-height: 1.33;
	color: #fff;
	background: #f00;
	border-radius: 99rem;
	overflow: hidden;
	display: flex;
	gap: 0.5em;
	padding-right: 1.5em;
}
.ui-user:not(:hover) {
	text-decoration: none;
}
.ui-user__icon {
	flex: 0 0 auto;
	border: 1px solid #f00;
	border-radius: 99rem;
}
.ui-user__name,
.ui-user__title {
	align-self: center;
}
.ui-user__name {
	flex: 1 1 auto;
	text-align: center;
	text-overflow: ellipsis;
	margin: 0;
}
.ui-user__title {
	font-size: 0.75em;
}
.ui-user:not(:lang("ja")),
.ui-user__title:not(:lang("ja")) {
	display: none;
}

/* @ Header > menu */
@media (min-width: 1024px) {
	.g-menu {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 0.25rem;
	}
}

/* @ Header > user menu */
.g-user-menu {
	line-height: 1.33;
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-user-menu__item {
}
.g-user-menu__more {
	color: inherit;
}
.g-user-menu__more:not(:hover) {
	text-decoration: none;
}
.g-user-menu__icon {
	display: flex;
	align-items: center;
	gap: 0.375rem;
}
.g-user-menu__icon::before {
	content: "";
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.g-user-menu__icon.g-user-menu__item--company::before {
	background-image: url(../_img2/base/icon-company.svg);
}
.g-user-menu__icon.g-user-menu__item--recruit::before {
	background-image: url(../_img2/base/icon-recruit.svg);
}
.g-user-menu__icon.g-user-menu__item--distribute::before {
	background-image: url(../_img2/base/icon-distributor.svg);
}
.g-user-menu__icon.g-user-menu__item--lang::before {
	background-image: url(../_img2/base/icon-lang.svg);
}
.g-user-menu__icon.g-user-menu__item--price::before {
	background-image: url(../_img2/base/icon-price.svg);
}
.g-user-menu__icon.g-user-menu__item--store::before {
	background-image: url(../_img2/base/icon-store.svg);
}
@media (min-width: 1024px) {
	.g-user-menu {
		font-size: 0.875em;
		display: flex;
		align-items: center;
		gap: 1rem;
	}
	.g-officialsns__ttl {
		display: none;
	}
	.g-user-menu__item--sns {
		order: 1;
	}
	.g-user-menu__item--sns .g-officialsns__list {
		gap: 0.75em;
	}
	:root[lang="ja"]:not(.translated-ltr) .g-user-menu__item--sns {
		display: none;
	}
	/* :lang('ja') .g-user-menu__item--sns{
		display: none;
	} */
}
@media (max-width: 1023px) {
	.g-user-menu {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem 1.75rem;
	}

	#drawer-switch:not(:checked) ~ .g-header .g-user-menu {
		justify-content: flex-end;
	}
	#drawer-switch:checked ~ .g-header .g-user-menu {
		justify-content: center;
	}

	.g-user-menu > * {
		flex: 0 0 auto;
	}
	.g-user-menu__item--sns {
		flex: 1 1 100%;
		margin-bottom: 0.75rem;
	}
}

/* @ Header > Logo */
.g-head-logo {
	margin: 0;
}
.g-head-logo__home {
}
.g-head-logo__data {
	width: 13.6875rem;
}

@media (min-width: 1024px) {
	.g-head-logo {
		align-self: center;
	}
}
@media (max-width: 1023px) {
	.g-head-logo {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.g-head-logo__home {
		display: block;
		width: 28.666vw;
	}
}

/* @ Header > Language */
:root[lang="en"] .g-current-lang:not(.g-current-lang--en),
:root[lang="en-sg"] .g-current-lang:not(.g-current-lang--en-sg),
:root[lang="fr"] .g-current-lang:not(.g-current-lang--fr),
:root[lang="de"] .g-current-lang:not(.g-current-lang--de),
:root[lang="it"] .g-current-lang:not(.g-current-lang--it),
:root[lang="zh-cn"] .g-current-lang:not(.g-current-lang--zh-cn),
:root[lang="ko"] .g-current-lang:not(.g-current-lang--ko),
:root[lang="ja"] .g-current-lang:not(.g-current-lang--ja),
:root[lang="th"] .g-current-lang:not(.g-current-lang--th),
:root[lang="zh-tw"] .g-current-lang:not(.g-current-lang--zh-tw),
:root[lang="es-es"] .g-current-lang:not(.g-current-lang--es-es),
:root[lang="es-mx"] .g-current-lang:not(.g-current-lang--es-mx),
:root[lang="en-gb"] .g-current-lang:not(.g-current-lang--en-gb) {
	display: none;
}
:root[lang="en"] .g-language__item[hreflang="en"],
:root[lang="en-sg"] .g-language__item[hreflang="en-sg"],
:root[lang="fr"] .g-language__item[hreflang="fr"],
:root[lang="de"] .g-language__item[hreflang="de"],
:root[lang="it"] .g-language__item[hreflang="it"],
:root[lang="zh-cn"] .g-language__item[hreflang="zh-cn"],
:root[lang="ko"] .g-language__item[hreflang="ko"],
:root[lang="ja"] .g-language__item[hreflang="ja"],
:root[lang="th"] .g-language__item[hreflang="th"],
:root[lang="zh-tw"] .g-language__item[hreflang="zh-tw"],
:root[lang="es-es"] .g-language__item[hreflang="es-es"],
:root[lang="es-mx"] .g-language__item[hreflang="es-mx"],
:root[lang="en-gb"] .g-current-lang:not(.g-current-lang--en-gb) {
	background: #f8d0d0;
	pointer-events: none;
}
.g-current-lang {
}

.g-pulldw--language {
	position: relative;
	z-index: 1;
}
.g-pulldw--language .g-pulldw__draw {
	background: #f8f8f8;
}

.g-language {
	display: flex;
	flex-direction: column;
	padding: min(4vw, 3.75em);
}
.g-language__item {
	text-decoration: none;
	color: inherit;
	display: flex;
	align-items: center;
	gap: 0.75em;
	padding: 0.5em 1em;
}
.g-language__item:hover {
	background: #f8d0d0;
}
.g-language__item::before {
	content: "";
	width: 0.25em;
	height: 0.25em;
	border-style: solid;
	border-width: 1px 1px 0 0;
	transform: rotate(45deg);
}
/* .g-language__item::before{
	content: "";
	display: block;
	flex: 0 0 auto;
	width: 1.57em;
	height: 1.14em;
} */
/* .g-language__item[hreflang='en']::before{ background: url(../_img2/base/lang-en.gif); } */
/* .g-language__item[hreflang='en-sg']::before{ background: url(../_img2/base/lang-ap.gif); } */
/* .g-language__item[hreflang='fr']::before{ background: url(../_img2/base/lang-fr.gif); } */
/* .g-language__item[hreflang='de']::before{ background: url(../_img2/base/lang-de.gif); } */
/* .g-language__item[hreflang='it']::before{ background: url(../_img2/base/lang-it.gif); } */
/* .g-language__item[hreflang='zh-cn']::before{ background: url(../_img2/base/lang-cn.gif); } */
/* .g-language__item[hreflang='ko']::before{ background: url(../_img2/base/lang-kr.gif); } */
/* .g-language__item[hreflang='ja']::before{ background: url(../_img2/base/lang-ja.gif); } */
/* .g-language__item[hreflang='th']::before{ background: url(../_img2/base/lang-th.gif); } */
/* .g-language__item[hreflang='zh-tw']::before{ background: url(../_img2/base/lang-tw.gif); } */
/* .g-language__item[hreflang='es-es']::before{ background: url(../_img2/base/lang-es.gif); } */
/* .g-language__item[hreflang='es-mx']::before{ background: url(../_img2/base/lang-mx.gif); } */
@media (min-width: 1024px) {
	.g-pulldw--language {
		font-size: 1rem;
	}
	.g-pulldw--language:not([open]) {
		font-size: 0.875em;
	}
}
@media (min-width: 769px) {
	.g-language {
		width: 30em;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
	}
}
/* modify (PC/SP統一) @ 230307 */
/* @media (max-width: 1023px){
	.g-pulldw--language{
		position: relative;
		z-index: 0;
	}
	.g-pulldw--language .g-pulldw__draw{
		position: absolute;
		right: 0;
		bottom: 100%;
	}
	.g-language{
		font-size: 1.125em;
	}
	.g-language__item{
		padding: .75em 1.25em;
	}
} */

/* @media (min-width: 1024px){ */
/* modify (PC/SP統一) @ 230307 */
.g-pulldw--language[open] {
	position: relative;
	z-index: 1;
}
.g-pulldw--language[open] .g-pulldw__vew {
	text-indent: -99rem;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(0.25rem);
}
.g-pulldw--language[open] .g-pulldw__draw {
	height: min-content;
	max-height: 80vh;
	max-width: 80vw;
	overflow: auto;
	overscroll-behavior-y: contain;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
/* modify (PC/SP統一) @ 230307 */
/* } */
/* modify (PC/SP統一) @ 230307 */

/* @ Header > gnav */
.g-gnav {
	/* word-break: break-all; */ /* 表示確認の為：230406 */
	/* position: relative; */ /* @221012 */
	z-index: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-gnav__more {
	line-height: 1.1;
	font-size: 1.125em;
	text-decoration: none;
	color: inherit;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	position: relative;
	z-index: 0;
}
/* .g-gnav__more::after{
	content: "";
	flex: 0 0 auto;
	width: .5625rem;
	height: .5625rem;
	background: url(../_img2/base/icon-gnav.gif) no-repeat center / contain;
	display: block;
	margin-left: .5em;
} */
@media (min-width: 1024px) {
	.g-gnav {
		display: flex;
		height: 100%;
	}
	.g-gnav__item {
		/* position: relative; */ /* @221012 */
		display: flex;
		align-items: center;
		/* padding: 1em 0; */
	}
	.g-gnav__item + .g-gnav__item::before {
		content: "";
		border-left: 1px solid;
		height: 1.125em;
		margin: 0 min(1.5rem, 1.5vw);
	}
	.g-gnav__more::before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -0.5em;
		border-bottom: 2px solid #fd3a3a;
		margin: 0 auto;
		width: 100%;
		transition: 666ms cubic-bezier(0.16, 1, 0.3, 1);
	}
	.g-gnav__item:not(:hover) .g-gnav__more::before {
		width: 0;
	}
	.g-gnav__item.js-mega--passive {
		opacity: 0.333;
	}
}
@media (max-width: 1023px) {
	#drawer-switch:not(:checked) ~ .g-header .g-mainnav,
	#drawer-switch:not(:checked) ~ .g-header .g-user-menu__item--sns,
	#drawer-switch:not(:checked) ~ .g-header .g-user-menu__item--distribute,
	#drawer-switch:not(:checked) ~ .g-header .g-user-menu__item--lang,
	#drawer-switch:not(:checked) ~ .g-header .g-user-menu__item--price,
	#drawer-switch:not(:checked) ~ .g-header .g-user-menu__item--company,
	#drawer-switch:not(:checked) ~ .g-header .g-user-menu__item--recruit,
	#drawer-switch:not(:checked) ~ .g-header .ui-user__name,
	#drawer-switch:not(:checked) ~ .g-header .ui-user__title,
	#drawer-switch:checked ~ .g-header .g-user-menu__item--user,
	#drawer-switch:checked ~ .g-header .g-asidenav {
		display: none;
	}
	.g-header,
	.g-menu,
	.g-mainnav {
		display: grid;
		grid-template-rows: auto 1fr;
		grid-gap: 2.5rem;
	}
	.g-header__toggle {
		order: 3;
	}
	.g-head-logo {
		order: 1;
	}
	.g-menu {
		order: 2;
	}
	.g-user-menu {
		order: 2;
	}
	.g-mainnav {
		order: 1;
	}
	.g-gnav {
		order: 2;
	}
	.g-kw-search {
		order: 1;
	}
	#drawer-switch:not(:checked) ~ .g-header .ui-user {
		padding-right: 0;
	}
	.g-gnav {
		border-top: 1px solid;
	}
	.g-gnav__more {
		font-size: 1.25em;
		border-bottom: 1px solid;
		padding: 1em 0;
	}
	.g-gnav__item.js-mega--active .g-gnav__more {
		border-bottom: 3px solid #f00;
	}
}

/* @ Header > gnav > mega */
.g-mega-group {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
}
.g-mega__title {
	line-height: 1.33;
	font-weight: normal;
	color: #f00;
	border-left: 0.375rem solid;
	margin: 0 0 1em;
}
.g-meganav {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-meganav__title {
	font-weight: bold;
}
.g-meganav__more {
	line-height: 1.5;
	color: inherit;
	display: inline-flex;
	align-items: center;
	gap: 1em;
}
.g-meganav__more:hover {
	background: #f8f8f8;
}
.g-meganav__more::before {
	content: "› ";
}
.g-meganav__thumb {
	height: 3em;
}

@media (min-width: 1024px) {
	.g-mega {
		position: fixed;
		z-index: 0;
		inset: var(--g-header-height) 0 auto;
		transition: 333ms cubic-bezier(0.16, 1, 0.3, 1);
		transition-property: opacity visibility;
	}
	.js-mega--active .g-mega {
		z-index: 1;
		height: 100vh;	/**	20240726	*/
	}
	.g-mega__bg {
		position: absolute;
		z-index: -1;
		inset: 0;
		background: rgba(0, 0, 0, 0.125);
		backdrop-filter: blur(0.25rem);
	}
	.js-mega:not(.js-mega--active) .g-mega__bg {
		pointer-events: none;
	}
	.g-mega__body {
		/* background: #f8f8f8; */
		background: #fff;
		box-sizing: border-box;
		overflow: auto;
		max-height: calc(100vh - 5rem - 6rem);
		margin: 3rem 4vw;
		padding: 2.5rem 5rem;

		box-shadow: 0 0 0.333rem rgba(0, 0, 0, 0.333);
	}
	.g-meganav {
		display: grid;
		/* grid-template-columns: repeat(auto-fit, minmax(15em, 1fr)); */
		grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));
		grid-gap: 0.75em 2.5rem;
	}
	.g-meganav--vertical {
		grid-template-columns: 1fr;
	}
	.g-meganav--sub {
		margin-left: 1rem;
	}
	.g-meganav--sub + * {
		margin-top: 0.75rem;
	}
	.g-meganav__more:not(:hover) {
		text-decoration: none;
	}
	.js-mega:not(.js-mega--active) .g-mega {
		opacity: 0;
		visibility: hidden;
	}
	.g-mega__title {
		font-size: 1.375em;
		padding: 0.5rem 0 0.5rem 1rem;
	}
}
@media (max-width: 1023px) {
	.g-mega {
		color: #595757;
		margin-top: 1.78rem;
		animation: fadein 333ms cubic-bezier(0.16, 1, 0.3, 1);
	}
	.js-mega:not(.js-mega--active) .g-mega {
		display: none;
	}
	.g-mega-group {
		flex-direction: column;
	}
	.g-mega__title {
		font-size: 1em;
		padding: 0.125em 0 0.125em 0.75em;
	}
	.g-meganav {
		margin-left: 1.25em;
	}
	.g-meganav > * + * {
		margin-top: 0.33em;
	}
	.g-meganav__item {
		border-bottom: 1px solid #ccc;
	}
	.g-meganav__more {
		font-size: 0.933em;
		text-decoration: none;
		display: block;
		padding: 0.75em 0;
	}
}

/* @ Header > Gnav > megaSection */
.g-megasect__more {
	/* border: 3px solid red; */
	color: inherit;
}
.g-megasect__more:not(:hover) {
	text-decoration: none;
}
@media (min-width: 1024px) {
	.g-megasect {
		display: flex;
		align-items: center;
		justify-content: space-between;
		/* gap: 2.5rem; */
		gap: 8vw;
	}
	* + .g-megasect {
		margin-top: 3.75rem;
	}
	.g-megasect__head {
		flex: 0 0 12em;
		line-height: 1.33;
		font-size: 1.25em;
		font-weight: bold;
		border-left: 0.333em solid #f00;
		margin: 0;
		padding-left: 0.5em;
	}
	.g-megasect__body {
		flex: 1 1 0;
	}
	/* todo : メガ展開時だけヘルプメニュー消す */
	/* .g-help{
		display: none;
	} */

	/* todo @@@ 221122 */
	/* & mega body > side by side */
	.g-mega__body--side-by-side {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
		grid-gap: min(4vw, 5rem);
	}
	.g-mega__body--side-by-side > * {
		display: revert;
		margin-top: revert;
	}
	:where(.g-mega__body--side-by-side) .g-megasect__head {
		margin-bottom: 1em;
	}
	/* todo @@@ 221122 */
}

/* @ Header > Gnav > megathumb */
.g-megathumb {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-megathumb__more {
	line-height: 1.33;
	color: inherit;
	display: flex;
	align-items: center;
}
.g-megathumb__more:not(:hover) {
	text-decoration: none;
}
.g-megathumb__name {
	font-size: 0.875em;
	font-weight: bold;
}
@media (min-width: 1024px) {
	.g-megathumb {
		display: grid;
		grid-template-columns: repeat(auto-fit, 9em);
		grid-gap: 1.25em;
	}
	.g-megathumb__more {
		text-align: center;
		flex-direction: column;
		gap: 0.25rem;
	}
	.g-megathumb__thumb {
		max-width: 6.25rem;
	}
}
@media (max-width: 1023px) {
	.g-megathumb {
		margin-left: 1.25rem;
	}
	.g-megathumb__more {
		border-bottom: 1px solid #ccc;
		gap: 1rem;
		padding: 0.75rem 0;
	}
	.g-megathumb__thumb {
		max-width: 3.25rem;
	}
}

/* @ kw search */
.g-kw-search {
	position: relative;
	z-index: 0;
}
.g-kw-search__toggle {
	line-height: 1.1;
	color: #f00;
	background: #fff;
	border: 2px solid;
	border-radius: 0.3125rem;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	grid-gap: 1em;
	padding: 0.33em 0.75rem;
}
.g-kw-search__toggle::before {
	content: "";
	flex: 0 0 auto;
	display: block;
	width: 1.25em;
	height: 1.25em;
	max-width: 20px;
	max-height: 20px;
	background: url(../_img2/base/icon-search.svg) no-repeat center / contain;
}
.g-kw-search__body {
	background: #fff;
	border: 2px solid #f00;
	padding: 1.25rem;
}
.g-kw-search__close {
	line-height: 1.33;
	font-size: 0.875em;
	text-align: center;
	color: #fff;
	background: #999;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 1.25rem -1.25rem -1.25rem;
	padding: 0.33em;
}
.g-kw-search__close::before {
	content: "";
	border-style: solid;
	border-width: 1px 0 0 1px;
	display: block;
	width: 0.75em;
	height: 0.75em;
	transform: translateY(50%) rotate(45deg);
	margin-right: 0.75rem;
}
.g-kw-search__state:checked ~ .g-kw-search__toggle {
	border-bottom: 0;
	border-radius: 0.3125rem 0.3125rem 0 0;
}
@media (min-width: 1024px) {
	.g-kw-search__body {
		position: absolute;
		top: calc(100% - 2px);
		right: 0;
		box-shadow: 0 0 0.5rem 1px rgb(0, 0, 0, 0.3);
		transition: 666ms cubic-bezier(0.16, 1, 0.3, 1);
		transition-property: opacity visibility;
	}
	.g-kw-search__state:not(:checked) ~ .g-kw-search__body {
		opacity: 0;
		visibility: hidden;
	}
}
@media (max-width: 1023px) {
	.g-kw-search__state:not(:checked) ~ .g-kw-search__body {
		display: none;
	}
	.g-kw-search__state:checked ~ .g-kw-search__body {
		border-top: 0;
		animation: fadein 333ms cubic-bezier(0.16, 1, 0.3, 1);
	}
}

/* @ kw search > kw form */
.g-kw-form {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1.5rem;
}
.g-input---kw-form {
	width: 18em;
}
.g-btn--kw-form {
	cursor: pointer;
	font-size: 1.125em;
	font-weight: bold;
	color: #fff;
	background: #f00;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: 0.5em;
	min-width: 12.5rem;
	box-shadow: 0 2px 0 0 #ccc;
	border: 0;
	padding: 0.5em;
	padding-right: calc(1.875rem + 0.5em);
}
.g-btn--kw-form::before {
	content: "";
	display: block;
	width: 1.875rem;
	height: 1.875rem;
	background: url(../_img2/base/icon-search2.svg) no-repeat center / contain;
	grid-column: 1;
	grid-row: 1;
}
@media (max-width: 1023px) {
	.g-input---kw-form {
		width: 100%;
	}
}

/* remove @ 230105 */
/* @ Aside Nav */
/* .g-asidenav{
	display: flex;
	flex-wrap: wrap;
	gap: .333em;
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-asidenav__item{
	flex: 0 0 auto;
}
:lang('ja').g-asidenav{
	display: none;
} */
/* remove @ 230105 */

/* @ help */
@media (min-width: 1024px) {
	.g-help {
		line-height: 1.25;
		font-weight: bold;
		color: #f00;
		position: fixed;
		z-index: 1;
		right: 0;
		transition: transform 666ms cubic-bezier(0.16, 1, 0.3, 1);
	}
	.g-help__toggle {
		line-height: 1;
		writing-mode: vertical-lr;
		white-space: nowrap;
		color: #fff;
		background: linear-gradient(16.5deg, transparent 1rem, #f00 1.1rem);
		padding: 1em 1em 2em;
		position: absolute;
		top: 0;
		right: 100%;
	}
	.g-help__toggle--open {
	}
	.g-help__toggle--close::after {
		content: "↵";
		display: inline-block;
		transform: rotate(90deg) scaleX(-1);
		margin-top: 0.5em;
	}
	.g-help__list {
		font-size: 0.9375em;
		display: flex;
		flex-direction: column;
		border: 0.25rem solid;
	}
	.g-help__more {
		text-align: center;
		background: #fff;
		color: inherit;
		padding: 1em;
	}
	.g-help__more:not(:hover) {
		text-decoration: none;
	}
	.g-help__more:not(:first-child) {
		border-top: 0.25rem solid;
	}

	#checkbox-help:checked ~ .g-help .g-help__toggle--open,
	#checkbox-help:not(:checked) ~ .g-help .g-help__toggle--close {
		display: none;
	}
	#checkbox-help:not(:checked) ~ .g-help {
		transform: translateX(100%);
	}

	/* opening anim */
	.g-help.g-help--preview{
		animation: help-opening 1.5s cubic-bezier(0.16, 1, 0.3, 1) alternate 2 backwards;
	}
	.g-help.is-hide {
		visibility: hidden;
	}
}

@media (max-width: 1023px) {
	.g-help {
		/* for old layout */
		font-size: 1rem;

		position: fixed;
		z-index: 1;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		pointer-events: none;
	}
	.g-help > * {
		pointer-events: auto;
	}
	.g-help__toggle--open {
		line-height: 1;
		font-weight: bold;
		writing-mode: vertical-lr;
		color: #fff;
		background: linear-gradient(16.5deg, transparent 1rem, #f00 1.1rem);
		padding: 1em 1em 2em;
		position: fixed;
		z-index: 1;
		/* top: 4.28rem; */
		/* top: 0; */
		/* top: -35%; */
		/* bottom: 0; */
		top: max(20%, 4.28rem);
		right: 0;
		margin-top: auto;
		margin-bottom: auto;
		height: max-content;
	}
	#checkbox-help:checked ~ .g-help .g-help__toggle--open {
		z-index: -1;
	}
	#checkbox-help:not(:checked)
		~ .g-help
		:is(.g-help__toggle--close, .g-help__more) {
		pointer-events: none !important;
	}
	.g-help__toggle--close {
		text-indent: -100vw;
		overflow: hidden;
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.5);
		backdrop-filter: blur(0.25rem);
	}
	.g-help__list {
		font-size: 1.125em;
		color: #f00015;
		outline: 1.25rem solid;
		display: flex;
		flex-direction: column;
		width: calc(90vw - 3rem);
		max-height: 100%;
		position: relative;
		z-index: 0;
	}
	.g-help__list::after {
		content: "×";
		pointer-events: none;
		line-height: 1;
		font-size: 2.5rem;
		text-align: center;
		color: #fff;
		background: #f00015;
		position: absolute;
		left: 100%;
		bottom: 100%;
		width: 1em;
		height: 1em;
	}
	.g-help__list > * + * {
		border-top: 0.25em solid;
	}
	.g-help__more {
		line-height: 1.33;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		color: inherit;
		background: #fff;
		padding: 1em;
	}
	.g-help__toggle--close,
	.g-help__list {
		transition: 666ms cubic-bezier(0.16, 1, 0.3, 1);
	}
	#checkbox-help:not(:checked) ~ .g-help .g-help__toggle--close,
	#checkbox-help:not(:checked) ~ .g-help .g-help__list {
		opacity: 0;
		visibility: hidden;
	}
}
@media print {
	.g-help {
		display: none;
	}
}

/* @ Breadcrumbs */
.g-breadcrumb {
	line-height: 1.5;
	font-size: 0.75rem;
	color: #888;
	background: #f8f8f8;
	padding: 1em 0;
}
.g-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-breadcrumb__item {
	margin-right: 0.75em;
}
.g-breadcrumb__item:not(:first-child)::before {
	content: "\003E";
	color: #000;
	margin-right: 0.75em;
}
.g-breadcrumb__item:last-child {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.g-breadcrumb__item:last-child a {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: inherit;
}
.product-page .g-breadcrumb__item:nth-child(3)::before {
    content: "\002C";
}
.product-page .g-breadcrumb__item:nth-child(4)::before {
    content: "\003E";
}
.g-breadcrumb__back {
	color: #000;
}
.g-breadcrumb__back:hover {
	text-decoration: none;
}
.g-breadcrumb__back--home {
	/* text-indent: -99rem;
	overflow: hidden;
	display: block;
	width: 1em;
	height: 1em;
	background: url(../_img2/base/icon-home.gif) no-repeat center / contain; */

	display: flex;
	align-items: center;
	gap: 0.5em;
}
.g-breadcrumb__back--home::before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background: url(../_img2/base/icon-home.gif) no-repeat center / contain;
}
.g-breadcrumb__item br {
	display: none;
}

/* @ maintenance-information */
.maintenance-information {
	width: 100%;
	text-align: center;
	margin: 0 auto;
	padding: 1.33% 0;
	background-color: #f8f8f8;
}
.maintenance-information article {
	margin: 0;
}
.maintenance-information article h2,
.maintenance-information article dd time {
	color: #d60000;
	font-weight: bold;
}
.maintenance-information article h2,
.maintenance-information article p {
	margin-block-start: 0;
	margin-block-end: 0;
	line-height: 1.5;
}
.maintenance-information article dl {
	margin-block-start: 0.5em;
	margin-block-end: 0.0;
}
@media (max-width: 640px) {
	.maintenance-information article dl {
		width: 94%;
		margin-left: auto;
		margin-right: auto;
	}
	.maintenance-information article dd {
		line-height: 1.3;
	}
}
.maintenance-information article dt {
	font-weight: bold;
	padding-bottom: 3px;
}
.maintenance-information article dd {
	font-size: 0.83em;
	background: white;
	padding: .1em 1em;
	width: fit-content;
	margin: 0 auto;
	box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3); /* シャドウを追加 */
}
.maintenance-information article dd time {
	font-size: 1.05rem;
	letter-spacing: 0.02rem;
}

/* @ main */
.g-main {
	margin-bottom: 10.625rem;
}
.g-contents {
	/* margin-top: 1.875rem; */
}
.g-contents > * {
	margin-top: 0;
	margin-bottom: 0;
}
.g-contents > *:not(.not-stack) + *,
.g-do-stack {
	margin-top: 6.875rem;
}
@media (max-width: 640px) {
	.g-contents > *:not(.not-stack) + *,
	.g-do-stack {
		margin-top: 3.4375rem;
	}
}
.g-contents > .g-stack-half + *,
.g-stack-half + .g-do-stack {
	margin-top: 3.75rem;
}
@media (max-width: 640px) {
	.g-main {
		margin-bottom: 5rem;
	}
}
.g-contents__header {
	text-align: center;
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}
.g-contents__header > * {
	margin-top: 0;
	margin-bottom: 0;
}
.g-contents__header > * + * {
	margin-top: 2.5rem;
}

.g-contents-cover {
	color: #fff;
	background: #ccc;
	position: relative;
	z-index: 0;
	/* margin-top: -1.875rem; */
	padding: 4rem 0;
}
.g-contents-cover::before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.4);
}
.g-contents-cover__bg {
	position: absolute;
	z-index: -2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.g-contents-cover .g-ttl {
	margin-bottom: 0;
}

/* @ pagetop */
.g-pagetop__back {
	text-align: center;
	text-decoration: inherit;
	color: #fff;
	background: #f00;
	box-sizing: border-box;
	display: block;
	max-width: 20rem;
	margin: 0 auto;
	padding: 1.25rem 0;
}
@media (max-width: 640px) {
	.g-pagetop {
		display: none;
	}
}

/* @ footer */
.g-footer {
	background: #f8f8f8;
	padding: 3.75rem 0;
}
.g-footer > * + * {
	margin-top: 1.875rem;
}
.g-footer .g-sitewidth {
	max-width: 1180px;
}

/* @ footer > logo */
.g-foot-logo {
	text-align: center;
	margin: 0 0 3.75rem;
}
.g-foot-logo__data {
	width: 8.9375rem;
}

/* @ footer > sitemap */
.g-footmap-grp,
.g-footmap-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.g-footmap {
	columns: 14.6875rem auto;
	column-gap: min(3.75rem, 4vw);
}
.g-footmap > * {
	break-inside: avoid;
	padding-bottom: min(3.75rem, 4vw); /* fix for safari */
}
/* .g-footmap > * + *{
	margin-top: min(3.75rem, 4vw);
} */
.g-footmap__more {
	color: inherit;
}
.g-footmap__more:not(:hover) {
	text-decoration: none;
}

.g-footmap-grp {
}
.g-footmap-grp__item {
	font-weight: bold;
	border-bottom: 1px solid #9fa0a0;
	margin: 0 0 1em;
	padding: 0 0 0.25em;
}

.g-footmap-list {
	font-size: 0.875rem;
}
.g-footmap-list__item {
}
.g-footmap-list .g-footmap__more::before {
	content: "› ";
}

/* @ footer > sns */
.g-officialsns {
	font-size: 0.875em;
	text-align: center;
}
.g-footmap + .g-officialsns {
	margin-top: 0 !important;
}
.g-officialsns__ttl {
	font-weight: bold;
	margin: 0 0 1.875rem;
}
.g-officialsns__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.875rem;
}
.g-officialsns__item {
	flex: 0 0 auto;
}
.g-officialsns__icon {
	max-width: 1.875em;
}

/* @ footer > copyright */
.g-copyright {
	line-height: 1.5;
	font-size: 0.75em;
	text-align: center;
	color: #9fa0a0;
}

@media (max-width: 640px) {
	.g-foot-logo,
	.g-footmap,
	.g-footer .g-officialsns {
		display: none;
	}
	.g-footer {
		padding: 1.75rem 0;
	}
	.g-copyright {
		margin: 0;
	}
}

/* @ floating SNS icons */
.g-sns-float {
	position: fixed;
	right: min(3.75vw, 2em);
	bottom: min(3.75vw, 2em);
}
.g-sns-float-list:where(ul, ol) {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-sns-float__more {
	display: block;
}
.g-sns-float-popup {
	position: fixed;
	z-index: 0;
	right: 2em;
	bottom: 6em;
	border-radius: 1em;
	background-color: #fff;
	box-shadow: 1em 1em 1em rgba(0, 0, 0, 0.22);
	transition: 666ms cubic-bezier(0.16, 1, 0.3, 1);
	padding: 1.5em;
}
.g-sns-float__more:not(:hover) ~ .g-sns-float-popup {
	visibility: hidden;
	opacity: 0;
}
.g-sns-float-popup__data {
	max-width: 240px;
}

/*------------------
 @ print mode
------------------*/
@media print {
	.g-container--printmode .g-main > :not(.g-contents) {
		display: none;
	}
	.g-container--printmode .g-contents > :not(.js-print__target) {
		display: none;
	}
	.g-container--printmode .js-print__target {
		margin-top: 0;
	}
}

/*------------------
 @ iframe base
------------------*/
.fr-container {
	padding: min(4%, 3.75rem);
}
.fr-header {
	border-bottom: 1px solid;
}
.fr-ttl-sect {
	font-size: 1.375em;
	font-weight: normal;
	text-align: center;
}

/*------------------
 @ SNS
------------------*/
/* :root[lang='ja'] .sns--whatsapp,
:root[lang='ja'] .sns--bilbili,
:root[lang='ja'] .sns--instagram,
:root[lang='ja'] .sns--kakao,
:root[lang='ja'] .sns--line,
:root[lang='ja'] .sns--linkedin,
:root[lang='ja'] .sns--naver,
:root[lang='en'] .sns--whatsapp,
:root[lang='en'] .sns--bilbili,
:root[lang='en'] .sns--instagram,
:root[lang='en'] .sns--kakao,
:root[lang='en'] .sns--line,
:root[lang='en'] .sns--naver{
	display: none;
}

:root[lang='en'] .sns--bilbili,
:root[lang='en'] .sns--instagram,
:root[lang='en'] .sns--kakao,
:root[lang='en'] .sns--line,
:root[lang='en'] .sns--naver,
:root[lang='en'] .sns--whatsapp{
	display: none;
}

:root[lang='fr'] .sns--bilbili,
:root[lang='fr'] .sns--facebook,
:root[lang='fr'] .sns--instagram,
:root[lang='fr'] .sns--kakao,
:root[lang='fr'] .sns--line,
:root[lang='fr'] .sns--naver,
:root[lang='fr'] .sns--twitter,
:root[lang='fr'] .sns--whatsapp{
	display: none;
}

:root[lang='de'] .sns--bilbili,
:root[lang='de'] .sns--kakao,
:root[lang='de'] .sns--line,
:root[lang='de'] .sns--naver,
:root[lang='de'] .sns--whatsapp{
	display: none;
}

:root[lang='it'] .sns--bilbili,
:root[lang='it'] .sns--facebook,
:root[lang='it'] .sns--instagram,
:root[lang='it'] .sns--kakao,
:root[lang='it'] .sns--line,
:root[lang='it'] .sns--naver,
:root[lang='it'] .sns--twitter,
:root[lang='it'] .sns--whatsapp{
	display: none;
}

:root[lang='zh-cn'] .sns--facebook,
:root[lang='zh-cn'] .sns--instagram,
:root[lang='zh-cn'] .sns--kakao,
:root[lang='zh-cn'] .sns--line,
:root[lang='zh-cn'] .sns--linkedin,
:root[lang='zh-cn'] .sns--naver,
:root[lang='zh-cn'] .sns--twitter,
:root[lang='zh-cn'] .sns--whatsapp,
:root[lang='zh-cn'] .sns--youtube{
	display: none;
}

:root[lang='ko'] .sns--bilbili,
:root[lang='ko'] .sns--facebook,
:root[lang='ko'] .sns--line,
:root[lang='ko'] .sns--twitter,
:root[lang='ko'] .sns--whatsapp{
	display: none;
}

:root[lang='th'] .sns--bilbili,
:root[lang='th'] .sns--instagram,
:root[lang='th'] .sns--kakao,
:root[lang='th'] .sns--linkedin,
:root[lang='th'] .sns--naver,
:root[lang='th'] .sns--twitter,
:root[lang='th'] .sns--whatsapp{
	display: none;
}

:root[lang='zh-tw'] .sns--bilbili,
:root[lang='zh-tw'] .sns--facebook,
:root[lang='zh-tw'] .sns--instagram,
:root[lang='zh-tw'] .sns--kakao,
:root[lang='zh-tw'] .sns--linkedin,
:root[lang='zh-tw'] .sns--naver,
:root[lang='zh-tw'] .sns--twitter,
:root[lang='zh-tw'] .sns--whatsapp{
	display: none;
}

:root[lang='es-es'] .sns--bilbili,
:root[lang='es-es'] .sns--facebook,
:root[lang='es-es'] .sns--instagram,
:root[lang='es-es'] .sns--kakao,
:root[lang='es-es'] .sns--line,
:root[lang='es-es'] .sns--naver,
:root[lang='es-es'] .sns--twitter,
:root[lang='es-es'] .sns--whatsapp{
	display: none;
}

:root[lang='es-mx'] .sns--bilbili,
:root[lang='es-mx'] .sns--kakao,
:root[lang='es-mx'] .sns--line,
:root[lang='es-mx'] .sns--naver,
:root[lang='es-mx'] .sns--twitter{
	display: none;
}

:root[lang='en-sg'] .sns--bilbili,
:root[lang='en-sg'] .sns--instagram,
:root[lang='en-sg'] .sns--kakao,
:root[lang='en-sg'] .sns--line,
:root[lang='en-sg'] .sns--naver,
:root[lang='en-sg'] .sns--twitter,
:root[lang='en-sg'] .sns--whatsapp{
	display: none;
} */

/*------------------
 @ global style
------------------*/

/* @ tel */
.g-tel {
	font-size: 1.5em;
	font-weight: bold;
	/* vertical-align: middle; */
}
.g-tel::before {
	content: "☎";
	margin-inline-end: 0.25em;
}
.g-tel:is(:link, :visited) {
	color: inherit;
}

/* @ news */
.g-news {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-stack--news > * + * {
	margin-top: 2.5rem !important;
}
.g-news__item,
.g-news__more {
	align-items: center;
	gap: 0.5rem 1rem;
}
.g-news__item {
	display: flex;
	border-bottom: 1px solid #ccc;
	padding: 1rem 0.5rem;
}
.g-news__item:first-child {
	border-top: 1px solid #ccc;
}
.g-news__more {
	display: inline-flex;
	color: inherit;
	text-decoration: none;
}
.g-news__date {
}
.g-news__category {
	line-height: 1.5;
	font-size: 0.75em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: #777;
	box-sizing: border-box;
	min-width: 7em;
	padding: 0.25em 0.5em;
}
.g-news__more:hover .g-news__note {
	text-decoration: underline;
}
.g-nav--news {
	font-size: 0.875em;
}
@media (max-width: 640px) {
	.g-news__item,
	.g-news__more {
		flex-wrap: wrap;
	}
	.g-news__note {
		flex: 1 1 100%;
	}
}

/* @ card */
.g-card:where(ul, ol) {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-card {
	display: grid;
}

/* & card > application */
.g-card--application {
	grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
}
@media (min-width: 641px) {
	.g-card--application {
		grid-gap: min(3.75rem, 4vw);
	}
}
@media (max-width: 640px) {
	.g-card--application {
		grid-gap: 2rem;
	}
}

/* & card > download */
.g-card--download {
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	grid-gap: 1rem;
}
.g-card__item {
}

/* @ product > application list */
.g-application-list {
	text-decoration: none;
	color: inherit;
	display: block;
}
.g-application-list__image {
	width: 100%;
}
.g-application-list__name {
	line-height: 1.5;
	font-size: 1.125em;
	font-weight: normal;
	background: #f8f8f8;
	border-left: 0.375rem solid #f00;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-gap: 1rem;
	margin: 0;
	padding: 0.25em 0.75em;
}
.g-application-list:hover .g-application-list__name {
	text-decoration: underline;
}
.g-application-list[href] .g-application-list__name::after {
	content: "›";
}
.g-application-list__desc {
	display: block;
	margin: 0.5em 0 0;
}

/* @ Slick > Slider */
.g-slider:not(.slick-initialized) > * {
	display: none;
}
.g-slider.slick-slider {
	position: relative;
	z-index: 0;
}
ul.g-slider.slick-slider {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-slider.slick-slider .slick-list {
	z-index: -1;
}
.g-slider.slick-slider .slick-arrow {
	text-indent: 99rem;
	overflow: hidden;
	border: 0;
	background: inherit;
	cursor: pointer;
	width: 0.8125rem;
	height: 2.875rem;
	padding: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
.g-slider.slick-slider .slick-prev {
	/* left: max((-900px + 2.5rem), (-100vw + 2.5rem)); */
	left: 0;
	background: url(../_img2/base/slider2-prev.gif) no-repeat center / contain;
}
.g-slider.slick-slider .slick-next {
	/* right: max((-900px + 2.5rem), (-100vw + 2.5rem)); */
	right: 0;
	background: url(../_img2/base/slider2-next.gif) no-repeat center / contain;
}
.g-slider.slick-slider .slick-dots {
	line-height: 1;
	font-size: 0.875em;
	display: flex;
	justify-content: center;
	gap: 0.75em;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0 0 0.25rem;
}
.g-slider.slick-slider .slick-dots button {
	text-indent: -99rem;
	color: inherit;
	background: inherit;
	overflow: hidden;
	display: block;
	width: 1em;
	height: 1em;
	border: inherit;
	border-radius: 99rem;
	box-shadow: 0 0 0.25rem 1px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	padding: 0;
}
.g-slider.slick-slider .slick-dots > *:not(.slick-active) button {
	background: #fff;
}
.g-slider.slick-slider .slick-dots > .slick-active button {
	background: #f00;
}

/* @ related navigation */
.l-related-content {
	margin-top: 3em;
}

.g-ttl-related-nav {
	font-size: 1.3em;
	font-weight: bold;
	border-style: solid;
	border-width: 0 0 1px 6px;
	border-color: #7f7f7f #f00;
	padding: 0.5em 0.875em;
}
.g-related-nav {
	line-height: 1.5;
	overflow: auto;
	display: flex;
	gap: 3%;
	list-style: none;
	margin: 0;
	padding: 0;
}
@media (max-width: 640px) {
	.g-related-nav--reset-sitewidth {
		margin-left: -4vw;
		margin-right: -4vw;
		padding-left: 4vw;
		padding-right: 4vw;
	}
}
.g-related-nav > * {
	box-sizing: border-box;
}
.g-related-nav__more {
	color: inherit;
	display: block;
}
.g-related-nav__more:not(:hover) {
	text-decoration: none;
}
.g-related-nav__fig {
	margin: 0 0 1rem;
}
.g-related-nav__fig:not(.g-related-nav__fig--video) {
	aspect-ratio: 1 / 0.715;
	background: white;
}
.g-related-nav__fig--video {
	/* position: relative;
	z-index: 0; */
}
/* .g-related-nav__fig--video::after{
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .1);
} */
/* .g-related-nav__fig--video::before{
	content: "▶";
	line-height: 1;
	font-size: 1.5rem;
	color: #fff;
	background: rgba(0, 0, 0, .2);
	width: 1em;
	height: 1em;
	border: 1px solid;
	border-radius: 99em;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	padding: .75em;
} */
.g-related-nav__thumb {
	width: 100%;
	height: 100%;
	object-fit: contain;

	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 1.75rem;
}
.g-related-nav__fig--video .g-related-nav__thumb {
	padding: 0;
}
.g-related-nav .slick-track {
	display: flex;
	gap: 1.75rem;
}
@media (min-width: 641px) {
	.g-related-nav > * {
		flex: 0 0 22%;
	}
}
@media (max-width: 640px) {
	.g-related-nav {
		scroll-snap-type: x mandatory;
	}
	.g-related-nav > * {
		flex: 0 0 66.6%;
		scroll-snap-align: center;
	}
}

/* @ simplebar */
.g-related-nav[data-simplebar] {
	overflow: visible;
	position: relative;
	z-index: 0;
	padding-bottom: 1rem;
}
.g-related-nav[data-simplebar] .simplebar-content {
	display: flex;
	/* gap: 3%; */
}
.g-related-nav[data-simplebar]
	.simplebar-content
	> .g-related-nav__item
	+ .g-related-nav__item {
	margin-left: 3%;
}
@media (min-width: 641px) {
	.g-related-nav[data-simplebar] .simplebar-content > * {
		flex: 0 0 22%;
	}
}
@media (max-width: 640px) {
	.g-related-nav[data-simplebar] .simplebar-content > * {
		flex: 0 0 44.4%;
		/* flex: 0 0 66.6%; 2024-06-21 更新 */
	}
}

/* @ sticky */
.g-sticky-bottom {
	position: sticky;
	bottom: 0;
}

/* @ sticky contact */
.g-sticky-bottom--contact {
	color: #fff;
	background: rgba(0, 0, 0, 0.6);
	padding: 1.5rem 0;
}
.l-sticky-contact {
	font-weight: bold;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 1.25rem;
}
.l-sticky-contact__button {
	line-height: 1.33;
	color: inherit;
	background: #f00;
	border: 1px solid;
	border-radius: 3px;

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;

	padding: 0.75em 1.75em;
}
.l-sticky-contact__button:not(:hover) {
	text-decoration: none;
}
.l-sticky-contact__button::after {
	content: "";
	flex: 0 0 auto;
	border-style: solid;
	border-width: 1px 1px 0 0;
	width: 0.5em;
	height: 0.5em;
	transform: rotate(45deg);
}

/* @ scroll hints */
.g-scroller {
	overflow: auto;
	/* word-break: break-all; */ /* 表示確認の為：230406 */
}
@media (max-width: 640px) {
	.js-scroll-hint,
	.js-vscroll-hint {
		position: relative;
		z-index: 0;
	}
	.js-scroll-hint::before,
	.js-vscroll-hint::before {
		content: "";
		pointer-events: none;
		line-height: 1;
		font-size: 2rem;
		width: 1em;
		height: 1em;
		background: url(../_img2/base/icon-scroll-hint.svg) no-repeat center /
			contain;
		position: absolute;
		z-index: 1;
		margin: auto;
		transition: 333ms cubic-bezier(0.16, 1, 0.3, 1);
	}
	.js-scroll-hint::before {
		top: 0;
		right: 0.5rem;
		bottom: 0;
		animation: scroll-hint 999ms ease-in-out infinite alternate;
	}
	.js-vscroll-hint::before {
		right: 0.5rem;
		bottom: 0.5rem;
		animation: vscroll-hint 999ms ease-in-out infinite alternate;
	}
	.js-scroll-hint--is-disable::before,
	.js-vscroll-hint--is-disable::before {
		opacity: 0;
		visibility: hidden;
	}
}

/* @ modal */
.g-modal {
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(0.25rem);
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: 666ms cubic-bezier(0.16, 1, 0.3, 1);
}
.g-modal:not(.is-modal-active) {
	opacity: 0;
	visibility: hidden;
}
.g-modal__bg {
	cursor: default;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.g-modal__body {
	background: #fff;
	box-sizing: border-box;
	border: 0.625rem solid #ddd;
	overflow: auto;
	overscroll-behavior-y: contain;
	width: 92vw;
	/* max-width: 1300px; */
	max-width: 1180px;
	max-height: 80vh;
	padding: 3.75rem;
}
.g-modal__head {
	background: inherit;
	position: sticky;
	top: -3.75rem;
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding-bottom: 1rem;
}
.g-modal__close {
	line-height: 1;
	font-size: 1.25em;
	font-weight: lighter;
	color: #000;
	background: #ddd;
	margin-left: auto;
	padding: 0.5em;
}
.g-modal:not(.is-modal-active) .g-modal__bg,
.g-modal:not(.is-modal-active) .g-modal__close {
	pointer-events: none;
}

.g-ttl-modal {
	font-size: 1.25em;
	font-weight: bold;
	margin: 0;
}

.g-modal__body:has(.g-modal__head) {
	padding-top: 0;
}
:where(.g-modal__body:has(.g-modal__head)) .g-modal__head {
	top: 0;
	margin-right: -3.75rem;
}
:where(.g-modal__body:has(.g-modal__head)) .g-modal__head > :first-child {
	padding-top: 1rem;
}

@media (max-width: 768px) {
	.g-modal__body {
		padding: 1.25rem;
	}
	.g-modal__head {
		top: -1.25rem;
	}
	:where(.g-modal__body:has(.g-modal__head)) .g-modal__head {
		margin-right: -1.25rem;
	}
}

/* & modal adjust */
body.is-modal-active :is(.g-header, .g-help, .g-sticky-bottom) {
	/* display: none !important; */
	z-index: -1;
}

/* @ unlock */
.g-unlock,
.g-unlock__contents {
	transition: opacity 666ms cubic-bezier(0.16, 1, 0.3, 1);
}
.g-unlock:checked ~ .g-unlock__toggle,
.g-unlock:not(:checked) ~ .g-unlock__contents {
	opacity: 0.2;
	pointer-events: none;
	user-select: none;
}

/* @ duplicate element */
.js-duplicate__list:where(ul, ol) {
	list-style: none;
	margin: 0;
	padding: 0;
}
.js-duplicate__item {
	animation: fadein 666ms cubic-bezier(0.16, 1, 0.3, 1);
}
.js-duplicate__item:first-of-type .js-duplicate__remove,
.js-duplicate__item:not(:last-of-type) .js-duplicate__add {
	display: none;
}

/* @ pdf viewer */
.g-pdf-viewer {
	width: 100%;
	min-height: 100%;
	background: #fff;
}

/* @ common search form */
/* .l-box--search {
} */
.g-searchform {
	display: grid;
	grid-template-columns: [gutter-start] repeat(auto-fill, minmax(18rem, 1fr)) [gutter-end];
	grid-gap: 1.25rem;
}
.g-searchfield {
	border: 0;
	margin: 0;
	padding: 0;
}
.g-searchfield__title {
	line-height: 1.33;
	font-size: inherit;
	font-weight: normal;
	margin: 0;
}
@media (min-width: 641px) {
	.g-searchfield {
		display: grid;
		align-items: center;
		grid-template-columns: auto 1fr;
		grid-gap: 1rem;
	}
}
@media (max-width: 768px) {
	.g-searchfield__title {
		margin-bottom: 0.333em;
	}
}

/* @ terms (規約系コンテンツ) */
/* .g-terms {
} */
.g-terms > * {
	margin: 0;
}
.g-terms__scroller {
	border: 0.625rem solid #ddd;
	overflow: auto;
	overscroll-behavior: contain;
	box-sizing: border-box;
	max-height: 20em;
	padding: min(3.75em, 4vw);
}
/* .g-terms__sect {
} */
* + .g-terms__sect {
	margin-top: 3.75rem !important;
}
* + .g-terms__sect--sub {
	margin-top: 1.875rem !important;
}
.g-terms__sect > * {
	margin-top: 0;
	margin-bottom: 0;
}
.g-terms__sect > * + * {
	margin-top: 1rem;
}
.g-ttl--terms {
	font-size: 1.25em;
	font-weight: bold;
	border-left: 0.333em solid #f00;
	padding-left: 0.75em;
}
.g-ttl--terms-sub {
	font-size: 1em;
	font-weight: bold;
}
/* .g-note--terms {
} */
.g-list--terms {
	margin-left: 1.25em;
}
.g-list--terms > * + * {
	margin-top: 0.666em;
}
@media (max-width: 640px) {
	.g-terms__scroller {
		padding: 1.25rem;
	}
}
@media print {
	.g-terms__scroller {
		overflow: visible;
		max-height: none;
	}
}

/* @ tree parallel */
.g-tree-parallel {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15em, 1fr));
	gap: 1.875rem;
}
/* .g-tree-parallel > * {
	border: 3px solid tomato;
} */

/* @ tree group (sitemapなど) */
.g-tree-group:where(ul, ol) {
	list-style: none;
	margin: 0;
	padding: 0;
}
/* .g-tree-group {
} */
.g-tree-group > * + * {
	margin-top: 2.5em !important;
}
.g-tree-group > .g-tree__title + * {
	margin-top: 1.25em !important;
}
.g-tree__title {
	line-height: 1.33;
	font-size: 1.125em;
	font-weight: bold;
	border-left: 4px solid #f00;
	padding-inline-start: 0.5em;
}
/* .g-tree-group__item {
} */
/* * + .g-tree-group__item{
	margin-block-start: 2.5em;
} */

/* @ tree (sitemapなど) */
.g-tree {
	list-style: none;
	margin: 0;
	padding: 0;
}
.g-tree > .g-tree {
	font-size: 0.875em;
	margin-left: 1.25em;
}
.g-tree > * + * {
	margin-top: 0.333em;
}
.g-tree__more:is(:link, :visited) {
	color: inherit;
}
.g-tree__more:link:not(:hover) {
	text-decoration: none;
}
.g-tree__more::before {
	content: "› ";
}

/* 404 Page */
.g-ttl-page-404 {
	font-size: 13.7rem;
	font-weight: bold;
	color: #000;
	letter-spacing: 0.03em;
}
.g-sitewidth .not-found-txt {
	text-align: center;
	font-size: 1.37rem;
	margin-bottom: 2.74rem;
}
.g-sitewidth .not-found-list {
	row-gap: calc(1.37rem * 1.37);
}
.g-sitewidth .not-found-list li a {
    background-color: #efefef;
    padding: 0.685em 1.37em;
    border-radius: 0.457em;
    font-weight: bold;
    transition: all 0.3s ease; /* トランジション効果を追加 */
    border-bottom: 1px solid transparent; /* 透明な境界線を追加 */
}

.g-sitewidth .not-found-list li a:hover {
    background-color: #ff3333; /* 少し明るい赤に調整 */
    color: white;
    text-decoration: none;
    box-shadow: 0 2px 4px rgba(158, 156, 156, 0.2); /* 黒を基調とした影 */
    transform: translateY(-1px); /* わずかに浮き上がる効果 */
    border-bottom: 1px solid #6d0303; /*　立体的なデザインを強調 */
}

@media (max-width: 640px) {
	.g-ttl-page-404 {
		font-size: 5.48rem;
	}
	.g-sitewidth .not-found-txt {
		font-size: 1rem;
	}
}

/* @ side index (目次 table of contents) */
.side-idx {
	position: fixed;
	z-index: 1;
	inset: var(--g-header-height) 0 0 auto;
	display: grid;
	align-items: center;
	overflow: auto;
	overscroll-behavior: contain;
	height: fit-content;
	max-width: 20vw;
	margin: auto !important;
	padding: 1em;
	transition: 333ms cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 1023px) {
	.side-idx {
		display: none;
	}
}
.side-idx:hover {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(0.25rem);
	height: auto;
}
.side-idx * {
	transition: inherit;
}
.side-idx > * {
	box-sizing: border-box;
	width: 100%;
	overflow: hidden;
}
.side-idx-list:where(ul, ol) {
	list-style: none;
	margin: 0;
	padding: 0;
}
.side-idx-list {
	font-size: 0.875em;
}
.side-idx-list > .side-idx-list {
	margin-left: 1em;
}
.side-idx-list > * {
	margin-top: 0.333em;
}
.side-idx-list__item {
	line-height: 1.33;
}
.side-idx-list__item::after {
	content: "";
	display: block;
	border-bottom: 0.25em solid #ccc;
	width: 0;
	margin-inline-start: auto;
}
.side-idx-list__more {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.side-idx-list__more:where(:link, :visited) {
	color: inherit;
}
.side-idx-list__more:not(:hover) {
	text-decoration: none;
}
.side-idx:not(:hover) {
	max-width: min(4vw, 3.75rem);
}
.side-idx:not(:hover) .side-idx-list__item {
	line-height: 0.75;
	margin-top: 0;
}
.side-idx:not(:hover) .side-idx-list__item:nth-child(n + 10) {
	display: none;
}
.side-idx:not(:hover) .side-idx-list__item::after {
	width: 1.75em;
}
.side-idx:not(:hover) .side-idx-list__more {
	opacity: 0;
	visibility: hidden;
}

/* @ ajax more (loading) */
.js-ajax__append.js-ajax__is-loading::before {
	transition: opacity 1.0s ease-in-out;
	content: "";
	position: fixed;
	z-index: 1;
	inset: 0;
	background: rgba(0, 0, 0, 0.333) url(../_img2/base/loading.gif) no-repeat
		center / 9rem;
	image-rendering: pixelated;
	display: block;
}

/* test @ 移植：ログインフォーム */
.g-old-loginform {
	color: #fff;
	background-color: #319797;
	border-radius: 0.333em;
	padding: 1em;
}
.g-old-loginform :is(p) {
	margin: 0;
}
.g-old-loginform :is(:link, :visited) {
	color: #ff0;
}
.g-old-loginform dl {
	margin: 0;
}
.g-old-loginform dl + * {
	margin-top: 1em !important;
}
.g-old-loginform dl > * + * {
	margin-top: 1em !important;
}
.g-old-loginform dd {
	margin: 0;
}
.g-old-loginform dl:first-of-type dd {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}
.g-old-loginform dl:first-of-type dd > * {
	flex: 1 1 auto;
}
.g-old-loginform dl:first-of-type dd > :is(input, button) {
	max-width: 100%;
	box-sizing: border-box;
	border: 0;
	border-radius: 0.333em;
	padding: 0.75em 1em;
}
.g-old-loginform .btn_login {
	background: #ff9900;
}
/* test @ 移植：ログインフォーム */
