/* -----------------------------------------------------------------------
   Reset
--------------------------------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body,
h1, h2, h3, h4, h5, h6,
p,
ul, ol,
dl, dt, dd,
figure,
blockquote {
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a:link {
	text-decoration: underline;
}
a:visited {
	color:#00e;
	text-decoration: underline;
}
a:hover, a:active, a:focus {
	text-decoration: none;
}


/* -----------------------------------------------------------------------
   レスポンシブ
--------------------------------------------------------------------------*/

@media print, screen and (min-width: 901px) {
	.display-sp {
		display:none !important;
	}
}

@media screen and ( max-width:900px) {
	.display-pc {
		display:none !important;
	}
}

/* -----------------------------------------------------------------------
   本文
--------------------------------------------------------------------------*/
.top-img-wrap {
	border-top:8px solid #0067b9;
	border-bottom:8px solid #0067b9;
}

.top-img {
	max-width:1580px;
	margin:0 auto;
}

@media screen and ( max-width:900px) {
	.top-img {
		max-width:700px;
	}
	.top-img-sub-sp {
		max-width:700px;
		margin:0 auto;
	}
	.top-sub-text-wrap-sp {
		background:#0067b9;
		padding:17px 5%;
	}
	.top-sub-text-sp {
		max-width:617px;
		margin:0 auto;
		font-size:17.5px;
		font-weight:bold;
		color:#fff;
		text-align: justify;
	}
}

.body-section {
	padding:70px 40px 30px;
}

.body-wrap {
	max-width:900px;
	margin:0 auto;
}

@media screen and ( max-width:900px) {
	.body-section {
		padding:0 5% 30px;
	}
	.body-wrap {
		max-width:610px;
	}
}

.text-q {
	font-size:21px;
	font-weight:bold;
	color:#0067b9;
	line-height:1.7;
	text-align: justify;
	margin:28px 0 20px;
}

.text-q:before {
	content: "";
	display:inline-block;
	width:38px;
	height:8px;
	margin-right:5px;
	border-top:1px solid #0067b9;
}

.text-a {
	font-size:20.5px;
	color:#4a4a4a;
	line-height:1.8;
	text-align: justify;
	margin-bottom:19px;
}

.text-a span.name {
	font-size:20.5px;
	font-weight:bold;
	color:#00a33e;
}

.heading {
	border-top:1px solid #e4002b;
	border-bottom:1px solid #e4002b;
	margin:65px 0 28px;
}

.heading-text {
	max-width:550px;
	margin:0 auto;
}

.zu-box {
	border:1px solid #999;
	border-radius:6px;
	overflow:hidden;
	margin:30px 0;
}

.photo {
	max-width:530px;
	margin:45px auto 30px;
}

@media screen and ( max-width:900px) {
	.text-q,
	.text-a,
	.text-a span.name {
		font-size:17px;
	}
	.text-q {
		margin:20px 0 14px;
	}
	.text-a {
		margin-bottom:12px;
	}
	.heading {
		margin:35px 0 20px;
	}
	.heading-text {
		max-width:360px;
	}
	.zu-box {
		margin:20px 0;
	}
	.photo {
		margin:20px 0;
	}
}

/* -----------------------------------------------------------------------
   問い合わせ
--------------------------------------------------------------------------*/
.contact-title {
	border-top:1px solid #aaa;
	padding-top:5px;
	font-size:19px;
	color:#666;
	margin:80px 0 30px;
}

.logo {
	display:block;
	max-width:285px;
	margin:0 auto 40px;
}

.syamei {
	font-size:19px;
	font-weight:bold;
	color:#555;
	text-align:center;
	margin-bottom:10px;
}

.adress {
	font-size:17px;
	color:#333;
	text-align:center;
	margin-bottom:5px;
}

.link-url {
	font-size:17px;
	text-align:center;
	margin-bottom:10px;
}

.link-url a {
	color:#00f;
}

@media screen and ( max-width:900px) {
	.contact-title {
		font-size:16px;
		margin:40px 0 30px;
	}
	.logo {
		max-width:220px;
	}
	.syamei {
		font-size:16px;
		margin-bottom:7px;
	}
	.adress {
		font-size:14px;
	}
	.link-url {
		font-size:14px;
	}
}