main.contents * + h3, main.contents * + .image_box, main.contents * + .column {
	margin-top: 32px;
}
.sp main.contents * + h3, main.contents .sp * + h3, .sp main.contents * + .image_box, main.contents .sp * + .image_box, .sp main.contents * + .column, main.contents .sp * + .column {
	margin-top: 24px;
}

main.contents * + h2, main.contents * + .entry_index, main.contents * + .pagenavigation {
	margin-top: 48px;
}

* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
}

html {
	font-size: 16px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}

body, th, td, input, select, textarea {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
}
.sp body, .sp th, .sp td, .sp input, .sp select, .sp textarea {
	font-size: 12.8px;
	font-size: 0.8rem;
	line-height: 14.08px;
	line-height: 0.88rem;
}

body {
	margin: 0px auto;
}

img {
	border: 0px;
}

a {
	text-decoration: none;
	color: #000;
}
a:hover {
	opacity: 0.7;
}
a.ex {
	padding-right: 22px;
	background: url(../images/ico_ex.png) no-repeat right;
	background-size: 15px 15px;
}
a.ex_w {
	padding-right: 22px;
	background: url(../images/ico_ex_w.png) no-repeat right;
	background-size: 16px 16px;
}
a[href$=".pdf"]:after, a.ico_pdf:after {
	position: relative;
	content: "";
	display: inline-block;
	vertical-align: text-bottom;
	width: 12px;
	height: 14px;
	top: -4px;
	margin-left: 5px;
	background: url(../images/ico_pdf.png) no-repeat;
	background-size: 12px 14px;
}
@media all and (-ms-high-contrast: none) {
  a[href$=".pdf"]:after, a.ico_pdf:after {
		top: -5px;
  }
}

dl, ul, ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

p {
	margin: 0;
	line-height: 1.5;
}

.clear {
	clear: both;
}

.sp .view_pc {
	display: none !important;
}

.view_sp {
	display: none !important;
}
.sp .view_sp {
	display: block !important;
}

.sp header {
	border-bottom: 1px solid #0856a5;
}
header > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 20px 20px 20px;
}
.sp header > div {
	padding: 10px 20px 10px;
}
.sp header > div {
	padding: 15px 10px;
}
header > div > div {
	display: table;
	width: 100%;
}
header > div > div > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp header > div > div {
	display: block;
}
header > div > div > #logo {
	width: 40%;
	padding-right: 60px;
}
.pc header > div > div > #logo {
	width: 45%;
	padding-right: 20px;
}
.sp header > div > div > #logo {
	display: block;
	width: 100%;
}
header > div > div > #logo img {
	max-width: 100%;
	height: auto;
}
.sp header > div > div > #logo img {
	width: 200px;
}
.sp header > div > div > #utility {
	display: none;
}
header > div > div > #utility .top {
	text-align: right;
}
header > div > div > #utility .top:after {
	content: "";
	display: block;
	clear: both;
}
header > div > div > #utility .top > div {
	display: table;
	float: right;
}
header > div > div > #utility .top > div > * {
	display: table-cell;
	vertical-align: middle;
	padding-left: 10px;
}
header > div > div > #utility .top > div > *.language {
	background: #0856a5;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
	color: #95afd2;
	padding: 5px 10px;
}
header > div > div > #utility .top > div > *.language a {
	color: #fff;
}
header > div > div > #utility .top > div > *.search input[type="text"] {
	padding: 3px;
}
.pc header > div > div > #utility .top > div > *.search input[type="text"] {
	width: 150px;
}
header > div > div > #utility .top > div > *.search input[type="submit"] {
	width: 28px;
	height: 28px;
	margin-left: 7px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	border: none;
	text-indent: -9999px;
	background: url(../images/search.png) no-repeat 6px 6px #0856a5;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
header > div > div > #utility .top > div > *.search input[type="submit"]:hover {
	opacity: 0.7;
}
header > div > div > #utility .top > div > *.search form + img {
	display: none;
}
header > div > div > #utility .submenu {
	text-align: right;
}
header > div > div > #utility .submenu ul {
	display: inline-block;
	background: #e4ae00;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	text-align: left;
	margin-top: 10px;
	padding: 10px 10px 0px 10px;
}
header > div > div > #utility .submenu ul li {
	position: relative;
	display: inline-block;
	padding-right: 10px;
	margin-bottom: 10px;
}
header > div > div > #utility .submenu ul li:not(:last-child):after {
	position: absolute;
	content: "";
	width: 1px;
	height: 80%;
	top: 10%;
	right: 0;
	background: #fff;
}
header > div > div > #utility .submenu ul li:last-child {
	padding-right: 0;
}
header > div > div > #utility .submenu ul li a {
	font-weight: bold;
	color: #fff;
}
header #spmenuswitch {
	display: none;
}
.sp header #spmenuswitch {
	display: block;
	position: absolute;
	right: 10px;
	top: 11px;
	width: 30px;
	height: 30px;
}
.sp header #spmenuswitch a {
	position: relative;
	display: inline-block;
	width: 30px;
	height: 30px;
	transition: all .4s;
}
.sp header #spmenuswitch a span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #0856a5;
	border-radius: 4px;
}
.sp header #spmenuswitch a span:nth-of-type(1) {
	top: 3px;
}
.sp header #spmenuswitch a span:nth-of-type(2) {
	top: 13px;
}
.sp header #spmenuswitch a span:nth-of-type(3) {
	bottom: 3px;
}
.sp header #spmenuswitch a.open span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}
.sp header #spmenuswitch a.open span:nth-of-type(2) {
	opacity: 0;
}
.sp header #spmenuswitch a.open span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}

#globalnavi {
	background: #0856a5;
}
.sp #globalnavi {
	display: none;
}
#globalnavi > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
}
.sp #globalnavi > div {
	padding: 0px 20px;
}
.sp #globalnavi > div {
	padding: 0;
}
#globalnavi > div ul li {
	display: inline-block;
	margin-right: 20px;
	line-height: 1.8;
}
.sp #globalnavi > div ul li {
	display: block;
	margin-right: 0;
}
#globalnavi > div ul li a {
	display: inline-block;
	padding: 10px 0px;
	font-weight: bold;
	color: #fff;
}
.sp #globalnavi > div ul li a {
	display: block;
	width: 100%;
	background: #0856a5;
	color: #fff;
	padding: 10px;
	border-bottom: 1px solid #fff;
}
#globalnavi > div ul li a.mega_ac {
	position: relative;
}
#globalnavi > div ul li a.mega_ac:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 5px;
	background: #e4ae00;
	bottom: 0;
	right: 0;
}

#megamenu {
	display: none;
	position: absolute;
	width: 100%;
	z-index: 200;
}
#megamenu > * {
	display: none;
}
#megamenu .title {
	position: relative;
	background: #e4ae00;
}
#megamenu .title > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	padding: 15px 20px;
}
.sp #megamenu .title > div {
	padding: 0px 20px;
}
#megamenu .title > div p a {
	font-weight: bold;
	color: #fff;
}
#megamenu .title > div .close {
	position: absolute;
	top: 10px;
	right: 20px;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
#megamenu .title > div .close:hover {
	opacity: 0.7;
}
#megamenu .title > div .close:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	width: 30px;
	height: 2px;
	background: #fff;
	transform: rotate(135deg);
}
#megamenu .title > div .close:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	width: 30px;
	height: 2px;
	background: #fff;
	transform: rotate(45deg);
}
#megamenu .list {
	background: #dedede;
}
#megamenu .list > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	padding: 15px 20px;
}
.sp #megamenu .list > div {
	padding: 0px 20px;
}
#megamenu .list > div .col3:after {
	content: "";
	display: block;
	clear: both;
}
#megamenu .list > div .col3 > li {
	width: 33.3%;
	float: left;
	padding-right: 20px;
}
#megamenu .list > div .col3 > li:nth-of-type(n+4) {
	margin-top: 30px;
}

#spnavi {
	display: none;
	position: absolute;
	background: #fff;
	width: 100%;
	z-index: 200;
}
#spnavi > div {
	top: 0;
	height: 100%;
	width: 100%;
}
#spnavi ul li {
	display: inline-block;
	margin-right: 20px;
	line-height: 1.8;
}
.sp #spnavi ul li {
	display: block;
	margin-right: 0;
}
#spnavi ul li a {
	font-weight: bold;
	color: #fff;
}
.sp #spnavi ul li a {
	display: block;
	width: 100%;
	background: #0856a5;
	color: #fff;
	padding: 10px;
	border-bottom: 1px solid #fff;
}
#spnavi .submenu li a {
	background: #e4ae00 !important;
}
#spnavi .utility li {
	border-bottom: 1px solid #0856a5;
}
#spnavi .utility li a {
	background: #fff !important;
	color: #0856a5 !important;
	font-weight: bold;
}
#spnavi .utility li.search {
	padding: 10px;
}
#spnavi .utility li.search #srchForm {
	text-align: center;
}
#spnavi .utility li.search input[type="text"] {
	padding: 3px;
	width: 220px;
}
#spnavi .utility li.search input[type="submit"] {
	width: 28px;
	height: 28px;
	margin-left: 7px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	border: none;
	text-indent: -9999px;
	background: url(../images/search.png) no-repeat 6px 6px #0856a5;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#spnavi .utility li.search input[type="submit"]:hover {
	opacity: 0.7;
}
#spnavi .utility li.search form + img {
	display: none;
}
#spnavi .utility li.logo_icu {
	text-align: center;
}

main.home {
	padding: 0px 0px 50px;
}
.sp main.home {
	padding: 0px 0px 40px;
}

#mainvisual {
	position: relative;
	width: 100%;
	height: 580px;
}
.sp #mainvisual {
	height: auto;
}
#mainvisual.sp_disp {
	display: none;
}
.sp #mainvisual.sp_disp {
	display: block;
}
#mainvisual .front {
	z-index: 10;
}
#mainvisual .bg {
	z-index: 5;
}
#mainvisual .front, #mainvisual .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 580px;
	background-position: center, center;
	background-size: cover;
}
.sp #mainvisual .front, .sp #mainvisual .bg {
	height: 250px;
}
#mainvisual .front > div, #mainvisual .bg > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 30px 20px;
}
.sp #mainvisual .front > div, .sp #mainvisual .bg > div {
	padding: 15px 20px;
}
.sp #mainvisual .front > div, .sp #mainvisual .bg > div {
	display: none;
}
#mainvisual .front > div > div, #mainvisual .bg > div > div {
	width: 530px;
	padding: 20px 10px;
	margin-left: 50px;
	background-color: rgba(255, 255, 255, 0.5);
}
#mainvisual .front > div > div.no_disp, #mainvisual .bg > div > div.no_disp {
	display: none;
}
.sp #mainvisual .front > div > div, .sp #mainvisual .bg > div > div {
	width: 100%;
	padding: 0px;
}
#mainvisual .front > div > div .title, #mainvisual .bg > div > div .title {
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 46.8px;
	line-height: 2.925rem;
	font-weight: bold;
}
#mainvisual .front > div > div .title.line, #mainvisual .bg > div > div .title.line {
	border-bottom: 5px solid #e4ae00;
	padding-bottom: 20px;
}
.sp #mainvisual .front > div > div .title, .sp #mainvisual .bg > div > div .title {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
#mainvisual .front > div > div * + .lead, #mainvisual .bg > div > div * + .lead {
	margin-top: 15px;
}
#mainvisual .front > div > div .more, #mainvisual .bg > div > div .more {
	display: inline-block;
}
#mainvisual .front > div > div .more a, #mainvisual .bg > div > div .more a {
	display: block;
	background: #0856a5;
	color: #fff;
	font-weight: bold;
	padding: 8px 15px;
	margin-top: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}
#mainvisual .item {
	display: none;
}
#mainvisual .sp_area {
	display: none;
}
.sp #mainvisual .sp_area {
	display: block;
	padding-top: 250px;
}
.sp #mainvisual .sp_area > div {
	padding: 20px 20px;
	background-color: rgba(255, 255, 255, 0.5);
}
.sp #mainvisual .sp_area > div:not(:first-child) {
	display: none;
}
.sp .sp #mainvisual .sp_area > div {
	width: 100%;
	padding: 0px;
	background: #fff;
}
.sp #mainvisual .sp_area > div .title {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: bold;
	border-bottom: 5px solid #e4ae00;
	padding-bottom: 10px;
}
.sp .sp #mainvisual .sp_area > div .title {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
.sp #mainvisual .sp_area > div .lead {
	margin-top: 15px;
}
.sp #mainvisual .sp_area > div .more {
	display: inline-block;
}
.sp #mainvisual .sp_area > div .more a {
	display: block;
	background: #0856a5;
	color: #fff;
	font-weight: bold;
	padding: 8px 15px;
	margin-top: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}
#mainvisual .selector {
	position: absolute;
	height: 15px;
	bottom: 120px;
	z-index: 30;
	width: 100%;
	text-align: center;
}
.pc #mainvisual .selector {
	bottom: 20px;
}
.sp #mainvisual .selector {
	top: 220px;
}
#mainvisual .selector li {
	display: inline-block;
	width: 15px;
	height: 15px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	border: 1px solid #0856a5;
}
#mainvisual .selector li + li {
	margin-left: 10px;
}
#mainvisual .selector li:hover {
	opacity: 0.7;
}
#mainvisual .selector li.ac {
	background: #0856a5;
}
#mainvisual .pager {
	position: relative;
	width: 100%;
	z-index: 20;
	top: 0;
	left: 0;
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
}
.sp #mainvisual .pager {
	padding: 0px 20px;
}
.sp #mainvisual .pager {
	padding: 0;
	position: absolute;
}
#mainvisual .pager .prev {
	position: absolute;
	width: 40px;
	height: 100px;
	top: 200px;
	left: 20px;
	cursor: pointer;
}
.pc #mainvisual .pager .prev {
	top: 250px;
}
.sp #mainvisual .pager .prev {
	top: 80px;
	left: 0;
}
#mainvisual .pager .prev:before {
	display: block;
	content: "";
	position: absolute;
	top: 36px;
	left: 0px;
	width: 30px;
	height: 3px;
	background: #fff;
	transform: rotate(120deg);
}
#mainvisual .pager .prev:after {
	display: block;
	content: "";
	position: absolute;
	top: 60px;
	left: 0px;
	width: 30px;
	height: 3px;
	background: #fff;
	transform: rotate(60deg);
}
#mainvisual .pager .next {
	position: absolute;
	width: 40px;
	height: 100px;
	top: 200px;
	right: 20px;
	cursor: pointer;
}
.pc #mainvisual .pager .next {
	top: 250px;
}
.sp #mainvisual .pager .next {
	top: 80px;
	right: 0;
}
#mainvisual .pager .next:before {
	display: block;
	content: "";
	position: absolute;
	top: 36px;
	right: 0px;
	width: 30px;
	height: 3px;
	background: #fff;
	transform: rotate(60deg);
}
#mainvisual .pager .next:after {
	display: block;
	content: "";
	position: absolute;
	top: 60px;
	right: 0px;
	width: 30px;
	height: 3px;
	background: #fff;
	transform: rotate(120deg);
}

#mainvisual_youtube {
	width: 100%;
	height: 580px;
	overflow: hidden;
}
.sp #mainvisual_youtube {
	display: none;
}

#top_topics {
	position: relative;
}
#top_topics .topics_area {
	position: relative;
	width: 1280px;
	padding: 20px 50px 0;
	margin: -100px auto 0;
	left: 0;
	right: 0;
	background: #fff;
	z-index: 100;
}
.pc #top_topics .topics_area {
	width: 100%;
	margin: 0;
	padding: 30px 20px 0;
}
#top_topics .topics_area h2 {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 36.4px;
	line-height: 2.275rem;
	margin: 0 0 10px;
}
.sp #top_topics .topics_area h2 {
	font-size: 22.4px;
	font-size: 1.4rem;
	line-height: 24.64px;
	line-height: 1.54rem;
}
#top_topics .topics_area .topics_list:after {
	content: "";
	display: block;
	clear: both;
}
#top_topics .topics_area .topics_list > * {
	float: left;
	display: block;
	width: 23%;
	background: #0856a5;
	color: #fff;
}
.sp #top_topics .topics_area .topics_list > * {
	width: calc(50% - 10px);
	margin-bottom: 20px;
}
.sp #top_topics .topics_area .topics_list > *:nth-of-type(2n) {
	margin-left: 20px;
}
.min #top_topics .topics_area .topics_list > * {
	width: 100%;
	margin-left: 0 !important;
}
#top_topics .topics_area .topics_list > * + a, #top_topics .topics_area .topics_list > * + span {
	margin-left: 2.66%;
}
.sp #top_topics .topics_area .topics_list > * + a, .sp #top_topics .topics_area .topics_list > * + span {
	margin-left: 0;
}
#top_topics .topics_area .topics_list > * img {
	width: 100%;
}
#top_topics .topics_area .topics_list > * p {
	padding: 10px;
}
#top_topics .bg_slant {
	position: absolute;
	width: 100%;
	height: 300px;
	bottom: 0;
	background: url(../images/bg_slant.jpg);
	z-index: 1;
}
.sp #top_topics .bg_slant {
	display: none;
}

#top_news {
	padding-top: 100px;
}
.sp #top_news {
	padding-top: 30px;
}
#top_news > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	display: table;
	width: 100%;
}
.sp #top_news > div {
	padding: 0px 20px;
}
#top_news > div > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp #top_news > div {
	display: block;
}
#top_news > div .news_area {
	width: calc(100% - 280px);
	padding-right: 30px;
	text-align: left;
}
.sp #top_news > div .news_area {
	display: block;
	width: 100%;
	padding-right: 0;
}
#top_news > div .news_area .h2_area {
	display: table;
	width: 100%;
	padding-bottom: 10px;
	border-bottom: 1px solid #e4ae00;
}
#top_news > div .news_area .h2_area > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
#top_news > div .news_area .h2_area > h2 {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 36.4px;
	line-height: 2.275rem;
	margin: 0 0 10px;
}
.sp #top_news > div .news_area .h2_area > h2 {
	font-size: 22.4px;
	font-size: 1.4rem;
	line-height: 24.64px;
	line-height: 1.54rem;
}
#top_news > div .news_area .h2_area > span {
	text-align: right;
	font-weight: bold;
}
#top_news > div .news_area .news {
	margin-top: 40px;
}
.sp #top_news > div .news_area .news {
	margin-top: 20px;
}
#top_news > div .sns_area {
	width: 280px;
}
.sp #top_news > div .sns_area {
	display: block;
	width: 100%;
	margin-top: 20px;
}
#top_news > div .sns_area .sns_list {
	text-align: right;
	margin-top: 10px;
}
.sp #top_news > div .sns_area .sns_list {
	text-align: center;
}
#top_news > div .sns_area .sns_list li {
	display: inline-block;
}
#top_news > div .sns_area .sns_list li + li {
	margin-left: 5px;
}

.news {
	width: 100%;
}
.news dt {
	clear: left;
	float: left;
	width: 120px;
	line-height: 1.5em;
	margin-bottom: 10px;
}
.sp .news dt {
	float: none;
	width: 100%;
	margin-bottom: 5px;
}
.news dd {
	margin-left: 120px;
	line-height: 1.5em;
	margin-bottom: 10px;
}
.sp .news dd {
	margin-left: 0;
	margin-bottom: 20px;
}

#gototop {
	position: fixed;
	z-index: 100;
	width: 70px;
	height: 70px;
	right: 0;
	bottom: 30px;
	background: #fff;
}
.sp #gototop {
	width: 40px;
	height: 40px;
	bottom: 0px;
}
#gototop a {
	display: block;
	width: 70px;
	height: 70px;
	background: url(../images/gototop.png) no-repeat;
}
.sp #gototop a {
	width: 40px;
	height: 40px;
	background-size: 40px 40px;
}

footer {
	border-top: 5px solid #e4ae00;
	background: #0856a5;
	color: #fff;
}
footer a {
	color: #fff;
}
footer > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 50px 20px 50px;
}
.sp footer > div {
	padding: 25px 20px 25px;
}
.sp footer > div .logo img {
	max-width: 100%;
}
footer > div .sns_list {
	margin-top: 15px;
}
footer > div .sns_list li {
	display: inline-block;
}
footer > div .sns_list li + li {
	margin-left: 5px;
}
footer > div .sns_list + .footer_area {
	margin-top: 20px;
}
footer > div .footer_area {
	display: table;
	width: 100%;
}
footer > div .footer_area > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp footer > div .footer_area {
	display: block;
}
footer > div .footer_area > * {
	width: 50%;
	text-align: left;
}
.sp footer > div .footer_area > * {
	display: block;
	width: 100%;
}
.sp footer > div .footer_area > * + * {
	margin-top: 20px;
}
footer > div .footer_area > * p {
	line-height: 2;
}
.sp footer > div .footer_area > * p + p {
	margin-top: 20px;
}

main.contents > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 50px 20px 50px;
}
.sp main.contents > div {
	padding: 25px 20px 25px;
}
main.contents #breadcrumbs ul {
	position: relative;
	width: 100%;
	margin: auto;
	padding: 0px 0px;
}
.sp main.contents #breadcrumbs ul {
	display: none;
}
main.contents #breadcrumbs ul li {
	display: inline-block;
	position: relative;
	color: #999;
}
main.contents #breadcrumbs ul li + li {
	padding-left: 30px;
}
main.contents #breadcrumbs ul li + li:before {
	position: absolute;
	content: "/";
	display: block;
	width: 6px;
	height: 6px;
	top: 0;
	left: 12px;
	color: #000;
}
main.contents .h1_area {
	display: table;
	height: 150px;
	width: 100%;
	background: url(../images/bg_h1.png) center bottom repeat-x;
	margin-bottom: 50px;
}
.sp main.contents .h1_area {
	height: auto;
	padding: 10px 0 30px;
}
main.contents .h1_area > div {
	display: table-cell;
	vertical-align: middle;
}
main.contents .h1_area > div .subtitle {
	font-weight: bold;
	margin-bottom: 5px;
}
main.contents .h1_area > div h1 {
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 39.6px;
	line-height: 2.475rem;
	margin: 0;
}
.sp main.contents .h1_area > div h1 {
	font-size: 28.8px;
	font-size: 1.8rem;
	line-height: 31.68px;
	line-height: 1.98rem;
}
main.contents h2 {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 30.8px;
	line-height: 1.925rem;
	border-bottom: 1px solid #e4ae00;
	padding-bottom: 10px;
}
.sp main.contents h2 {
	font-size: 22.4px;
	font-size: 1.4rem;
	line-height: 24.64px;
	line-height: 1.54rem;
}
main.contents h3 {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
	color: #0856a5;
	padding-bottom: 10px;
	border-bottom: 1px solid #dedede;
}
.sp main.contents h3 {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
main.contents h2 + *, main.contents h3 + * {
	margin-top: 0px !important;
}
main.contents h2 + h2 {
	margin-top: 48px !important;
}
main.contents .cat_selector {
	background: #0856a5;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	padding: 15px;
}
main.contents .cat_selector .cat {
	display: inline-block;
}
.sp main.contents .cat_selector .cat {
	display: block;
}
main.contents .cat_selector .cat a, main.contents .cat_selector .cat span {
	font-weight: bold;
	color: #fff;
}
main.contents .cat_selector .cat a.ac {
	color: #e4ae00;
}
main.contents .cat_selector .cat + .cat {
	position: relative;
	margin-left: 20px;
	padding-left: 20px;
}
.sp main.contents .cat_selector .cat + .cat {
	margin-left: 0;
	padding-left: 0;
	margin-top: 10px;
}
main.contents .cat_selector .cat + .cat:before {
	position: absolute;
	content: "";
	width: 1px;
	height: 80%;
	top: 10%;
	left: 0;
	background: #fff;
}
.sp main.contents .cat_selector .cat + .cat:before {
	display: none;
}
main.contents .cat_selector .cat ul {
	display: inline-block;
	text-align: left;
	padding: 10px 10px 0px 20px;
}
.sp main.contents .cat_selector .cat ul {
	display: block;
	padding: 10px 10px 0px 10px;
}
main.contents .cat_selector .cat ul li {
	position: relative;
	display: inline-block;
	padding-right: 10px;
	margin-bottom: 10px;
}
main.contents .cat_selector .cat ul li:not(:last-child):after {
	position: absolute;
	content: "";
	width: 1px;
	height: 80%;
	top: 10%;
	right: 0;
	background: #fff;
}
main.contents .cat_selector .cat ul li a {
	font-weight: bold;
	color: #fff;
}
main.contents .cat_selector .cat ul li a.ac {
	color: #e4ae00;
}
main.contents .entry_index > div {
	display: table;
	width: 100%;
	direction: rtl;
	padding-bottom: 20px;
	border-bottom: 1px dashed #000;
}
main.contents .entry_index > div > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main.contents .entry_index > div {
	display: block;
	direction: ltr;
}
main.contents .entry_index > div + div {
	padding-top: 20px;
}
main.contents .entry_index > div > .tx {
	width: calc(100% - 300px);
	direction: ltr;
}
.sp main.contents .entry_index > div > .tx {
	display: block;
	width: 100%;
}
main.contents .entry_index > div > .tx .date {
	font-weight: bold;
}
main.contents .entry_index > div > .tx .title {
	font-weight: bold;
	font-size: 19.2px;
	font-size: 1.2rem;
	line-height: 21.12px;
	line-height: 1.32rem;
}
.sp main.contents .entry_index > div > .tx .title {
	font-size: 17.6px;
	font-size: 1.1rem;
	line-height: 19.36px;
	line-height: 1.21rem;
}
main.contents .entry_index > div > .tx .sub {
	display: table;
	width: 100%;
	width: auto;
	margin-top: 15px;
}
main.contents .entry_index > div > .tx .sub > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main.contents .entry_index > div > .tx .sub {
	display: block;
}
main.contents .entry_index > div > .tx .sub > .cat {
	min-width: 120px;
}
.sp main.contents .entry_index > div > .tx .sub > .cat {
	display: block;
}
main.contents .entry_index > div > .tx .sub > .cat span {
	display: inline-block;
	width: 100%;
	padding: 5px 10px;
	background: #dedede;
	text-align: center;
}
main.contents .entry_index > div > .tx .sub > .cat + .tag {
	padding-left: 20px;
}
main.contents .entry_index > div > .tx .sub > .tag {
	line-height: 1.8;
}
.sp main.contents .entry_index > div > .tx .sub > .tag {
	display: block;
	padding-left: 0px;
	margin-top: 10px;
}
main.contents .entry_index > div > .tx .lead {
	margin-top: 15px;
}
main.contents .entry_index > div > .img {
	width: 300px;
	padding-right: 20px;
}
.sp main.contents .entry_index > div > .img {
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 15px;
	padding-right: 0px;
}
main.contents .entry_index > div > .img img {
	width: 280px;
}
.sp main.contents .entry_index > div > .img img {
	width: auto;
	max-width: 100%;
}
main.contents .pagenavigation {
	padding-bottom: 40px;
	text-align: center;
}
.sp main.contents .pagenavigation {
	padding-bottom: 105px;
}
main.contents .pagenavigation > div {
	position: relative;
	display: inline-block;
	font-size: 0px;
	line-height: 0px;
}
.sp main.contents .pagenavigation > div {
	width: 100%;
}
main.contents .pagenavigation span {
	display: inline-block;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 45px;
	font-weight: bold;
}
main.contents .pagenavigation span a {
	display: block;
	width: 45px;
	height: 45px;
	margin: 0px 10px;
	text-align: center;
	color: #ffffff;
	background: #0856a5;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main.contents .pagenavigation span a:hover {
	opacity: 0.7;
}
main.contents .pagenavigation span.current_page {
	width: 45px;
	height: 45px;
	margin: 0px 10px;
	text-align: center;
	color: #ffffff;
	background: #e4ae00;
}
main.contents .pagenavigation span.alt {
	position: absolute;
	display: block;
	top: 6.5px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
.sp main.contents .pagenavigation span.alt {
	top: 71.5px;
}
main.contents .pagenavigation span.alt a {
	position: relative;
	width: 32px;
	height: 32px;
	margin: 0px;
	color: #000000;
	background: #ffffff;
	border-radius: 50%;
	box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.3);
}
main.contents .pagenavigation span.alt a:after {
	content: "";
	display: block;
	position: absolute;
	margin-left: -1px;
	top: 11px;
	left: 50%;
	border: 5px solid transparent;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
main.contents .pagenavigation span.alt a span {
	position: absolute;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	display: block;
	top: 55px;
	left: 50%;
	width: 100%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
main.contents .pagenavigation span.alt.first {
	left: -128px;
}
.sp main.contents .pagenavigation span.alt.first {
	left: 20px;
}
main.contents .pagenavigation span.alt.first a:after {
	border-left: 0px;
	border-right: 7px solid #0856a5;
}
main.contents .pagenavigation span.alt.first a:before {
	content: "";
	display: block;
	position: absolute;
	top: 11px;
	left: 10px;
	width: 1px;
	height: 10px;
	background: #0856a5;
}
main.contents .pagenavigation span.alt.prev {
	left: -64px;
}
.sp main.contents .pagenavigation span.alt.prev {
	left: 84px;
}
main.contents .pagenavigation span.alt.prev a:after {
	border-left: 0px;
	border-right: 7px solid #0856a5;
}
main.contents .pagenavigation span.alt.next {
	right: -64px;
}
.sp main.contents .pagenavigation span.alt.next {
	right: 84px;
}
main.contents .pagenavigation span.alt.next a:after {
	margin-left: 1px;
	border-right: 0px;
	border-left: 7px solid #0856a5;
}
main.contents .pagenavigation span.alt.last {
	right: -128px;
}
.sp main.contents .pagenavigation span.alt.last {
	right: 20px;
}
main.contents .pagenavigation span.alt.last a:after {
	margin-left: 1px;
	border-right: 0px;
	border-left: 7px solid #0856a5;
}
main.contents .pagenavigation span.alt.last a:before {
	content: "";
	display: block;
	position: absolute;
	top: 11px;
	right: 10px;
	width: 1px;
	height: 10px;
	background: #0856a5;
}
main.contents .image_box {
	display: table;
	width: 100%;
}
main.contents .image_box > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main.contents .image_box {
	display: block;
}
main.contents .image_box > .tx {
	width: calc(100% - 280px);
}
.sp main.contents .image_box > .tx {
	display: block;
	width: 100%;
}
main.contents .image_box > .img {
	width: 280px;
}
.sp main.contents .image_box > .img {
	display: block;
	width: 100%;
	text-align: center;
}
main.contents .image_box > .img img {
	width: 100%;
}
.sp main.contents .image_box > .img img {
	width: auto;
	max-width: 100%;
}
main.contents .image_box > *:first-child {
	padding-right: 20px;
}
.sp main.contents .image_box > *:first-child {
	padding-right: 0px;
	margin-bottom: 15px;
}
main.contents .related_contents:after {
	content: "";
	display: block;
	clear: both;
}
main.contents .related_contents > a {
	float: left;
	display: block;
	width: calc(25% - 15px);
	background: #0856a5;
	color: #fff;
}
.sp main.contents .related_contents > a {
	width: calc(50% - 10px);
	margin-bottom: 20px;
}
.sp main.contents .related_contents > a:nth-of-type(2n) {
	margin-left: 20px;
}
.min main.contents .related_contents > a {
	width: 100%;
	margin-left: 0 !important;
}
main.contents .related_contents > a + a {
	margin-left: 20px;
}
.sp main.contents .related_contents > a + a {
	margin-left: 0;
}
main.contents .related_contents > a img {
	width: 100%;
}
main.contents .related_contents > a p {
	padding: 10px;
}
main.contents * + .edit_area {
	margin-top: 32px;
}
main.contents .edit_area {
	line-height: 1.5;
}
main.contents .edit_area * + p {
	margin-top: 20px;
}
main.contents .edit_area strong {
	color: #e4ae00;
}
main.contents .edit_area a {
	color: #0856a5;
	text-decoration: underline;
}
main.contents .edit_area a:hover {
	text-decoration: none;
}
main.contents .edit_area table {
	margin-top: 30px;
	width: 100%;
	border-collapse: collapse;
}
main.contents .edit_area table th {
	background: #0856a5;
	border: 1px solid #fff;
	padding: 10px 5px;
	color: #fff;
	text-align: left;
}
main.contents .edit_area table td {
	border: 1px solid #fff;
	padding: 10px 5px;
}
main.contents .edit_area table tbody tr:nth-of-type(2n+1) td {
	background: #cedded;
}
main.contents .edit_area table thead th {
	text-align: center;
}
main.contents .edit_area ul > li {
	margin-left: 14px;
	text-indent: -14px;
}
main.contents .edit_area ul > li:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 4px;
	background: #0856a5;
	border-radius: 50%;
}
main.contents .edit_area ul > li + li {
	margin-top: 4px;
}
main.contents .edit_area ul > li * {
	text-indent: 0px;
}
main.contents .edit_area ol {
	counter-reset: number;
}
main.contents .edit_area ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main.contents .edit_area ol > li:before {
	counter-increment: number;
	content: counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
}
main.contents .edit_area ol > li + li {
	margin-top: 4px;
}
main.contents .edit_area ol > li * {
	text-indent: 0px;
}
.sp main.contents .edit_area .scroll {
	overflow-x: auto;
}
.sp main.contents .edit_area .scroll table {
	min-width: 600px;
}
main.contents .column2 {
	width: 100%;
}
main.contents .column2:after {
	content: "";
	display: block;
	clear: both;
}
main.contents .column2 > div {
	float: left;
	width: calc(50% - 10px);
}
.sp main.contents .column2 > div {
	float: none;
	width: 100%;
}
main.contents .column2 > div:nth-of-type(2n) {
	padding-left: 20px;
}
.sp main.contents .column2 > div:nth-of-type(2n) {
	padding-left: 0;
}
main.contents .column2 > div li {
	margin-bottom: 10px;
}
main.contents .column:after {
	content: "";
	display: block;
	clear: both;
}
main.contents .column > * {
	float: left;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp main.contents .column > * {
	float: none;
}
main.contents .column.col2 > * {
	width: calc( (100% - 20px) / 2);
}
main.contents .column.col2 > *:nth-of-type(2n+1) {
	margin-left: 0px;
}
.sp main.contents .column.col2 > * {
	width: 100%;
	margin-left: 0px;
}
main.contents .column.col3 > * {
	width: calc( (100% - 40px) / 3);
}
main.contents .column.col3 > *:nth-of-type(3n+1) {
	margin-left: 0px;
}
.sp main.contents .column.col3 > * {
	width: 100%;
	margin-left: 0px;
}
main.contents .column.col4 > * {
	width: calc( (100% - 60px) / 4);
}
main.contents .column.col4 > *:nth-of-type(4n+1) {
	margin-left: 0px;
}
.sp main.contents .column.col4 > * {
	width: 100%;
	margin-left: 0px;
}
main.contents .column img {
	max-width: 100%;
	height: auto;
}
main.contents .ul_pagelink li {
	position: relative;
	display: inline-block;
}
main.contents .ul_pagelink li a.ac {
	font-weight: bold;
}
main.contents .ul_pagelink li + li {
	margin-left: 10px;
	padding-left: 10px;
}
main.contents .ul_pagelink li + li:before {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	background: #666;
	left: 0;
}
