@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;300;400;500;600;700;900&family=Noto+Serif+JP:wght@400;500;700&display=swap');
:root{
	--font-sans-jp: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	--font-sans-en: "Meta", "Helvetica Neue", Arial, sans-serif;
	--font-serif-jp: "Noto Serif JP", serif;
	/* Backward compatibility */
	--fontFamily: var(--font-sans-jp);
}

body, input, button, textarea, select {
		font-family: var(--font-sans-en);
}

.jp, [lang="jp"], [lang="ja"] {
		font-family: var(--font-sans-jp);
}

@charset "UTF-8";
:root{
	--body : #000;
	--link : #000;
	--darkgray : #292831;
	--darkblue : #333f58;
	--blue : #4a7a96;
	--pink : #ee8695;
	--palepink : #fbbbad;
	--text_gray : #bcc1bf;
	--gg06-yellow: #fff300;
	--gg06-ink: #1b1a1d;
	--gg06-blue: #1e7dd6;
	--gg06-cyan: #4fc2d8;
	--gg06-red: #f04a3a;
	--gg06-orange: #f39a2e;

}
:root{
	-ms-text-spacing : trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric;
	    text-spacing : trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric;
}
*, *:before, *:after {
		box-sizing: border-box;
}

html {
		visibility: visible;
}

html, body {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		overflow: auto !important; /* スクロールを強制的に有効化 */
}

div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
}

main, article, aside, details, figcaption, figure, footer, header, nav, section, picture {
		display: block;
}

ol, ul {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
		content: "";
		content: none;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
		width: 100%;
		table-layout: fixed;
}

em {
		font-style: normal;
}

a {
		text-decoration: none;
		outline: none;
}

picture {
		line-height: 1;
}

picture img {
		line-height: 1;
		vertical-align: top;
}

img {
		width: auto;
		vertical-align: top;
		outline: none;
}

input, button {
		outline: 0;
		-webkit-appearance: none;
		border-radius: 0;
		border: 0;
}

input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"] {
		padding-left: .5em;
		padding-right: .5em;
		font-size: 1em;
}

input[type="number"] {
		text-align: right;
		padding-right: 1em;
}

textarea {
		padding: .5em;
		font-size: 1em;
		outline: none;
}

input[type="submit"], input[type="reset"], button {
		padding: 0;
		-webkit-appearance: none;
}

input[type="submit"]:hover, input[type="reset"]:hover, button:hover {
		cursor: pointer;
}

select::-ms-expand {
		display: none;
}

input {
		-webkit-appearance: none;
		border-radius: 0;
		border-style: solid;
		outline: none;
}

textarea {
		resize: vertical;
		-webkit-appearance: none;
		border-radius: 0;
		border-style: solid;
}

input, select, textarea, button {
		font-family: var(--font-sans-jp);
}

button {
		cursor: pointer;
		background: none;
}

body {
		font-family: var(--font-sans-jp);
		font-weight: 400;
		position: relative;
		font-size: 100%;
		font-size-adjust: 100%;
		line-height: 1;
		display: block;
		overflow-scrolling: touch;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		scroll-behavior: smooth;
		text-rendering: optimizeLegibility;
		color: #000;
		color: var(--body);
		font-feature-settings: "palt" 1;
}

a {
		color: #000;
		color: var(--body);
}

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