@charset "utf-8";
/* ===============================================
reset
=============================================== */
* {
	margin: 0;
	padding: 0;
	line-height: calc(.25rem + 1em + .25rem);
  }


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

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

html {
	block-size: 100%;
	-webkit-text-size-adjust: none;
	scroll-behavior: smooth;
	scroll-padding-top: 50px;
}

body {
	width: 100%;
	height: 100%;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeSpeed;
	min-block-size: 100%;
	overflow-x: hidden;
	word-wrap: break-word;
	box-sizing: border-box;
	position: relative;
}

/* 各メディア要素のデフォルト */
:where(img, svg, video, canvas, audio, iframe, embed, object) {
	display: block;
}
:where(img, svg, video) {
	block-size: auto;
	max-inline-size: 100%;
}


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

/* fill属性のないSVG */
:where(svg):where(:not([fill])) {
	stroke: currentColor;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* width属性のないSVGのサイズ */
: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: 16px;
	letter-spacing: inherit;
}
input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
	font-size: 16px;
}

/* textareaのサイズ変更は垂直のみにし、ブラウザがサポートしている場合にのみblock */
:where(textarea) {
	resize: vertical;
}
@supports (resize: block) {
	:where(textarea) {
		resize: block;
	}
}


:where(p, h1, h2, h3, h4, h5, h6) {
	font-size: 1em;
	font-weight: 200;
	overflow-wrap: break-word;
}



a:not([class]) {
	text-decoration-skip-ink: auto;
}

: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,
: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(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;
	user-select: none;
	text-align: center;
}


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

a {
	outline: none;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
button {
	background: none;
	border: 0;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
ol,ul,li,menu {
	list-style:none;
}
em {
	font-style: normal;
}
img {
	width:100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}
table {
	border-collapse:collapse;
}
textarea {
	white-space:revert;
}
::placeholder{
	color:unset;
}
:where([hidden]){
	display:none;
}