@charset "utf-8";

html {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: none;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, article, aside, details, figcaption, figure, header, footer, hgroup, menu, nav, section, summary {
	margin: 0;
	padding: 0;
}
article, aside, details, figcaption, figure, header, footer, hgroup, menu, nav, section, summary {
	display: block;
}
table {
	border-collapse: collapse;
}
ul, ol {
	list-style-type: none;
}
input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}
img {
	border: 0;
	vertical-align: middle;
}
body {
	color: #383838;
	font-family: Helvetica, Arial, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'モリサワ 新ゴ R', 'Droid Sans', 'メイリオ', 'sans-serif';
	line-height: 1.4;
}
a {
	color: #be3232;
}
.wrapper {
	background-color: #e6e6e6;
}

/* ############################### */
/* header                          */
/* ############################### */
.gHeader {
	position: relative;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	border-top: solid 3px #be3232;
	background-color: #fff;
}
.gHeader-logo {
	-webkit-box-flex: 1;
	-moz-box-flex: 1;
	-ms-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	padding-left: 8px;
	font-size: inherit;
	line-height: 1;
}
.gHeader-logo > img {
	display: inline-block;
}
.gHeader-buttons {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	padding: 4px 4px 4px 0;
}
.gHeader-buttons > li > a {
	display: block;
	width: 45px;
	padding-top: 4px;
	color: #4c4a4a;
	font-size: 10px;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.gHeader-buttons > li > a::before {
	display: block;
	width: 22px;
	height: 22px;
	margin: 0 auto 2px;
	content: "";
	background-image: url(../image/common/iconHeaderBlockButtons.png);
	background-repeat: no-repeat;
	-webkit-background-size: 22px 22px;
	-moz-background-size: 22px 22px;
	background-size: 22px 22px;
}
.gHeader-buttons > .gHeader-slideMenuButton > a::before {
	background-position: center 0;
}
.pageTitle {
	position: relative;
	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.3);
	-moz-box-shadow: 0 1px 1px rgba(0,0,0,.3);
	box-shadow: 0 1px 1px rgba(0,0,0,.3);
	padding: 10px 8px;
	color: #fff;
	font-size: 16px;
	background-color: #494545;
}

/* ############################### */
/* mainVisual                      */
/* ############################### */
.mainVisual > img {
	width: 100%;
}

/* ############################### */
/* main                            */
/* ############################### */
.main {
	padding: 40px 16px 24px;
	background-color: #fff;
}
.contentBox {
	margin-bottom: 48px;
}
.contentBox-title {
	margin-bottom: 16px;
	padding-bottom: 4px;
	font-size: 18px;
	font-weight: bold;
	border-bottom: solid 3px #ddd;
}
/* 会社概要リスト
 --------------------------------- */
.profile > dt, .profile > dd {
	font-size: 14px;
	line-height: 1.65;
}
.profile > dt {
	padding: 4px 8px;
	font-weight: bold;
	background-color: #eee;
}
.profile > dd {
	margin-bottom: 16px;
	padding: 8px;
}

/* ############################### */
/* fNavi                           */
/* ############################### */
.fNavi {
	padding: 24px 16px;
	background-color: #494545;
}
.fNavi-title {
	padding: 16px 8px;
	font-size: 16px;
	font-weight: bold;
	background-color: #e8e8e8;
}
.fNavi-items {
	padding: 0 16px;
	background-color: #fff;
}
.fNavi-item:not(:last-child) {
	border-bottom: solid 1px #d5d5d5;
}
.fNavi-cell {
	position: relative;
	display: block;
	padding: 16px 0;
	color: #383838;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
}
.is-current > .fNavi-cell {
	color: #b0b0b0;
}

/* ############################### */
/* gFooter                         */
/* ############################### */
.gFooter {
	font-size: 12px;
	padding: 12px 0;
	text-align: center;
}

/* ############################### */
/* スライドメニュー                */
/* ############################### */
.slideMenu-overlay {
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    visibility: hidden;
    width: 100%;
	background-color: rgba(0,0,0,.75);
	opacity: 0.1;
	/* 要素の表示位置を移動 */
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
	/* 時間的変化を指定 */
	-webkit-transition: visibility linear .4s, opacity .4s cubic-bezier(.4,0,.2,1);
	-moz-transition: visibility linear .4s, opacity .4s cubic-bezier(.4,0,.2,1);
	-o-transition: visibility linear .4s, opacity .4s cubic-bezier(.4,0,.2,1);
	transition: visibility linear .4s, opacity .4s cubic-bezier(.4,0,.2,1);
}
.slideMenu {
    position: fixed;
    z-index: -1;
    top: 0;
    right: 0;
    visibility: hidden;
    width: 259px;
    border-left: 1px solid #ccc;
	border-left: 1px solid rgba(0,0,0,.14);
	/* 要素の表示位置を移動 */
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
	transform: translateX(100%);
	/* 変化の開始時間 */
	-webkit-transition-delay: 0.1s;
	-moz-transition-delay: 0.1s;
	-o-transition-delay: 0.1s;
	transition-delay: 0.1s;
	/* 変化に掛かる時間 */
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	transition-duration: 0.2s;
	/* transition効果を適用するCSSプロパティ名 */
	-webkit-transition-property: -webkit-transform;
	-moz-transition-property: -moz-transform;
	-o-transition-property: -o-transform;
	transition-property: transform;
	/* 変化のタイミング・進行割合 */
	-webkit-transition-timing-function: cubic-bezier(.4,0,.2,1);
	-moz-transition-timing-function: cubic-bezier(.4,0,.2,1);
	-o-transition-timing-function: cubic-bezier(.4,0,.2,1);
	transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.slideMenu-body {
    position: relative;
    overflow: hidden;
    height: 100%;
    background-color: #eee;
}
.slideMenu-content {
    position: relative;
	padding-bottom: 32px;
}
.slideMenu-section {
	padding-top: 32px;
}
.slideMenu-sectionTitle {
	padding: 0 8px 2px;
	color: #808080;
	font-size: 14px;
	font-weight: bold;
}
.slideMenu-menuList {
	border-top: solid 1px #d5d5d5;
}
.slideMenu-item {
	border-bottom: solid 1px #d5d5d5;
	background-color: #fff;
}
.slideMenu-item > a {
	position: relative;
	display: block;
	padding: 0 8px;
	font-size: 14px;
	font-weight: bold;
	line-height: 44px;
	color: #383838;
	text-decoration: none;
}

/* 表示時 */
.is-showSlideMenu, .is-showSlideMenu body {
	overflow: hidden;
}
.is-showSlideMenu .wrapper, .is-showPopup body {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.is-showSlideMenu .slideMenu-overlay {
	visibility: visible;
	z-index: 900;
	opacity: 1;
	/* 変化の開始時間 */
	-webkit-transition-delay: 0s;
	-moz-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-delay: 0s;
}
.is-showSlideMenu .slideMenu {
	visibility: visible;
	z-index: 901;
	/* 要素の表示位置を移動 */
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	transform: translateX(0);
}
.is-showSlideMenu .searchMap-wrapper, .is-showPopup .searchMap-wrapper {
	display: none;
}

/* ############################### */
/* utility                         */
/* ############################### */
.uText {
	font-size: 14px;
	line-height: 1.65;
}
.uText:not(:first-child) {
	margin-top: 24px;
}
.uText:not(:last-child) {
	margin-bottom: 24px;
}
.uImage {
	text-align: center;
}
.uDecimalList {
	padding-left: 1.5em;
	font-size: 14px;
	line-height: 1.65;
	list-style-type: decimal;
}
.uDecimalList:not(:first-child) {
	margin-top: 24px;
}
.uDecimalList:not(:last-child) {
	margin-bottom: 24px;
}
.uDecimalList > li:not(:last-child) {
	margin-bottom: .5em;
}
.uGrayBox {
	margin-bottom: 24px;
	padding: 16px;
	background-color: #eee;
}
.uGrayBox-title {
	font-size: 16px;
	font-weight: bold;
}

/* ############################### */
/* 共通部品                        */
/* ############################### */
/* ------------------------------- */
/* ナビゲーション・矢印関連        */
/* ------------------------------- */
.fNavi-cell::after,
.slideMenu-item > a::after {
	background-image: url(../image/common/iconNavArrowSprite.png);
	background-repeat: no-repeat;
	-webkit-background-size: 13px 48px;
	-moz-background-size: 13px 48px;
	background-size: 13px 48px;
}

/* 赤（#d8000e）・右向き矢印 */
.slideMenu-item > a::after {
	position: absolute;
	top: 0;
	right: 8px;
	bottom: 0;
	width: 9px;
	height: 13px;
	margin: auto;
	background-position: 0 0;
	content: "";
}

/* グレー（#aaaaaa）・右向き矢印 */
.fNavi-cell::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 9px;
	height: 13px;
	margin: auto;
	background-position: 0 -24px;
	content: "";
}