@charset "UTF-8";
:root {
	--ff-noto-sans: 'Noto Sans JP', sans-serif;
	--ff-noto-sans-jp: 'Noto Serif JP', serif;
	--ff-montserrat: 'Montserrat', sans-serif;
	--font-weight: 400;
	--font-size: 1rem;
	--line-height: 1.8;
	--line-height-small: 1.6;
	--line-height-small2: 1.4;
	--letter-spacing: 0.06em;
	/* 背景 */
	--color-base: #ffffff;
	--color-base-rgb: 255, 255, 255;

	--color-base-black: #000000;
	--color-base-black-rgb: 0, 0, 0;
	/*赤*/
		--color-base-red: #b10000;
	--color-base-red-rgb: 177, 0, 0;
		/*青*/
			--color-base-blue: #003282;
	--color-base-blue-rgb: 0, 50, 130;
	
	/* メインテキストカラー */
	/*赤*/
	--color-primary-red: #ff0000;
	--color-primary-red-rgb: 255, 0, 0;
	/*青*/
	--color-primary-blue: #006cd6;
	--color-primary-blue-rgb: 0, 108, 214;


	/* テキストベースカラー */
	--color-text-base: #000000;
	--color-text-base-rgb: 0, 0, 0;
	/* テキストリンクカラー */
	--color-text-link: #1A1A1A;
	--color-text-link-rgb: 26, 26, 26;

	/* ボーダー */
	--color-border: #000000;
	--color-border-rgb: 0, 0, 0;

	/*　マージン　サイズ  */
	--site-width: 1200px;
	--space-inline: 15px;
	--space-block: 60px;
	--space-block-small: 40px;
	--space-block-small2: 30px;
	--space-block-xs: 20px;
	--space-block-large: 100px;
	--header-size: 85px;
	--scroll-adjust: 100px;
	--min-device-width: 360px;
	--c-text-gap: 1rem;
	--sec: 0.5s;
	--sec-fast: 0.2s;
	--opacity: 0.6;
	--zoom: 1.1;
}
:not(:root) {
	letter-spacing: var(--letter-spacing);
}
/* CSS Document */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, article, aside, dialog, figure, figcaption, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: inherit;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	vertical-align: baseline;
	max-height: 999999px;
}
*, *:before, *:after {
	box-sizing: border-box;
}
:where([id]) {
	scroll-margin-top: var(--scroll-adjust);
}
body {
	font-size: var(--font-size);
	line-height: var(--line-height);
	color: var(--color-text-base);
	font-family: var(--ff-noto-sans);
	font-weight: var(--font-weight);
	background: var(--color-base);
	word-wrap: break-word;
	-webkit-text-size-adjust: none; /*202009 100%はiPadでサイズが変わってしまうのでnoneを使う*/
}
@media (max-width: 768px) {
	body {
		font-size: 14px;
	}
}
a {
	margin: 0;
	padding: 0;
	font-size: inherit;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	vertical-align: baseline;
	color: var(--color-text-link);
	text-decoration: none;
	max-height: 999999px;
}
a, button {
	outline: 5px solid transparent;
	outline-offset: 10px;
	transition: outline-offset var(--sec);
}
@media (min-width: 768px) {
	a[href^="tel:"] {
		cursor: default;
		pointer-events: none;
		text-decoration: none;
	}
}
a::-moz-focus-inner, button::-moz-focus-inner {
	border: 0;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
a img {
	border: 0;
	transition: opacity var(--sec);
}
a:focus, button:focus {
	outline: 2px solid var(--color-outline);
	outline-offset: 0;
}
:focus {
	scroll-margin-block: 100px;
}
:focus:not(:focus-visible) {
	outline: 0;
}
article, aside, dialog, figure, footer, header, hgroup, nav, section {
	display: block;
}
li {
	list-style-type: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
table, caption, tbody, tfoot, thead, tr, th, td {
	font-size: inherit;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	vertical-align: baseline;
	max-height: 999999px;
}
caption, th, td {
	text-align: inherit;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}
blockquote, q {
	quotes: none;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help;
}
ins {
	text-decoration: none;
}
mark { /*	font-style:italic;*/ /*	font-weight:bold;*/
}
@media (hover: hover) and (pointer: fine) {
	a:hover {
		text-decoration: none;
	}
	a:hover img {
		opacity: 0.7;
	}
}
@media (max-width: 1000px) {
	:root {
		--header-size: 60px;
		--scroll-adjust: 86px;
	}
}
@media (max-width: 768px) {
	:root {
		--space-block-large: 115px;
	}
}