/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated:2010-09-17
Author:Richard Clark - http://richclarkdesign.com
Twitter:@rich_clark
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	border: 0;
	outline: 0;
	background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

figure {
	line-height: 0;
}

img {
	vertical-align: top;
}

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	color: #00f;
	background: transparent;
}

ins {
	text-decoration: none;
	color: #000;
	background-color: #ff9;
}

mark {
	font-weight: bold;
	font-style: italic;
	color: #000;
	background-color: #ff9;
}

del {
	text-decoration: line-through;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

.cf:before,
.cf:after {
	display: table;
	content: '';
}

.cf:after {
	clear: both;
}

/* ------------------------------
 共通設定
------------------------------ */

/* Android 4系バグ対応 */

.white {
	background: #fff;
}

.gray {
	background: #eee;
}

body {
	font-family: ArialMT, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', メイリオ, sans-serif;
	font-size: 28px;
	line-height: 1.5;
	padding-bottom: 110px;
	color: #333;
	background: #eee;
	-webkit-text-size-adjust: 100%;
}

/* ヘッダ */

#listing {
	font-size: 16px;
	line-height: 30px;
	max-height: 100%;
	text-align: center;
	color: #eee;
	border-bottom: 1px dotted #ccc;
	background-color: #000;
}

#header_dsc,
#copyright {
	font-size: 22px;
	font-style: normal;
	line-height: 1.2;
	padding: 10px 20px;
	text-align: center;
	color: #fff;
	background-color: #000;
}

#header {
	height: 80px;
	padding: 20px;
	border-bottom: 2px solid #19479d;
	background: #fff;
}

#logo {
	float: left;
	width: 170px;
}

#hd_closing {
	float: right;
	width: 362px;
	margin-top: 10px;
}

#hd_closing li {
	float: left;
	width: 176px;
}

#hd_closing li:not(:last-child) {
	margin-right: 10px;
}

/* パンくずリスト */

#topicpath {
	overflow-x: scroll;
	background-color: #6ab7ec;
}

#topicpath ul {
	display: table;
	max-height: 100%;
}

#topicpath li {
	line-height: 40px;
	display: table-cell;
	list-style-type: none;
	white-space: nowrap;
}

#topicpath_home {
	padding: 18px 20px 18px 70px;
	background: #eee url(/img/sp/cmn/ico_topicpath_home.png) no-repeat 20px center;
}

#topicpath a,
#topicpath strong {
	font-size: 28px;
	line-height: 1;
	display: block;
}

#topicpath a {
	color: #333;
}

#topicpath .topicpath_parent a {
	font-weight: bold;
	padding: 18px 20px 18px 40px;
	color: #fff;
	background: #869bba url(/img/sp/cmn/bg_topicpath_parent.png) no-repeat left center;
}

#topicpath #topicpath_current strong,
#topicpath #topicpath_current_2 strong {
	font-weight: bold;
	padding: 18px 20px 18px 40px;
	color: #fff;
	background: url(/img/sp/cmn/bg_topicpath_current.png) no-repeat left center;
}

#topicpath #topicpath_current_2 strong {
	background: url(/img/sp/cmn/bg_topicpath_current_2.png) no-repeat left center;
}

/* クロージング */

.closing {
	border-bottom: 10px solid #1a4a98;
}

.closing dt {
	line-height: 0;
	padding: 18px 0;
	background-color: #1a4a98;
}

.closing dd {
	padding: 30px 0;
	background-color: #fff;
}

.closing dd ul {
	line-height: 0;
	width: 600px;
	margin: 0 auto;
}

.btn_closing_tel {
	float: left;
}

.btn_closing_inq {
	float: right;
}

/* フッタ */

#pagetop a {
	font-size: 26px;
	font-weight: bold;
	line-height: 40px;
	display: block;
	padding: 50px 20px 20px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: #8c8c8c url(/img/sp/cmn/ico_arrow_top.png) no-repeat center 24px;
}

footer .bnrbox {
	margin: 30px 0;
}

#footer_nav {
	border-top: 2px solid #000;
	background-color: #fff;
}

#footer_nav li {
	float: left;
	width: 50%;
}

#footer_nav li a {
	font-size: 28px;
	line-height: 80px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: #313131;
}

#footer_nav li a:first-child {
	border-right: 1px solid #000;
}

#footer_nav li a:last-child {
	border-left: 1px solid #000;
}

#footer_dsc {
	font-size: 28px;
	line-height: 40px;
	margin-top: 40px;
	text-align: center;
	color: #313131;
}

/* 固定ナビ */

#fixed_nav {
	position: fixed;
	z-index: 11;
	bottom: 0;
	left: 0;
	width: 100%;
}

#fixed_nav li {
	float: left;
	width: 33%;
}

#fixed_nav li:last-child {
	width: 34%;
}

#fixed_nav li a {
	display: block;
	overflow: hidden;
	height: 0;
	padding-top: 110px;
}

#fixed_nav li#fixed_nav_1 a {
	background: #0082da url(/img/sp/cmn/ico_fixed_nav_1.png) no-repeat center 17px;
}

#fixed_nav li#fixed_nav_2 a {
	background: #ee2b74 url(/img/sp/cmn/ico_fixed_nav_2.png) no-repeat center 22px;
}

#fixed_nav li#fixed_nav_3 a {
	background: #5e5e5e url(/img/sp/cmn/ico_fixed_nav_3.png) no-repeat center 26px;
}

/* セクション */

.section {
	margin: 0 20px;
	border: 2px solid #999;
	background: #fff;
}

.section_inner {
	padding: 40px 20px;
}

/* 見出し */

.tl {
	font-size: 34px;
	font-weight: bold;
	line-height: 50px;
	padding: 28px 20px;
	text-align: center;
	border-bottom: 4px solid #134c9f;
	background: #fff;
}

/* 背景 */

.bg_gray {
	background-color: #eee;
}

.bg_white {
	background-color: #fff;
}

/* マージンセット */

.mrl18 {
	margin-right: 18px;
	margin-left: 18px;
}

.mrl20 {
	margin-right: 20px;
	margin-left: 20px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb60 {
	margin-bottom: 60px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb100 {
	margin-bottom: 100px;
}

.pt20 {
	padding-top: 20px;
}

.pt40 {
	padding-top: 40px;
}

.pb20 {
	padding-bottom: 20px;
}

.pb38 {
	padding-bottom: 38px;
}

.pb40 {
	padding-bottom: 40px;
}

.prl18 {
	padding-right: 18px;
	padding-left: 18px;
}

.prl20 {
	padding-right: 20px;
	padding-left: 20px;
}

.w558 {
	width: 558px;
}

.w560 {
	width: 560px;
}

.w600 {
	width: 600px;
}

.w640 {
	width: 640px;
}

.auto {
	margin-right: auto;
	margin-left: auto;
}

/* 段落 */

.small {
	font-size: 18px;
}

.bold {
	font-weight: bold;
}

.red {
	color: #e22222;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.block {
	display: block;
}

.ex li {
	font-family: sans-serif;
	margin-left: 2em;
	text-indent: -2em;
}

/*! Pushy - v1.0.0 - 2016-3-1
* Pushy is a responsive off-canvas navigation menu using CSS transforms & transitions.
* https://github.com/christophery/pushy/
* by Christopher Yee */

/* Menu Appearance */

.pushy {
	position: fixed;
	z-index: 10;
	top: 0;
	right: 0;
	overflow: auto;
	width: 520px;
	height: 100%;
	background: #fff;
	-webkit-overflow-scrolling: touch;
}

.pushy a {
	font-size: 26px;
	line-height: 30px;
	display: block;
	text-decoration: none;
	color: #555;
}

.pushy.pushy-left {
	left: 0;
}

.pushy.pushy-right {
	right: 0;
}

/* Menu Movement */

.pushy-left {
	-webkit-transform: translate3d(-500px, 0, 0);
	-ms-transform: translate3d(-500px, 0, 0);
	transform: translate3d(-500px, 0, 0);
}

.pushy-open-left .push {
	-webkit-transform: translate3d(500px, 0, 0);
	-ms-transform: translate3d(500px, 0, 0);
	transform: translate3d(500px, 0, 0);
}

.pushy-right {
	-webkit-transform: translate3d(100%, 0, 0);
	-ms-transform: translate3d(100%, 0, 0);
	transform: translate3d(100%, 0, 0);
}

.pushy-open-right .push {
	-webkit-transform: translate3d(-500px, 0, 0);
	-ms-transform: translate3d(-500px, 0, 0);
	transform: translate3d(-500px, 0, 0);
}

.pushy-open-left .pushy,
.pushy-open-right .pushy {
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

/* Menu Transitions */

.pushy,
.push {
	transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

/* Site Overlay */

.site-overlay {
	display: none;
}

.pushy-open-left .site-overlay,
.pushy-open-right .site-overlay {
	position: fixed;
	z-index: 9;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	-webkit-animation: fade 500ms;
	animation: fade 500ms;
	background-color: rgba(0, 0, 0, 0.5);
}

@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@-webkit-keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* Submenu Appearance */

.pushy-submenu ul {
	padding-left: 15px;
	transition: max-height 0.2s ease-in-out;
}

.pushy-submenu ul .pushy-link {
	transition: opacity 0.2s ease-in-out;
}

.pushy-submenu > a {
	position: relative;
}

/* Submenu Movement */

.pushy-submenu-closed ul {
	overflow: hidden;
	max-height: 0;
}

.pushy-submenu-closed .pushy-link {
	opacity: 0;
}

.pushy-submenu-open ul {
	max-height: 1000px;
}

.pushy-submenu-open .pushy-link {
	opacity: 1;
}

.pushy-submenu-open a::after {
	-webkit-transform: translateY(-50%) rotate(90deg);
	-ms-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

.no-csstransforms3d .pushy-submenu-closed ul {
	display: none;
	max-height: none;
}

/* サブナビ */

#snav {
	padding-bottom: 110px;
}

#snav_header a,
.snav_link a,
.snav_link_child a {
	font-size: 28px;
	font-weight: bold;
	line-height: 40px;
}

#snav_header a {
	padding: 20px 44px 20px 30px;
	color: #fff;
	background: #19479d url(/img/sp/cmn/ico_snav_header.png) no-repeat right center;
}

.snav_link a {
	padding: 19px 44px 19px 80px;
	color: #333;
	border-bottom: 1px solid #d3d3d3;
	background-color: #f4f4f4;
}

.snav_link_child a {
	font-size: 26px;
	padding: 19px 44px 19px 80px;
	color: #555;
	border-bottom: 1px solid #d3d3d3;
	background-color: #fff;
}

#snav_home > a {
	background: url(/img/sp/cmn/ico_snav_home.png) no-repeat 30px center, #f4f4f4 url(/img/sp/cmn/ico_snav_arrow_right.png) no-repeat right center;
}

#snav_otoku > a {
	background: url(/img/sp/cmn/ico_snav_otoku.png) no-repeat 33px center, #f4f4f4 url(/img/sp/cmn/ico_snav_arrow_bottom.png) no-repeat right center;
}

#snav_otoku > a.on {
	background: url(/img/sp/cmn/ico_snav_otoku.png) no-repeat 33px center, #f4f4f4 url(/img/sp/cmn/ico_snav_arrow_top.png) no-repeat right center;
}

#snav_service > a {
	background: url(/img/sp/cmn/ico_snav_service.png) no-repeat 36px center, #f4f4f4 url(/img/sp/cmn/ico_snav_arrow_bottom.png) no-repeat right center;
}

#snav_service > a.on {
	background: url(/img/sp/cmn/ico_snav_service.png) no-repeat 36px center, #f4f4f4 url(/img/sp/cmn/ico_snav_arrow_top.png) no-repeat right center;
}

#snav_company > a {
	background: url(/img/sp/cmn/ico_snav_company.png) no-repeat 34px center, #f4f4f4 url(/img/sp/cmn/ico_snav_arrow_right.png) no-repeat right center;
}

#snav_privacy > a {
	background: url(/img/sp/cmn/ico_snav_privacy.png) no-repeat 32px center, #f4f4f4 url(/img/sp/cmn/ico_snav_arrow_right.png) no-repeat right center;
}

.snav_arrow_left a {
	background: url(/img/sp/cmn/ico_snav_arrow_left.png) no-repeat 50px center;
}

/* 他プロジェクトスライダー */

/* Slick.js */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.slick-track::before,
.slick-track::after {
	display: table;
	content: '';
}

.slick-track::after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

/* サイト独自 */

.other_services_slide_container {
	padding: 40px 0;
	background-color: #cfcfcf;
}

.other_services_slide_box {
	padding: 0 10px;
}

.other_services_slide .slick-track {
	height: auto;
}

.other_services_slide .slick-slide {
	text-align: center;
}

.other_services_slide .slick-slide img {
	display: inline-block;
}

.other_services_slide_item a {
	display: block;
	text-decoration: none;
}

.other_services_slide_item a {
	opacity: 1;
}

.other_services_slide_item a p {
	margin-top: 10px;
	color: #333;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.2;
}

/*
--------------------------------------------------------------------------------
 END OF CSS
--------------------------------------------------------------------------------
*/
