@charset "utf-8";
/* CSS Document */

html,body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-wrap : break-word;
	height: 100%;
}
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,button,textarea,p,blockquote,th,td,a,img,figure,section { margin: 0; padding: 0; }
table							{ border-collapse: collapse; border-spacing: 0; }
object,embed					{ vertical-align: top;}
h1,h2,h3,h4,h5,h6				{ font-size: 100%; font-weight: normal;}
img,fieldset,button				{ border: 0;}
img								{ display:block; max-width:100%; height:auto; }
a,label							{ cursor: pointer;}
body							{ _display: inline; _zoom: 1;}

a								{ text-decoration: none; }
a:active						{ text-decoration: none; }
a:visited						{ text-decoration: none; }
a:hover							{ text-decoration: none; }
:focus-visible					{ outline: 2px solid Highlight; outline-offset: 2px; }
:focus:not(:focus-visible)		{ outline: none; }

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

/* Box-sizing (padding + border)
------------------------------ */
*, *:before, *:after { box-sizing: border-box; }

/* User-select
------------------------------ */
.us			{ -webkit-user-select: none; user-select: none; cursor: default; text-decoration: none !important; }
.us:hover	{ color: inherit; }

/* Delete margin for box show
------------------------------ */
.dm { font-size: 0; }

/* Text-align
------------------------------ */
.ta-l { text-align: left; }
.ta-c { text-align: center; }
.ta-r { text-align: right; }

/* Image-size
------------------------------ */
.mw	{ max-width: 100%; }	/* Parent Attention */
.iw	{ width: 100%; }		/* infin-width */

/*
*:has(.mw){ text-align: center; }
:has(.mw){ margin: auto; }
*/

/* Media
----------------------------------*/
/*  3-Breakpoint */
/*
@media (max-width: 767.98px) {
    .tb,
	.dt { display: none; }
	.mb[data-init="i"] { display: inline; }
	.mb[data-init="b"] { display: block; }
	.mb[data-init="f"] { display: flex; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
	.mb,
	.dt { display: none; }
	.tb[data-init="i"] { display: inline; }
	.tb[data-init="b"] { display: block; }
	.tb[data-init="f"] { display: flex; }
}
@media (min-width: 1024px) {
	.mb,
	.tb { display: none; }
	.dt[data-init="i"] { display: inline; }
	.dt[data-init="b"] { display: block; }
	.dt[data-init="f"] { display: flex; }
}
*/

/* 2-Breakpoint */
/*
@media (max-width: 1023.98px) {
	スマホ＆縦向きタブレット
	.mh { display: none; }
	.mv[data-init="i"] { display: inline; }
	.mv[data-init="b"] { display: block; }
	.mv[data-init="f"] { display: flex; }
}
*/
/*
@media (min-width: 1024px) {
	横向きタブレット＆デスクトップ
	.mv { display: none; }
	.mh[data-init="i"] { display: inline; }
	.mh[data-init="b"] { display: block; }
	.mh[data-init="f"] { display: flex; }
}
*/

/* Aspect Ratio
----------------------------------*/
.ar			{ aspect-ratio: var(--ar, 16/9); }
.ar-1609	{ --ar: 16/9; }
.ar > iframe,
.ar > img,
.ar > video { width:100%; height:100%; }

/* Absolute Position
----------------------------------*/
.acc { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.act { position: absolute; top: 0%; left: 50%; transform: translate(0%, -50%); }
.acb { position: absolute; bottom: 0%; left: 50%; transform: translate(-50%, 0%); }
.acr { position: absolute; top: 50%; right: 0%; transform: translateY(-50%); }
.ah { position: absolute; left: 50%; transform: translateX(-50%); }
.av { position: absolute; top: 50%; transform: translateY(-50%); }

/* Flexbox
------------------------------ */
/* 基本設定 */
.f		{ display: flex; }
.f-n	{ display: flex; flex-wrap: nowrap; }
.f-w	{ display: flex; flex-wrap: wrap; }

/* 方向 */
.f-c	{ flex-direction: column; }
.f-r	{ flex-direction: row; }

/* 垂直 */
.f-as	{ align-items: flex-start; }
.f-ac	{ align-items: center; }
.f-ae   { align-items: flex-end; }

/* 水平 */
.f-jc	{ justify-content: center; }
.f-js	{ justify-content: flex-start; }
.f-je	{ justify-content: flex-end; }
.f-jb	{ justify-content: space-between; }
.f-ja	{ justify-content: space-around; }


/* Text-Space
------------------------------ */
.ls01 { letter-spacing: 0.01em; }
.ls02 { letter-spacing: 0.02em; }
.ls03 { letter-spacing: 0.03em; }
.ls04 { letter-spacing: 0.04em; }
.ls05 { letter-spacing: 0.05em; }
.ls06 { letter-spacing: 0.06em; }
.ls07 { letter-spacing: 0.07em; }
.ls08 { letter-spacing: 0.08em; }
.ls09 { letter-spacing: 0.09em; }
.ls10 { letter-spacing: 0.10em; }

/* Ratio Private Access % + em
------------------------------ */
.lh-1	{ line-height: 1; }
.lh-11	{ line-height: 1.13; }
.lh-s	{ line-height: 1.21; }
.lh-y	{ line-height: 1.41; }
.lh-g	{ line-height: 1.61; }
.lh-p	{ line-height: 1.73; }
.lh-t	{ line-height: 1.93; }
.lh-2	{ line-height: 2.00; }
.lh-22	{ line-height: 2.23; }
.lh-s2	{ line-height: 2.41; }
.lh-g2	{ line-height: 2.61; }
.lh-g3	{ line-height: 3.61; }

/* Text-Indentation
------------------------------ */
.ti00	{ text-indent: -1.0em; padding-left: 1.0em; }
.ti01	{ text-indent: -1.1em; padding-left: 1.1em; }
.ti02	{ text-indent: -1.2em; padding-left: 1.2em; }
.ti03	{ text-indent: -1.3em; padding-left: 1.3em; }
.ti04	{ text-indent: -1.4em; padding-left: 1.4em; }
.ti05	{ text-indent: -1.5em; padding-left: 1.5em; }
.ti06	{ text-indent: -1.6em; padding-left: 1.6em; }
.ti07	{ text-indent: -1.7em; padding-left: 1.7em; }
.ti08	{ text-indent: -1.8em; padding-left: 1.8em; }
.ti09	{ text-indent: -1.9em; padding-left: 1.9em; }

/* Text-Indentation
------------------------------ */
.l-ti00 > * { text-indent: -1.0em; padding-left: 1.0em; }
.l-ti01 > * { text-indent: -1.1em; padding-left: 1.1em; }
.l-ti02 > * { text-indent: -1.2em; padding-left: 1.2em; }
.l-ti03 > * { text-indent: -1.3em; padding-left: 1.3em; }
.l-ti04 > * { text-indent: -1.4em; padding-left: 1.4em; }
.l-ti05 > * { text-indent: -1.5em; padding-left: 1.5em; }
.l-ti06 > * { text-indent: -1.6em; padding-left: 1.6em; }
.l-ti07 > * { text-indent: -1.7em; padding-left: 1.7em; }
.l-ti08 > * { text-indent: -1.8em; padding-left: 1.8em; }
.l-ti09 > * { text-indent: -1.9em; padding-left: 1.9em; }