/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
}

@media (min-width: 600px) and (max-width:959px) {
}

@media (min-width: 960px) {
}

@media (max-width: 480px) {
}

@media (min-width: 481px) and (max-width:767px) {
}

@media (min-width: 768px) and (max-width:959px) {
}

@media (min-width: 960px) {
}

@media (max-width: 767px) {
}

@media (min-width: 768px) {
}

/* ---------------------------------------- service */

@media (max-width: 767px) {
	#service.archivelist { padding: 5em 0 1em; }
}

@media (min-width: 768px) {
	#service.archivelist { padding: 5em 0 2em; }
}

#service h2 {
	text-align: center;
	margin: 0 0 2em;
}
#service ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: var( --fs-20 );
}
#service ul li { border: 3px #fff solid; }
#service ul li a { 
	display: block;
	font-weight: 600; 
	position: relative;
}
#service ul li a::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba( 0,0,0,.6);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
#service ul li a figure { overflow: hidden; }
#service ul li a figure img {
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
#service ul li a p {
	width: 100%;
	color: #fff;
	text-align: center;
	line-height: 1.6;
	padding: 0 1em;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 3;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#service ul li a:hover figure img {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}

@media (max-width: 599px) {
	#service ul li { width: 50%; }
}

@media (min-width: 600px) and (max-width:959px) {
	#service ul li { width: 33.33333%; }
}

@media (min-width: 960px) {
	#service ul li { width: 25%; }
}


/* ---------------------------------------- pageing */

@media (max-width: 767px) {
	#pageing { padding: 1em 0 5em; }
}

@media (min-width: 768px) {
	#pageing { padding: 2em 0 6em; }
}

/* ---------------------------------------- table */

.required { color:red; }

table { width: 100%; }
th, td {
	border: 1px var(--border-color) solid;
	line-height: 1.6;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: inherit;
	text-align: left;
	padding: 1em;
}
th { background: var( --pale-color ); }
td { background: #fff; }

table input[type="text"], 
table input[type="password"], 
table input[type="email"], 
table input[type="submit"], 
table button, 
table textarea, 
table select { 
	border: 1px var(--border-color) solid; 
	padding: .5em;
	border-radius: 4px;
}

@media (max-width: 767px) {

	table.vertical { border-top: 1px var(--border-color) solid; }
	table.vertical th, table.vertical td {
		display: block;
		border-top: none;
		border-left: 1px var(--border-color) solid;
		border-right: 1px var(--border-color) solid;
		border-bottom: 1px var(--border-color) solid;
		padding: 1em;
	}
	table.vertical th { text-align: center; }
}

@media (min-width: 768px) {
	th { width: 30%; }
}