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

/* Height（帯）
------------------------------ */
.ht {
    height: min(
        calc(var(--ht) * 1px),
        calc(var(--ht) / 750 * 100vw)
    );
}


/* Aspect ratio Image
------------------------------ */
.ar {
    width: min(
        calc(var(--ar) * 1px),
        calc(var(--ar) / 750 * 100vw)
    );
    height: auto;
}

/* Margin
------------------------------ */
.mt {
	margin-block-start: min(
		calc(var(--mt) * 1px),
		calc(var(--mt) / 750 * 100vw)
	);
}
.mb {
	margin-block-end: min(
		calc(var(--mb) * 1px),
		calc(var(--mb) / 750 * 100vw)
	);
}

/* Font size
------------------------------ */
.fs {
	font-size: min(
    calc(var(--fs, 16) * 1px),			/* 上限：px化 */
    calc(var(--fs, 16) / 750 * 100vw)	/* 可変：数 / 数 × vw */
	);
}

/* Padding Side
------------------------------ */
.pt {
    padding-top: min(
        calc(var(--pt, 1) * 1px),
        calc(var(--pt, 1) / 750 * 100vw)
    );
}
.pb {
    padding-bottom: min(
        calc(var(--pb, 1) * 1px),
        calc(var(--pb, 1) / 750 * 100vw)
    );
}
.ph {
    padding-left: min(
        calc(var(--ph, 1) * 1px),
        calc(var(--ph, 1) / 750 * 100vw)
    );
    padding-right: min(
        calc(var(--ph, 1) * 1px),
        calc(var(--ph, 1) / 750 * 100vw)
    );
}
.pv {
    line-height: 1;
    padding-top: min(
        calc(var(--pv, 1) * 1px),
        calc(var(--pv, 1) / 750 * 100vw)
    );
    padding-bottom: min(
        calc(var(--pv, 1) * 1px),
        calc(var(--pv, 1) / 750 * 100vw)
    );
}

/* Line-height
------------------------------ */
.lh	{ line-height: var(--lh); }

/* Font weight
200 ExtraLight
300 Light
400 Regular
500 Medium
600 SemiBold
700 Bold
800 ExtraBold
900 Black
------------------------------ */
.fw01 { font-weight: 100; }
.fw02 { font-weight: 200; }
.fw03 { font-weight: 300; }
.fw04 { font-weight: 400; }
.fw05 { font-weight: 500; }
.fw06 { font-weight: 600; }
.fw07 { font-weight: 700; }
.fw08 { font-weight: 800; }
.fw09 { font-weight: 900; }
.ital { font-style: italic; }