@charset "UTF-8";
/* ===================================================================
CSS information

 file name  : common.css
 author     : Ability Consultant
 style info : 基本・共通設定(総合TOP)
=================================================================== */
#header .con_snav .box_snav, #contents .wrp_topices #topices {
	max-width: 1200px;
	margin: auto;
}

@media only screen and (max-width: 1199px) {
	#header .con_snav .box_snav, #contents .wrp_topices #topices {
		width: 91.66667%;
	}
}

/* -----------------------------------------------------------
	基本設定、リンクカラーなど
----------------------------------------------------------- */
html {
	font-size: small;
	line-height: 1.6;
	letter-spacing: .08em;
}

body {
	color: #121212;
	background: #fff;
	-webkit-text-size-adjust: none;
	font-size: 108%;
}

.ie body, .edge body {
	font-size: 105%;
}

@media only screen and (max-width: 767px) {
	body {
		font-size: 93%;
	}
}

body a {
	color: #121212;
}

body a:link, body a:visited, body a:active {
	text-decoration: underline;
}

.mouse body a:hover,
.touch body a.touchstart {
	text-decoration: none;
	color: #121212;
}

body img {
	max-width: 100%;
	-webkit-touch-callout: none;
	line-height: 1;
}

body, pre, input, textarea, select {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
}

input, select, textarea {
	font-size: 100%;
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
	display: none !important;
}

html.ie8 #page {
	min-width: 1200px !important;
	margin: auto;
	font-size: 100% !important;
}

@media only screen and (min-width: 1200px) {
	body .view_tab-sp, body .view_tab {
		display: none !important;
	}
}

@media print {
	body .view_tab-sp, body .view_tab {
		display: none !important;
	}
}

.ie8 body .view_tab-sp, .ie8 body .view_tab {
	display: none !important;
}

@media only screen and (min-width: 768px) {
	body .view_sp {
		display: none !important;
	}
}

@media print {
	body .view_sp {
		display: none !important;
	}
}

.ie8 body .view_sp {
	display: none !important;
}

@media only screen and (max-width: 1199px) {
	body .view_pc {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	body .view_pc-tab, body .view_tab {
		display: none !important;
	}
}

.mouse .over {
	-webkit-transition: opacity 200ms ease-in;
	-moz-transition: opacity 200ms ease-in;
	-o-transition: opacity 200ms ease-in;
	transition: opacity 200ms ease-in;
}

.mouse .over:hover,
.touch .over.touchstart {
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity: 0.7;
}

.touch .over {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.touch .over.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

/* -----------------------------------------------------------
	#page
----------------------------------------------------------- */
#page {
	overflow: hidden;
}

@media only screen and (min-width: 768px) {
	#page {
		font-size: 100% !important;
	}
}

@media print {
	#page {
		font-size: 100% !important;
	}
}

.ie8 #page {
	font-size: 100% !important;
}

/* -----------------------------------------------------------
	#header
----------------------------------------------------------- */
#header {
	position: relative;
}

#header h1 {
	font-weight: normal;
	max-width: 1200px;
	width: 100%;
	left: 50%;
	position: absolute;
	top: 20px;
	padding: 0 1.04167%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #fff;
	font-size: 86%;
	letter-spacing: .1em;
	text-shadow: 0 0 6px rgba(4, 5, 3, 0.4);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
}

@media only screen and (max-width: 767px) {
	#header h1 {
		position: static;
		padding: 0 4.16667%;
		font-size: 72%;
		color: #121212;
		width: 100%;
		text-shadow: none;
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
}

#header .con_snav {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.85);
	padding: 12px 0 18px;
	z-index: 1;
}

@media only screen and (max-width: 767px) {
	#header .con_snav {
		position: static;
		padding: 1% 0;
	}
}

#header .con_snav .box_snav {
	overflow: hidden;
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .con_snav .box_snav {
		width: 93.75%;
	}
}

#header .con_snav .box_snav .logo {
	margin-top: 8px;
	float: left;
	width: 29.58333%;
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
	#header .con_snav .box_snav .logo {
		float: none;
		margin: 0 auto 1%;
	}
}

@media only screen and (max-width: 767px) {
	#header .con_snav .box_snav .logo {
		float: none;
		width: 80%;
		margin: 0 auto;
	}
	#header .con_snav .box_snav .logo img {
		width: 100%;
	}
}

#header .con_snav .box_snav .logo a {
	display: block;
}

#header .con_snav .box_snav nav {
	float: right;
	overflow: hidden;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

#header .con_snav .box_snav nav ul {
	overflow: hidden;
}

#header .con_snav .box_snav nav ul li {
	float: left;
	margin-right: 1em;
	font-size: 93%;
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .con_snav .box_snav nav ul li {
		font-size: 86%;
	}
}

#header .con_snav .box_snav nav ul li:before {
	content: "";
	margin-right: .3em;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color: #93877f;
}

#header .con_snav .box_snav nav ul li a {
	text-decoration: none !important;
}

.mouse #header .con_snav .box_snav nav ul li a:hover,
.touch #header .con_snav .box_snav nav ul li a.touchstart {
	text-decoration: underline !important;
}

.touch #header .con_snav .box_snav nav ul li a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.touch #header .con_snav .box_snav nav ul li a.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

#header .con_snav .box_snav nav .txt_tel {
	line-height: 1;
	font-family: 'ヒラギノ明朝 Pro','Hiragino Mincho Pro','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','Times New Roman',serif;
	font-size: 129%;
	letter-spacing: .04em;
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .con_snav .box_snav nav .txt_tel {
		font-size: 115%;
	}
}

#header .con_snav .box_snav nav .txt_tel em {
	font-size: 73%;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
	margin-bottom: 8px;
	display: block;
	font-feature-settings: "palt";
}

#header .con_snav .box_snav nav .txt_tel a, #header .con_snav .box_snav nav .txt_tel span.tel {
	font-size: 162%;
}

#header .con_pagetitle {
	position: relative;
	z-index: 0;
}

#header .con_pagetitle .photo {
	position: relative;
	width: 1920px;
	left: 50%;
	margin-left: -960px;
}

@media only screen and (min-width: 1921px) {
	#header .con_pagetitle .photo {
		width: 100%;
		left: auto;
		margin: auto;
	}
	#header .con_pagetitle .photo img {
		width: 100%;
	}
}

@media print {
	#header .con_pagetitle .photo {
		width: 100%;
		left: auto;
		margin: auto;
	}
	#header .con_pagetitle .photo img {
		width: 100%;
	}
}

.ie8 #header .con_pagetitle .photo {
	width: 100%;
	left: auto;
	margin: auto;
}

.ie8 #header .con_pagetitle .photo img {
	width: 100%;
}

@media only screen and (max-width: 767px) {
	#header .con_pagetitle .photo {
		overflow: hidden;
		left: auto;
		width: 100%;
		margin: 0 auto;
	}
	#header .con_pagetitle .photo img {
		position: relative;
		width: 150%;
		max-width: none;
		margin-left: -25%;
	}
}

/* -----------------------------------------------------------
	#contents
----------------------------------------------------------- */
#contents .wrp_topices {
	border-top: 1px solid #ebebeb;
	border-bottom: 1px solid #ebebeb;
	padding: 5px 0;
	margin-bottom: 50px;
}

#contents .wrp_topices #topices {
	overflow: hidden;
}

#contents .wrp_topices #topices li {
	float: left;
	font-size: 93%;
}

#contents .wrp_topices #topices li:before {
	content: "";
	margin-right: .3em;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin: 0 0.5em;
}

#contents .wrp_topices #topices li:first-child:before {
	content: none;
}

.pnav_style {
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
	letter-spacing: -.4em;
	background: #fafafa;
	padding: 20px 0;
	text-align: center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media only screen and (max-width: 1199px) {
	.pnav_style {
		padding: 2%;
	}
}

.pnav_style li {
	width: 16.49123%;
	margin-left: 1.75439%;
}

.mouse .pnav_style li {
	-webkit-transition: opacity 200ms ease-in;
	-moz-transition: opacity 200ms ease-in;
	-o-transition: opacity 200ms ease-in;
	transition: opacity 200ms ease-in;
}

.mouse .pnav_style li:hover,
.touch .pnav_style li.touchstart {
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity: 0.7;
}

.touch .pnav_style li {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.touch .pnav_style li.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

.pnav_style li:first-child {
	margin-left: 0;
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.pnav_style li {
		width: 23.5%;
		margin-left: 2%;
	}
	.pnav_style li:nth-child(4n+1) {
		margin-left: 0;
	}
}

@media only screen and (max-width: 767px) {
	.pnav_style li {
		width: 100%;
		margin: 0 0 2%;
	}
}

.pnav_style li a {
	display: block;
	text-decoration: none;
	letter-spacing: -.4em;
}

.pnav_style li a .photo {
	display: inline-block;
	vertical-align: middle;
	letter-spacing: normal;
	width: 47.34043%;
}

.pnav_style li a .photo img {
	width: 100%;
}

@media only screen and (max-width: 767px) {
	.pnav_style li a .photo {
		width: 20%;
	}
}

.pnav_style li a .st {
	display: inline-block;
	vertical-align: middle;
	letter-spacing: normal;
	width: 42.02128%;
	margin-left: 10.6383%;
	line-height: 1.4;
	position: relative;
}

.pnav_style li a .st:after {
	content: "";
	margin-left: .3em;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	text-align: center;
	display: block;
	margin: .2em auto 0;
	font-size: 143%;
}

@media only screen and (max-width: 767px) {
	.pnav_style li a .st:after {
		position: absolute;
		top: 50%;
		right: 3%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
		margin: 0;
	}
}

@media only screen and (max-width: 767px) {
	.pnav_style li a .st {
		width: 78%;
		margin-left: 2%;
		text-align: left;
	}
}

/* -----------------------------------------------------------
	#footer
----------------------------------------------------------- */
#footer {
	padding: 50px 0 30px;
}

@media only screen and (max-width: 767px) {
	#footer {
		padding: 6% 0 4%;
	}
}

#footer .logo {
	width: 355px;
	margin: 0 auto 35px;
}

@media only screen and (max-width: 767px) {
	#footer .logo {
		width: 50%;
		margin-bottom: 4%;
	}
	#footer .logo img {
		width: 100%;
	}
}

#footer .logo a {
	display: block;
	text-decoration: none;
}

#footer .con_fnav {
	background: url(../images/common/bg01.png) repeat 0 0;
	padding: 20px 0;
	margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
	#footer .con_fnav {
		padding: 3% 0;
		margin-bottom: 4%;
	}
}

#footer .con_fnav ul {
	width: 300px;
	margin: 0 auto;
	overflow: hidden;
}

@media only screen and (max-width: 767px) {
	#footer .con_fnav ul {
		width: 91.66667%;
	}
}

#footer .con_fnav ul li {
	float: left;
	width: 300px;
}

.mouse #footer .con_fnav ul li {
	-webkit-transition: opacity 200ms ease-in;
	-moz-transition: opacity 200ms ease-in;
	-o-transition: opacity 200ms ease-in;
	transition: opacity 200ms ease-in;
}

.mouse #footer .con_fnav ul li:hover,
.touch #footer .con_fnav ul li.touchstart {
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity: 0.7;
}

.touch #footer .con_fnav ul li {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.touch #footer .con_fnav ul li.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

#footer .con_fnav ul li a {
	display: block;
	padding: .8em 0;
	text-align: center;
	text-decoration: none;
	background: #fff;
	position: relative;
	color: #2f2f2f;
	border: 1px solid #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#footer .con_fnav ul li a:before {
	content: "";
	margin-right: .3em;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}

@media only screen and (max-width: 767px) {
	#footer .con_fnav ul li {
		float: none;
		width: 100%;
	}
}

#footer .con_fnav ul li:first-child {
	margin-right: 19px;
}

@media only screen and (max-width: 767px) {
	#footer .con_fnav ul li:first-child {
		margin: 0 auto 2%;
	}
}

#footer .con_fnav ul li a {
	font-size: 108%;
}

#copyright {
	text-align: center;
	font-size: 86%;
	letter-spacing: .04em;
}

/* -----------------------------------------------------------
	下層共通スタイル
----------------------------------------------------------- */
html.lower #contents {
	border-bottom: 1px solid #ebebeb;
}

/* -----------------------------------------------------------
	テーブル
----------------------------------------------------------- */
table.tbl_basic-pc tr {
	border-bottom: 1px solid #e0e0e0;
}

table.tbl_basic-pc tr:first-child {
	border-top: 1px solid #e0e0e0;
}

table.tbl_basic-pc th {
	font-weight: normal;
	text-align: center;
	background: #fafafa;
	padding: .5em 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

table.tbl_basic-pc td {
	padding: .5em 1em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

table.tbl_basic tr {
	border-bottom: 1px solid #e0e0e0;
}

table.tbl_basic tr:first-child {
	border-top: 1px solid #e0e0e0;
}

table.tbl_basic th {
	font-weight: normal;
	text-align: center;
	background: #fafafa;
	padding: .5em 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
	table.tbl_basic th {
		width: 100%;
		display: block;
	}
}

table.tbl_basic td {
	padding: .5em 1em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
	table.tbl_basic td {
		width: 100%;
		display: block;
	}
}

/*# sourceMappingURL=../maps/common.css.map */
