@charset "UTF-8";

/* 基本色 */
:root {
	--濃色: SteelBlue;
	--薄色: mintcream;
	--強色: PaleVioletRed;
	--弱色: White;
	--広幅: 1000px;
	--狭幅: 800px;
}
/* 基本設定： フォントサイズ */
@media (max-width: 599px) {
	:root {
		font-size: 14px;
	}
}
@media (min-width: 600px) and (max-width: 799px) {
	:root {
		font-size: 16px;
	}
}
@media (min-width: 800px) {
	:root {
		font-size: 18px;
	}
}
/* 基本設定： ページ全体 */
body {
	font-size: 16px;
	margin: 0;
	font-family: 'メイリオ', 'Hiragino Kaku Gothic Pro', 'Montserrat', sans-serif;
}
h1 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 30px;
}
h2 {
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 20px;
}
a {
  color: var(--濃色);
  padding: 10px 30px;
  display: inline-block;
  border: none;
	text-decoration: none;
}
a:hover	{
	color:var(--強色);
}
p {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 25px;
}
table {
  border-collapse: separate;
  border-spacing: 5px;
  margin: 0 auto;
}
td,th{
  padding: 10px;
}
th{
  background: var(--濃色);
  color: var(--弱色);
}
td{
	background: var(--薄色);
}

fieldset.お知らせ{
	border:solid 5px var(--濃色);
	text-align: left;
}

.画像なし  {
	padding-top: 20px;
	padding-bottom: 20px;
}
.画像なし .文 {
	padding-left: 20px;
	padding-right: 20px;
	/*text-align: center;*/
}
.画像なし .icon	{
	display: inline-block;
	margin-bottom: 20px;
	font-size: 40px;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;
	background-color: var(--濃色);
	color: var(--弱色);
}

@media (min-width: 768px) {
	.画像なし  {
		display: flex;
		max-width: var(--広幅);
		margin-left: auto;
		margin-right: auto;
	}
	.画像なし .文	{
		flex: 1;
	}
}

.画像左_背景色あり {
	background-color: var(--濃色);
	color: var(--弱色);
	padding-top: 20px;
	padding-bottom: 20px;
}

.画像右_背景色なし {
	padding-top: 20px;
	padding-bottom: 20px;
}

.画像左_背景色あり .画像, .画像右_背景色なし .画像{
	min-height: 200px;
	background-image: var(--photoname);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.画像左_背景色あり .文, .画像右_背景色なし .文 {
	padding-left: 20px;
}

@media (min-width: 768px) {
	.画像左_背景色あり  {
		display: flex;
		max-width: var(--広幅);
		margin-left: auto;
		margin-right: auto;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.画像右_背景色なし {
		display: flex;
		flex-direction: row-reverse;
		max-width: var(--広幅);
		margin-left: auto;
		margin-right: auto;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.画像左_背景色あり .文 {
		flex: 2;
		padding: 40px;
	}
	.画像右_背景色なし .文 {
		flex: 1;
		padding: 50px;
	}
	.画像左_背景色あり .画像 {
		flex: 3;
	}
	.画像右_背景色なし .画像 {
		flex: 0 0 400px;
	}
}

/* フッター */
footer {
	color: var(--弱色);
	background-color: var(--濃色);
}
footer  {
	padding: 20px 20px;
}
/* フッターA： 会社情報 */
.フッター会社 {
	margin-bottom: 30px;
}
.フッター会社 p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 14px;
}
.フッター会社 a {
	color: inherit;
}
.フッター目次 div {
	margin-bottom: 20px;
}
.フッター目次 h3 {
	margin-top: 0;
	margin-bottom: 10px;
	border-bottom: solid 1px currentColor;
	font-size: 14px;
}
.フッター目次 ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.フッター目次 a {
	display: block;
	padding: 5px;
	color: var(--弱色);
	font-size: 12px;
}
.フッター目次 a:hover {
	color: var(--強色);
}
.フッターコピーライト {
	font-size: 12px;
	text-align: center;
}
@media (min-width: 768px) {
	footer  {
		display: flex;
		flex-wrap: wrap;
		max-width: var(--広幅);
		margin-left: auto;
		margin-right: auto;
	}
	.フッター会社 {
		flex: 0 0 40%;
	}
	.フッター目次 {
		flex: 0 0 60%;
	}
	.フッターコピーライト {
		flex: 0 0 100%;
	}
	.フッター目次 {
		display: flex;
	}
	.フッター目次 div {
		flex: 1;
	}
	.フッター目次 div:not(:first-child) {
		margin-left: 40px;
	}
}

/* ヘッダー */
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background-color: var(--弱色);
}

.ヘッダー header {
	position: static;
	border-bottom: solid 1px var(--濃色);
}

/* ヘッダーロゴ: サイト名 */
.ヘッダーロゴ {
	display: inline-block;
	line-height: 70px;
	padding-left: 20px;
	padding-right: 20px;
	background-color: var(--濃色);
	color: var(--弱色);
	font-size: 24px;
}
/* ヘッダーナビ： ナビゲーションメニュー */
.ヘッダーナビ ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ヘッダーナビ a {
	display: block;
	padding: 15px;
	font-size: 14px;
}

@media (min-width: 768px) {
	header  {
		display: flex;
		align-items: center;
		justify-content: space-between;
		max-width: var(--広幅);
		margin-left: auto;
		margin-right: auto;
	}
	.ヘッダーナビ ul {
		display: flex;
	}
}


/* トグルボタン */
@media (max-width: 767px) {
	/* 小さい画面用の設定 */
	header .container-small {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.ヘッダーナビトグルボタン {
		margin-right: 10px;
		padding: 0;
		border: none;
		outline: none;
		background: none;
		font-size: 28px;
		opacity: 0.5;
	}
	.ヘッダーナビトグルボタン:hover {
		opacity: 0.3;
	}
	.ヘッダーナビ {
		display: none;
	}
}

@media (min-width: 768px) {
	.ヘッダーナビトグルボタン {
		display: none;
	}
	.ヘッダーナビ {
		display: block !important;
	}
}
/* コンテンツページ */
.コンテンツ  {
	max-width: var(--狭幅);
	margin-left: auto;
	margin-right: auto;
	padding: 20px;
}
.コンテンツ h1 {
	margin-top: 15px;
	padding-left: 15px;
	border-left: solid 15px var(--強色);
	font-size: 30px;
}
.コンテンツ p {
	font-size: 15px;
}
.コンテンツ img {
	max-width: 100%;
}


/* お問い合わせページ: 連絡先 */
.連絡先 {
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 20px;
	border: solid 1px var(--濃色);
	text-align: center;
}

.連絡先 span	{
	display: inline-block;
	margin-bottom: 20px;
	font-size: 40px;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;
	background-color: var(--濃色);
	color: var(--弱色);
}

@media (min-width: 768px) {
	.連絡先-１包 {
		display: flex;
	}
	.連絡先 {
		flex: 1;
	}
	.連絡先:first-child {
		margin-right: 20px;
	}
}

@media print{
	.印刷なし{
	display:none;
	}
	.改ページ {
		page-break-after: always;
	}
	td,th{
		color:black;
		border:1px solid black;
	}
}
