@charset "utf-8";


/*====================================================================

　Reset

====================================================================*/

/* Box sizingの定義 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* デフォルトのpaddingを削除 */
ul[class],
ol[class] {
  padding: 0;
}

/* デフォルトのmarginを削除 */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* bodyのデフォルトを定義 */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.8;
}

/* class属性を持つul、ol要素のリストスタイルを削除 */
ul[class],
ol[class] {
  list-style: none;
}

/* classを持たない要素はデフォルトのスタイルを取得 */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* img要素の扱いを簡単にする */
img {
	display: block;
  max-width: 100%;
}

/* article要素内の要素に自然な流れとリズムを定義 */
article > * + * {
  margin-top: 1em;
}

/* inputやbuttonなどのフォントは継承を定義 */
input,
button,
textarea,
select {
  font: inherit;
}

/* 見たくない人用に、すべてのアニメーションとトランジションを削除 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* formのlayoutをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

/*====================================================================

　Base

====================================================================*/

html {
	font-size: 62.5%;
}
body {
	position: relative;
	color: #212121;
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
body#l-wrapper.nav-open {
	overflow-y: hidden;
}

input, 
button, 
select, 
textarea {
  font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  outline: none;
}

/*
link
---------------------------------------------------------*/

a:link {
	color: #212121;
	text-decoration: none;
}
a:visited {
	color: #212121;
	text-decoration: none;
}
a:hover {
	color: #0084CF;
	text-decoration: underline;
}

header a:link, 
header a:visited {
	text-decoration: none;
}

.l-container--60 a:link, 
.l-container--60 a:visited {
	color: #0084CF;
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*
fonts
---------------------------------------------------------*/

h1, h2, h3, h4 {
	clear: both;
}
p {
	margin: 1em 0;
	font-size: 1.5rem;
}
input,
textarea,
button,
select {
font-size: 1.5rem;
}

.nojs {
	display: block;
	margin: 20px auto;
	padding: 25px;
	color: #F00000;
	font-size: 1.5rem;
	width: 90%;
	max-width: 1360px;
	border: 5px solid #F00000;
	text-align: center;
}

@media screen and (max-width: 768px) {
	html,body {
		height: auto;
	}
	html { -webkit-text-size-adjust: 100% } /* 文字サイズの自動調整をオフ */
	html {
		font-size: 58%;
	}
	p {
		font-size: 1.4rem;
	}
	img {
		max-width: 100%;
		height: auto;
	}
}

/* list */
main ul, main  ol {
	margin: 1.5em 0;
	font-size: 1.5rem;
}

/* table */
table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 1em 0;
	font-size: 1.5rem;
	width: 100%;
}
table th, 
table td {
	padding: .5em 1em;
	border: 1px solid #c9caca;
}

/* dl */
dl {
	margin: 1em 0;
	font-size: 1.5rem;
}
@media screen and (max-width: 960px) {
	main ul, main ol, table, dl {
		font-size: 1.4rem;
	}
	table th, 
	table td {
		padding: .3em .5em;
	}
}





