@charset "UTF-8";
:root {
	--ff-noto-sans: 'Noto Sans JP', sans-serif;
	--ff-noto-serif: 'Noto Serif JP', serif;
	--ff-cormorant: 'Cormorant', serif;
	--ff-zen-maru: 'Zen Maru Gothic', serif;
	--font-family: var(--ff-noto-sans);
	--font-weight: 400;
	--font-size: 1rem;
	--line-height: 1.8;
	--line-height-small: 1.6;
	--line-height-small2: 1.4;
	--letter-spacing: 0.02em;
	--color-base: #1A1A1A;
	--color-base-rgb: 26, 26, 26;
	--color-base-light: #7C7C7C;
	--color-base-light-rgb: 124, 124, 124;
	--color-base-light2: #E5E5E5;
	--color-base-light2-rgb: 229, 229, 229;
	--color-base-light3: #F8F8F8;
	--color-base-light3-rgb: 248, 248, 248;
	--color-primary: #009EA2;
	--color-primary-rgb: 0, 158, 162;
	--color-sub1: #054CBE;
	--color-sub1-rgb: 5, 76, 190;
	--color-sub2: #A7E2E3;
	--color-sub2-rgb: 167, 226, 227;
	--color-sub3: #41AAED;
	--color-sub3-rgb: 65, 170, 237;
	--color-sub4: #D7E8F6;
	--color-light: #FFFFFF;
	--color-light-rgb: 255, 255, 255;	
	
	--color-bg1-rgb: 0, 158, 162, 0.08;
	--color-bg2-rgb: rgba(65, 170, 237, 0.08);
	--color-attention: #E50000;
	--color-attention-rgb: 229, 0, 0;
	--color-inactive: #A8A8A8;
	--color-inactive-rgb: 168, 168, 168;
	--color-limited: #63C878;
	--color-limited-rgb: 99, 200, 120;
	--color-text-base: #1A1A1A;
	--color-text-base-rgb: 26, 26, 26;
	--color-text-link: #1A1A1A;
	--color-text-link-rgb: 26, 26, 26;
	--color-outline: #1A1A1A;
	--color-outline-rgb: 26, 26, 26;
	--color-bg-base: #ffffff;
	--color-bg-base-rgb: 255, 255, 255;
	--color-border: #E5E5E5;
	--color-border-rgb: 229, 229, 229;
	--site-width: 1000px;
	--space-inline: 15px;
	--space-block: 60px;
	--space-block-small: 40px;
	--space-block-small2: 30px;
	--space-block-xs: 20px;
	--space-block-large: 120px;
	--header-size: 120px;
	--scroll-adjust: 0px;
	--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-base);
	font-family: var(--font-family);
	font-weight: var(--font-weight);
	background: #fff;
	word-wrap: break-word;
	-webkit-text-size-adjust: none; /*202009 100%はiPadでサイズが変わってしまうのでnoneを使う*/
}
@media (max-width: 768px) {
	body {
		font-size: 0.875rem;
	}
}
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);
}
a::-moz-focus-inner, button::-moz-focus-inner {
	border: 0;
}

a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}

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;*/
}
strong {
	color: var(--color-primary);
}


@media (hover: hover) and (pointer: fine) {
	a:hover {
		text-decoration: underline;
		color: var(--color-base-light);
	}
}
@media (max-width: 1000px) {
	:root {
		--header-size: 70px;
		--scroll-adjust: 70px;
	}
}
@media (max-width: 768px) {
	:root {
		--space-block-large: 115px;
	}
}