@charset "utf-8";
/* CSS Document */
.contractNav {
    padding: 30px 20px 0 20px;
}
.contractNav li {
    margin: 0 0 10px 0;
    text-align: center;
}
.policyBox {
    padding: 20px;
    max-width: 1024px;
    margin: 0 auto;
}
.policyBox h2 {
    padding: 0 10px 10px 10px;
    font-size: 20px;
    font-weight: bold;
    border-bottom: solid 1px #e7e7e7;
    margin-bottom: 10px;
}
.policyBox p {
    padding: 10px;
}
.policyBox p + h2 {
    margin-top: 30px;
}
.policyBox .policyList, .policyBox .numberList {
    padding-left: 20px;
    margin-left: 20px;
    margin-bottom: 40px;
    counter-reset: numberNum;
}
.policyBox .policyList li {
    list-style: disc;
    margin-bottom: 20px;
    padding-right: 30px;
}
.policyBox .numberList li {
    margin-bottom: 20px;
    padding-right: 30px;
    counter-increment: numberNum;
}
.policyBox .numberList li:before {
    content: "("counter(numberNum)") "
}
.policyBox .spec {
    margin: 0 10px 20px 10px;
}
.policyBox .spec dt {
    background: #434343;
    color: #fff;
    padding: 0 10px;
    display: inline-block;
    margin-bottom: 20px;
}
.policyBox .spec dd {
    margin-bottom: 20px;
}
.policyBox .countList {
	padding: 0 10px;
    counter-reset: countNum01;
}
.policyBox .countList > li {
    counter-increment: countNum01;
    margin-bottom: 20px;
}
.policyBox .countList > li:before {
    content: counter(countNum01);
}
.policyBox .countList > li ul {
    counter-reset: countNum02;
    padding: 20px;
}
.policyBox .countList > li ul li {
    counter-increment: countNum02;
    margin-bottom: 5px;
}
.policyBox .countList > li ul li:not(:last-of-type){
	margin-bottom: 10px;
}
.policyBox .countList > li ul li:before {
    content: "("counter(countNum02)")";
    margin-right: 5px;
}
.tableBox {
    margin-bottom: 40px;
}
.tableBox table {
    border: solid 1px #ccc;
    border-bottom: none;
}
.tableBox table th, .tableBox table td {
    padding: 10px;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}
.tableBox table th:last-of-type, .tableBox table td:last-of-type {
    border-right: none;
}
.tableBox table tr:first-of-type th:nth-of-type(2) {
    width: 25%;
}
.policyBox .policyTable {
    padding: 0 10px 10px 10px;
}
.policyBox .policyTable table {
    border-collapse: collapse;
    border-left: solid 1px #ccc;
    border-top: solid 1px #ccc;
}
.policyBox .policyTable table thead {
    display: none;
}
.policyBox .policyTable table tr {
    display: block;
}
.policyBox .policyTable table tr td:first-of-type {
    background: #f1f1f1;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}
.policyBox .policyTable table td {
    padding: 10px;
    display: block;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}
.sitemapBox {
  max-width: 1024px;
  padding:40px 0;
  margin: 0 auto;
}
.sitemapBox li {
  margin-bottom: 10px;
}
.sitemapBox li a {
  padding: 15px 20px;
  background: #fafafa;
  display: block;
  color: #333;
}
.sitemapBox li.sec a {
  padding: 15px 20px 15px 30px;
}
.sitemapBox li.third a {
  padding: 15px 20px 15px 50px;
}
.sitemapBox li a:hover {
  background: #ccc;
}
#topNews.newsList{
	padding: 0 20px 40px 20px;
}
#topNews.newsList dl{
	margin-bottom: 40px;
}
#topNews dd {
  border-bottom: solid 1px #e7e7e7;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
#topNews dd:last-of-type{
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 0;
}
#topNews dd a {
  color: #333;
	font-weight: bold;
}
#topNews dt{
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
#topNews dt span {
  color: #fff;
  text-align: center;
  padding: 0 10px;
  background: #5d500d;
  font-size: 14px;
	margin-left: 10px;
}
#topNews dt .event {
  background: #ea5205;
}
#topNews dt .service {
  background: #383635;
}
#topNews dt .others {
  background: #068b89;
}
@media screen and (min-width: 600px) {
    .contractNav {
        display: flex;
        justify-content: center;
        padding-top: 40px;
    }
    .contractNav li {
        margin: 0 10px;
    }
    .policyBox p + h2 {
        margin-top: 50px;
    }
    .policyBox .policyList, .policyBox .numberList {
        padding-left: 40px;
        margin-left: 40px;
    }
.policyBox .policyTable {
    padding: 0 10px 10px 10px;
}
.policyBox .policyTable table {
    border-collapse: collapse;
    border-left: solid 1px #ccc;
    border-top: solid 1px #ccc;
		width: 100%;
}
.policyBox .policyTable table thead {
	display: block;
}
	.policyBox .policyTable table thead tr th{
		width: 50%;
		padding: 5px;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
	}
.policyBox .policyTable table tr {
	display: flex;
}
.policyBox .policyTable table tr td:first-of-type {
	background: none;
}
.policyBox .policyTable table td {
	width: 50%;
}
.sitemapBox li.sec a {
  padding: 15px 20px 15px 60px;
}
.sitemapBox li.third a {
  padding: 15px 20px 15px 120px;
}
.policyBox .countList > li {
	margin-left: 40px;
}
	.policyBox .countList > li ul li{
		margin-left: 40px;
	}
	#topNews.newsList{
		max-width: 1000px;
		margin: 0 auto;
	}
	#topNews.newsList dl{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	#topNews.newsList dl dt{
		width: 240px;
		padding: 30px 20px;
		margin-bottom: 0;
  border-bottom: solid 1px #e7e7e7;
	}
	#topNews.newsList dl dt span{
		margin-left: 40px;
	}
	#topNews.newsList dl dd{
		width: calc(100% - 240px);
		margin-bottom: 0;
		padding: 30px 20px;
	}
	#topNews.newsList dl dt:last-of-type{
		border-bottom: none;
	}
	#topNews.newsList dl dd a:hover{
  color: #1e72c7;
  text-decoration: underline;
	}
}