@charset "UTF-8";

/* --------------------------------------------------------------------------------------
	各種設定
--------------------------------------------------------------------------------------- */

:root {
	--color-text: #000;
	--color-green: #11b600;
	--color-orange: #fa8b1b;
	--color-cream: #fdfaf4;
	--color-deep-blue: #0b1a38;
	--color-border: #c1c1c1;
	--border-radius: 8px;
	--Thin: 100;
	--ExtraLight: 200;
	--Light : 300;
	--Regular : 400;
	--Medium : 500;
	--SemiBold : 600;
	--Bold : 700;
	--ExtraBold : 800;
	--Black : 900;
	--font-noto-sans : 'Noto Sans JP', sans-serif;
	--font-inter : 'Inter', sans-serif;
}

/* --------------------------------------------------------------------------------------
	リセット
--------------------------------------------------------------------------------------- */

html { font-size: 62.5% !important; }

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,caption,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	margin: 0;
	padding: 0;
}

body {
	color: var(--color-text);
	font-size: 1.6rem;
	-webkit-font-smoothing: antialiased;
	font-weight: var(--Regular);
	text-align: center;
	-webkit-text-size-adjust: 100%;
}

body,input,textarea,button {
	font-family: var(--font-noto-sans);
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: var(--Regular);
}

div,p,blockquote,li,dt,dd,pre,form,textarea,select,button,input,td,th,address,h1,h2,h3,h4,h5,h6,figcaption {
	font-size: 100%;
	font-style: normal;
	font-weight: var(--Regular);
	line-height: 1.5;
}

input,textarea {
	font-weight: var(--Regular);
	letter-spacing: 1px;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,picture,object,label { display: block; }

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,div,p,dl,dt,dd,ul,ol,li,table,th,td,textarea,address,h1,h2,h3,h4,h5,h6,a,input,button,label,details,summary { box-sizing: border-box; }

th,td {
	text-align: left;
	vertical-align: top;
}

a {
	color: var(--color-orange);
	text-decoration: none;
}

a:hover {
	color: var(--color-orange);
	text-decoration: underline;
}

img,iframe { border: none; }

img {
	height: auto;
	image-rendering: -webkit-optimize-contrast;
	max-width: 100%;
	vertical-align: bottom;
}

*::before,
*::after {
	box-sizing: border-box;
	image-rendering: -webkit-optimize-contrast;
}

table {
	border-collapse: collapse;
	font-size: 100%;
}

ol,ul,nav,menu { list-style: none; }

input { vertical-align: middle; }

address a { cursor: default; }

svg {
	pointer-events: none;
	vertical-align: middle;
}

/* --------------------------------------------------------------------------------------
	スマホ
--------------------------------------------------------------------------------------- */

@media (max-width: 768px) {

	:root {
		--border-radius: 1.25vw;
	}

	html,body { overscroll-behavior: none; }

	body { font-size: 3.733vw; }

	a:hover { text-decoration: none; }

	img {
		height: auto;
		image-rendering: inherit;
		max-width: 100%;
	}

	input { vertical-align: middle; }
}
