@charset "UTF-8";

/*--------------------------------------------
COLORS
---------------------------------------------*/

:root{
	--body : #000;
	--link : #000;
	--primary : #06385a;
	--secondary : #e5f8ff;
}

/*--------------------------------------------
MODULE
---------------------------------------------*/

@media screen and (max-width: 750px){
	:root{
		--title01lh : 4.2;
		--text01lh : 13;
	}
}

@media print,screen and (min-width: 751px){
	:root{
		--title01lh : 10px;
		--text01lh : 8px;
	}
}

/*--------------------------------------------
FONTS
---------------------------------------------*/

@font-face{
	font-family : "M PLUS 1";
	src : url("../fonts/variable/MPLUS1-VariableFont_wght.ttf") format("truetype");
	font-weight : 1 999;
}

*{
	margin : 0;
	padding : 0;
}

* , ::before , ::after{
	box-sizing : border-box;
}

*:not(fieldset):not(progress):not(meter){
	border-width : 0;
	border-style : solid;
	background-origin : border-box;
	background-repeat : no-repeat;
}

html{
	block-size : 100%;
	-webkit-text-size-adjust : none;
}

@media (prefers-reduced-motion: no-preference){
	html{
		scroll-behavior : smooth;
	}
}

body{
	font-family : "M PLUS 1", sans-serif;
	font-weight : 400;
	-webkit-font-smoothing : antialiased;
	text-rendering : optimizeSpeed;
	min-block-size : 100%;
	line-height : 1;
	font-feature-settings : "palt" on;
	color : var(--body);
}

:where(img, svg, video, canvas, audio, iframe, embed, object){
	display : block;
}

:where(img, svg, video){
	block-size : auto;
	max-inline-size : 100%;
	width : auto;
}

:where(svg){
	stroke : none;
	fill : currentColor;
}

:where(svg):where(:not([fill])){
	stroke : currentColor;
	fill : none;
	stroke-linecap : round;
	stroke-linejoin : round;
}

:where(svg):where(:not([width])){
	inline-size : 5rem;
}

:where(input, button, textarea, select) , :where(input[type="file"])::-webkit-file-upload-button{
	color : inherit;
	font : inherit;
	font-size : inherit;
	letter-spacing : inherit;
	outline : 0;
}

:where(textarea){
	resize : vertical;
}

@supports (resize: block){
	:where(textarea){
		resize : block;
	}
}

button{
	background-color : transparent;
}

:where(p, h1, h2, h3, h4, h5, h6){
	overflow-wrap : break-word;
}

:where(ul, ol){
	list-style : none;
}

a{
	/*text-decoration-skip-ink: auto;*/
	text-decoration : none;
	color : var(--link);
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])){
	cursor : pointer;
	touch-action : manipulation;
}

:where(input[type="file"]){
	cursor : auto;
}

:where(input[type="file"])::-webkit-file-upload-button{
	cursor : pointer;
}

:where(input[type="file"])::-webkit-file-upload-button , :where(input[type="file"])::file-selector-button{
	cursor : pointer;
}

@media (prefers-reduced-motion: no-preference){
	:focus-visible{
		transition : outline-offset 145ms cubic-bezier(.25, 0, .4, 1);
	}
	:where(:not(:active)):focus-visible{
		transition-duration : .25s;
	}
}

:where(:not(:active)):focus-visible{
	outline-offset : 5px;
}

:where(input[type="file"])::-webkit-file-upload-button{
	-webkit-tap-highlight-color : transparent;
	-webkit-touch-callout : none;
	-webkit-user-select : none;
	        user-select : none;
	text-align : center;
}

:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"]) , :where(input[type="file"])::-webkit-file-upload-button , :where(input[type="file"])::file-selector-button{
	-webkit-tap-highlight-color : transparent;
	-webkit-touch-callout : none;
	-webkit-user-select : none;
	        user-select : none;
	text-align : center;
}

:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"])[disabled]{
	cursor : not-allowed;
}

picture{
	display : block;
}

em{
	font-style : normal;
}

/*--------------------------------------------
PRINT
---------------------------------------------*/

@media print{
	body{
		width : 100%;
		overflow-x : hidden;
	}
	@page{
		margin-top : .4cm;
		margin : .5cm;
	}
	.no-print{
		display : none;
	}
}
