@charset "UTF-8";

/* ===================================================================
	page
=================================================================== */

#page #contents {
	padding: 3em 5%;
}

#page #contents .maxwidth {
	width: 100%;
	max-width: 1000px;
	padding: 0;
	margin: 0 auto;
	display: block;
	box-sizing: border-box;
}

a {
	color: #f6b80a;
	text-decoration: underline;
}

#contents h1,
#contents h2,
#contents h3 {
	color: #f6b80a;
}

center p {
	text-align: center;
}

table {
	border-collapse: collapse;
	border: 1px solid #e3e3e3;
	width: 100%;
	font-size: 0.8em;
	line-height: 1.6em;
}

table th,
table td {
	border-collapse: collapse;
	border: 1px solid #e3e3e3;
	padding: 1em 1em;
}

table th {
	background: #f2f2f2;
	position: relative;
	font-weight: normal;
	width: 20em;
}

table th span {
	position: relative;
	color: #fff;
	font-size: 0.7em;
	line-height: 1em;
	padding: 0.3em 0.6em;
	margin-left: 0.5em;
	background: #ff0000;
}

form input[type="text"] {
	border: 1px solid #e3e3e3;
	padding: 0.6em 1em;
	width: 90%;
	max-width: 40em;
	outline: 2px;
}

form input[type="email"] {
	border: 1px solid #e3e3e3;
	padding: 0.6em 1em;
	width: 90%;
	max-width: 90%;
	outline: 2px;
}


form input[type="submit"] {
	background: #f6b80a;
	border: none;
	padding: 0.8em 2em;
	margin-top: 2em;
	font-size: 1.2em;
	color: #fff;
	border-radius: 5px;
	outline: 2px;
	cursor: pointer;
}

form textarea {
	border: 1px solid #e3e3e3;
	padding: 0.6em 1em;
	width: 90%;
	max-width: 90%;
	outline: 2px;
}

form select {
	border: 1px solid #e3e3e3;
	background: #f2f2f2;
	padding: 0.6em 1em;
	width: 70%;
	max-width: 70%;
	position: relative;
	border-radius: 5px;
	display: inline-block;
	font: inherit;
	line-height: 1.5em;
	background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 10px) calc(1em + 2px),
    calc(100% - 3em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;

  /* reset */

  margin: 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}

form .mwform-checkbox-field {
	display: block;
	margin-left: 0 !important;
	padding: 0.3em 0;
}

form label {
    display: inline-block;
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
    cursor: pointer;
}

form input[type="checkbox"] {
	position: absolute;
    z-index: -1;
    opacity: 0;
}

form input[type="checkbox"]:checked + div::after {
	content: '';
	position: absolute;
    left: 5px;
    top: 2px;
    width: 3px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

form label div {
    position: absolute;
    top: 0;
    left: 0;
    height: 16px;
    width: 16px;
    border: 1px solid #999;
    border-radius: 2px;
}

form input[type="checkbox"]:checked + div {
	background: #999;
}

form label:hover input,
form label input:focus {
}

form small {
	display: block;
}

#mainimg {
	position: relative;
	height: 160px;
	overflow: hidden;
	border-bottom: 1px solid #e3e3e3;
}

#mainimg figure {
	padding: 0;
	margin: 0;
	position: relative;
}

#mainimg section {
	position: absolute;
	z-index: 2;
	width: 100%;
	display: block;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	font-family: 'Noto Sans Japanese', sans-serif;
}

#mainimg section .maxwidth {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    position: relative;
}

#mainimg section h1 {
	text-align: center;
	font-size: 1.7em;
	line-height: 1.6em;
	padding: 0;
	margin: 0;
	letter-spacing: 0.05em;
	color: #ffb200;
	display: block;
	font-weight: 600;
}

.tokucho ul {
	padding: 0;
	margin: 1em 0 2em;
	list-style: none;
}

.tokucho ul li {
	padding: 0.3em 0 0.3em 2em;
	margin: 0;
	position: relative;
}

.tokucho ul li::before {
	content: '';
	color: #fff;
	background-image: url(../images/ico02.svg);
	background-position: center 55%;
	background-repeat: no-repeat;
	background-size: 60%;
	background-color: #f5a70f;
	width: 2em;
	height: 2em;
	border-radius: 5em;
	display: inline-block;
	text-align: center;
	font-size: 0.7em;
	line-height: 1.8em;
	position: absolute;
	left: 0;
	top: 0.7em;
	transform: rotate( 0deg );
}

/* ===================================================================
	#news
=================================================================== */

#news .maxwidth:after {
	content: '';
	overflow: hidden;
	display: block;
	clear: both; 
}

#news .newsin {
	padding: 0 5%;
}

#news .maxwidth {
	padding: 4em 0;
	max-width: 1000px;
	margin: 0 auto;
}

#news #contents ol.yearly {
	padding: 0;
	margin: 0 0 2em;
	border-bottom: 3px solid #ffc000;
	list-style: none;
	box-sizing: border-box;
	position: relative;
}

#news #contents ol.yearly:after {
	content: '';
	display: block;
	clear: both;
	overflow: hidden;
	width: 100%;
}

#news #contents ol.yearly li {
	padding: 0;
	margin: 0;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
}

#news #contents ol.yearly li a {
	background: #fff;
	border: 1px solid #ccc;
	border-bottom: none;
	color: #000;
	font-weight: normal;
	padding: 0 2em;
	line-height: 2em;
	box-sizing: border-box;
	display: block;
	text-decoration: none;
}

#news #contents ol.yearly li strong {
	background: #ffc000;
	border: 1px solid #ffc000;
	border-bottom: none;
	color: #fff;
	font-weight: normal;
	padding: 0 2em;
	line-height: 2em;
	box-sizing: border-box;
	display: block;
}

#news #contents ol.yearly li strong:after {
	content: '\025bc';
	position: absolute;
	color: #ffc000;
	bottom: -1em;
	font-size: 1em;
	line-height: 1em;
	left: calc(50% - 0.7em);
	margin: 0;
	padding: 0;
}

#news #contents section {
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}

#news #contents .maxwidth {
	max-width: auto !important;
	padding: 0;
}

#news #contents ul {
	padding: 0;
	margin: 0;
	list-style: none; 
}

#news #contents ul li {
	padding: 1em 5%;
	margin: 0;
	overflow: hidden;
	zoom: 1;
}

#news #contents ul li:nth-of-type(odd) {
	background: #f2f2f2;
}

#news #contents ul li time {
	width: 8em;
	float: left;
}

#news #contents ul li p {
	padding: 0;
	margin: 0;
	overflow: hidden;
	zoom: 1;
}

#news #contents ul li p a {
	color: #000;
	text-decoration: none;
}

/* .single
=================================================================== */

#news.single #contents h1 {
	border-bottom: 3px solid #e3e3e3;
	width: 100%;
	font-size: 1.5em;
	line-height: 1.5em;
	padding: 0 0 0.5em;
	margin: 0 0 0.5em;
	color: #000;
}

#news.single #contents time {
	display: block;
	text-align: right;
}

#news.single #contents .entry {
	border-bottom: 1px solid #e3e3e3;
	padding: 1em 0;
}

/* =======================================================
==========================================================

レスポンシブ

==========================================================
======================================================= */

@media screen and ( max-width:865px ){

#mainimg {
	height: 120px;
}

}

@media screen and ( max-width:640px ){

#mainimg {
	height: 100px;
}

table th,
table td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

}

@media screen and ( max-width:420px ){

#mainimg {
	height: 80px;
}

form select {
    width: 100%;
    max-width: 100%;
}

}