@charset "utf-8";

@media screen and (max-width: 480px) {
}
@media screen and (max-width: 768px) {
	.content-box {
		clear: both;
		width: calc(100% - 32px);
		margin: 0 auto 6.4vw auto;
	}
	.content-box .title {
		border-bottom: 2px solid #1886d1;
		margin-bottom: 16px;
	}
	.content-box .title h2 {
		display: inline-block;
		font-weight: 700;
		font-size: 4vw;
		padding-bottom: 6px;
		border-bottom: 3px solid #1886d1;
	}
	#page_top {
		width: 100%;
		background: url('/img/page_header.png') no-repeat;
		background-size: cover;
		position: relative;
	}
	#page_top {
		height: 16vw;
		margin-bottom: 4.8vw;
	}
	#page_top h1 {
		display: block;
		position: absolute;
		top: 50%;
		color: #fff;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		background: linear-gradient(90deg, #000, rgba(0,0,128,0));
		border-bottom: 2px solid #c00000;
	}
	#page_top h1 {
		font-size: 3.2vw;
		text-indent: 4vw;
		padding: 0.4vw 12vw 0.4vw 0;
	}
	#page_top h1 span {
		font-family: 'Crimson Text', serif;
		color: #eee;
		font-size: 2.4vw;
		margin-left: 2.4vw;
	}
	.local-navi {
		clear: both;
		width: 100%;
		margin: 2.4vw auto 2.4vw auto;
		display: table;
		border-collapse: separate;
		border-spacing: 24px 0;
	}
	.local-navi li {
		display: block;
		width: 100%;
		font-weight: 700;
		font-size: 3.2vw;
		padding: 12px 0;
		margin-bottom: 2.4vw;
		background-color: #1886d1;
		border-radius: 24px;
		text-align: center;
	}
	.local-navi li a {
		display: block;
		color: #fff;
	}
	.content-box {
		clear: both;
		width: calc(100% - 4.8vw);
		margin: 0 auto 8vw auto;
	}
	.content-box .title {
		border-bottom: 2px solid #1886d1;
		margin-bottom: 1.0vw;
	}
	.content-box .title h2 {
		display: inline-block;
		font-weight: 700;
		font-size: 4vw;
		padding-bottom: 5px;
		border-bottom: 3px solid #1886d1;
	}
	.content-box .content {
		background: linear-gradient(90deg, #f1f9ff, #fff);
		padding: 0 16px;
		font-size: 3.2vw;
		line-height: 4.0vw;
	}
	.content-box .content > dl {
		padding: 16px 0;
		width: 100%;
		display: table;
		border-bottom: 1px dotted #aaa;
	}
	.content-box .content > dl:last-child {
		border: 0;
	}
	.content-box .content > dl dt {
		font-weight: 700;
		line-height: 4.0vw;
		margin-bottom: 1.2vw;
	}	
	.content-box .content > dl dd {
		line-height: 4vw;
	}	
	.content-box .content > dl dd dt {
		display: block;
		line-height: 4vw;
		margin-bottom: 6px;
	}
	.content-box .content > dl dd dd {
		display: block;
		line-height: 4vw;
		margin: 0 0 12px 12px;
	}
	.content-box .content > dl dd dd:last-child {
		margin-bottom: 0;
	}
	.content-box .content ul, .content-box .content p {
		padding: 8px 0;
	}
	.content-box .content li {
		list-style-position: inside;
		list-style-type: disc;
		margin: 12px 0;
	}
	.content-box .content li.oth {
		list-style-type: none;
	}
}
@media screen and (min-width: 769px) {
	#page_top {
		width: 100%;
		background: url('/img/page_header.png') no-repeat;
		background-size: cover;
		position: relative;
	}
	#page_top h1 {
		display: block;
		position: absolute;
		top: 50%;
		color: #fff;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		background: linear-gradient(90deg, #000, rgba(0,0,128,0));
		border-bottom: 2px solid #c00000;
	}
	#page_top h1 span {
		font-family: 'Crimson Text', serif;
		color: #eee;
	}
	.content-box .content > dl dd dd:last-child {
		margin-bottom: 0;
	}
	.content-box .content ul, .content-box .content p {
		padding: 8px 0;
	}
	.content-box .content li {
		list-style-position: inside;
		list-style-type: disc;
		margin: 12px 0;
	}
	.content-box .content li.oth {
		list-style-type: none;
	}
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
	#page_top {
		position: fixed;
		height: 9.6vw;
		top: 4.8vw;
		margin-bottom: 4.8vw;
	}
	main {
		padding-top: calc(8.4vw + 9.6vw);
	}
	#page_top h1 {
		font-size: 2.0vw;
		text-indent: 4vw;
		padding: 0.4vw 12vw 0.4vw 0;
	}
	#page_top h1 span {
		font-size: 1.6vw;
		margin-left: 4vw;
	}
	.content-box .title {
		border-bottom: 2px solid #1886d1;
		margin-bottom: 1.0vw;
	}
	.content-box .title h2 {
		display: inline-block;
		font-weight: 700;
		font-size: 1.8vw;
		padding-bottom: 5px;
		border-bottom: 3px solid #1886d1;
	}
	.content-box .content {
		background: linear-gradient(90deg, #f1f9ff, #fff);
		padding: 0 16px;
		font-size: 1.2vw;
		line-height: 1.6vw;
	}
	.content-box .content > dl {
		padding: 16px;
		width: calc(100% - 32px);
		display: table;
		border-bottom: 1px dotted #aaa;
		line-height: 1.6vw;
	}
	.content-box .content > dl:last-child {
		border: 0;
	}
	.content-box .content > dl dt {
		display: table-cell;
		width: 16vw;
		font-weight: 700;
		line-height: 1.6vw;
	}
	.content-box .content > dl dd {
		display: table-cell;
		line-height: 1.6vw;
	}
	.content-box .content > dl dd dt {
		display: block;
		line-height: 1.6vw;
		margin-bottom: 6px;
	}
	.content-box .content > dl dd dd {
		display: block;
		line-height: 1.6vw;
		margin: 0 0 12px 12px;
	}
	.content-box .content > dl dd dd:last-child {
		margin-bottom: 0;
	}
	.content-box .content ul, .content-box .content p {
		padding: 8px 0;
	}
	.local-navi li {
		display: table-cell;
		font-weight: 700;
		font-size: 1.4vw;
		padding: 12px 24px;
		background-color: #1886d1;
		border-radius: 24px;
		text-align: center;
		width: 12%;	
	}
	.local-navi li a {
		display: block;
		color: #fff;
	}
}
@media screen and (min-width: 769px) and (max-width: 980px) {
	.content-box {
		clear: both;
		width: calc(100% - 4.8vw);
		margin: 0 auto 8vw auto;
	}
	.local-navi {
		clear: both;
		width: calc(100% - 4.8vw);
		margin: 2.4vw auto 4vw auto;
		display: table;
		border-collapse: separate;
		border-spacing: 24px 0;
	}
}
@media screen and (min-width: 981px) and (max-width: 1280px) {
	.content-box {
		clear: both;
		width: 960px;
		margin: 0 auto 8vw auto;
	}
	.local-navi {
		clear: both;
		width: 960px;
		margin: 2.4vw auto 4vw auto;
		display: table;
		border-collapse: separate;
		border-spacing: 24px 0;
	}
}
@media screen and (min-width: 1281px) {
	#page_top {
		position: fixed;
		height: 120px;
		top: 64px;
		margin-bottom: 64px;
	}
	main {
		padding-top: 256px;
	}
	#page_top h1 {
		font-size: 2.4rem;
		text-indent: 64px;
		padding: 4px 128px 4px 0;
	}
	#page_top h1 span {
		font-size: 1.8rem;
		margin-left: 40px;
	}
	.content-box {
		clear: both;
		width: 960px;
		margin: 0 auto 96px auto;
	}
	.local-navi {
		clear: both;
		width: 960px;
		margin: 0 auto 64px auto;
		display: table;
		border-collapse: separate;
		border-spacing: 24px 0;
	}
	.local-navi li {
		display: table-cell;
		font-weight: 700;
		font-size: 1.6rem;
		padding: 12px 24px;
		background-color: #1886d1;
		border-radius: 24px;
		text-align: center;
		width: 12%;	
	}
	.local-navi li a {
		display: block;
		color: #fff;
	}
	.content-box .title {
		border-bottom: 2px solid #1886d1;
		margin-bottom: 16px;
	}
	.content-box .title h2 {
		display: inline-block;
		font-weight: 700;
		font-size: 2.2rem;
		padding-bottom: 6px;
		border-bottom: 3px solid #1886d1;
	}
	.content-box .content {
		background: linear-gradient(90deg, #f1f9ff, #fff);
		padding: 0 16px;
		font-size: 1.4rem;
		line-height: 1.8rem;
	}
	.content-box .content > dl {
		padding: 16px;
		width: calc(100% - 32px);
		display: table;
		border-bottom: 1px dotted #aaa;
		line-height: 1.8rem;
	}
	.content-box .content > dl:last-child {
		border: 0;
	}
	.content-box .content > dl dt {
		display: table-cell;
		width: 180px;
		font-weight: 700;
		line-height: 1.8rem;
	}
	.content-box .content > dl dd {
		display: table-cell;
		line-height: 1.8rem;
	}
	.content-box .content > dl dd dt {
		display: block;
		line-height: 1.8rem;
		margin-bottom: 6px;
	}
	.content-box .content > dl dd dd {
		display: block;
		line-height: 1.8rem;
		margin: 0 0 12px 12px;
	}
	.content-box .content > dl dd dd:last-child {
		margin-bottom: 0;
	}
	.content-box .content ul, .content-box .content p {
		padding: 8px 0;
	}
}