@charset "utf-8";
/* ==========================================================================
   $2. Layout
   ========================================================================== */
/**
 * break points [mobile first]
 * (max-width: 35em  ･･･ スマホ縦)
 *  max-width: 40em  ･･･ スマホ
 *  min-width: 40.0625em  ･･･ タブレット
 *  min-width: 64.0625em  ･･･ デスクトップ
 */

/* ==========================================================================
   $3-1. Object -- Project
   ========================================================================== */
/**
 * プロジェクト内の固有スタイル
 */

/* Base Font size ･･･ 14/16px) */
html { font-size: 62.5%;}
body {
	background: #fff;
	color: #333;
	font: 1.4em/1.714 Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
@media screen and (min-width:40.0625em) {
	body { font-size: 1.5em;}
}
.serif { font-family: "Roboto Slab", "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;}


/* Link Colors */
a {
	color: #0068c7;
	text-decoration: none;
	word-break: break-all;
	-webkit-transition: color .2s;
	transition: color .2s;
	/*-webkit-tap-highlight-color: rgba(0, 0, 0, 0);*/
}
a.nolink { color: inherit; pointer-events: none; text-decoration: none !important; cursor: default;}
a:hover { text-decoration: underline;}

/* Link Icons */
a.book:before,
a.external:after,
.pdf:before,
.doc:before,
.xls:before,
.link_book:before,
.link_pdf:before,
.link_doc:before,
.link_xls:before {
	display: inline-block;
	margin-right: 4px;
	font-family: icomoon;
	text-decoration: none !important;
	vertical-align: middle;
	text-indent: 0;
	font-weight: normal;
}
.pdf:before,
.link_pdf:before { content: "\eadf"; color: #f46862;}
.doc:before,
.link_doc:before { content: "\eae1"; color: #0061bc;}
.xls:before,
.link_xls:before { content: "\eae2"; color: #1b9e58;}
a.book:before,
.link_book:before { content: "\e91f"; color: #1894de;}
a.external:after { content: "\ea7e"; margin-left: 4px;}
a.noicon:before { display: none !important;}

/* ----------------------------------
   コンテナ
   ---------------------------------- */
.wrapper {
	position: relative;
	max-width: 1240px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.content-fit { margin: 0 -20px;}

@media screen and (min-width:64.0625em) {
	.wrapper { padding: 0 40px;}
	.no-svg .wrapper { width: 1240px;} /* IE8用 */
	.wrapper.narrow { max-width: 1000px;}
	.content-fit { margin: 0 -40px;}
}

/* ----------------------------------
   ヘッダー
   ---------------------------------- */
.header {
	position: relative;
	max-width: 1200px;
	height: 46px;
	margin: 0 auto;
	padding-top: 6px;
}

/* ロゴ */
.header__logo {
	width: 60%;
	max-width: 180px;
	margin: 0 auto;
}

/* グローバルサイト */
.header__global-site {
	display: none;
	position: absolute;
	right: 10px;
	top: 90px;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
}
.header__global-site a {
	display: block;
	color: #a1aeb6;
	text-decoration: none !important;
}
.header__global-site a:hover {
	color: #0068c7;
}
.header__global-site .icon-global {
	display: block;
	font-size: 40px;
}

@media screen and (min-width:64.0625em) {
	.header__global-site { display: block;}
}
@media screen and (min-width:64.0625em) {
	.header.is-fixed {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 999;
		overflow: hidden;
		width: 100%;
		max-width: none;
		height: 70px;
		margin-top: 0;
		padding-top: 0;
		background: #435c6d;
		background: rgba(67,92,109,.95);
		box-shadow: 0 0 20px rgba(0,0,0,.2);
		-webkit-transition: margin-top .3s ease-out;
		transition: margin-top .3s ease-out;
	}
	.header.is-fixed .header__logo,
	.header.is-fixed .header__global-site,
	.header.is-fixed .header__search { display: none;}
}
@media print, (min-width:64.0625em) {
	.header {
		height: auto;
		margin-top: -70px;
		padding-top: 95px;
	}
	.drawer-toggle { display: none;}
	.header__logo { margin-bottom: 25px;}
}

/* Yahooカスタム検索 */
#srchBox #srch #srchForm{white-space:nowrap;}
#srchBox #srchInput{width:100%;}
/*#srchBox ul{margin-top:6px;text-align:left;}
#srchBox li{list-style-type:none;display:inline;zoom:1;padding-right:10px;}
#srchBox li input{zoom:1;margin-right:2px;_margin:-4px 0 -4px -4px;vertical-align:middle;border:0;}
*:+html #srchBox li input{margin:-4px 0 -4px -4px;}*/
#srchBox #srchLogo{margin:0;text-align:right;}
#srchBox #srchLogo a{color:#666666;text-decoration:none;font-size:1.1rem;}
#srchBox #srchLogo a:hover{text-decoration:underline;}

/* サイト内検索フィールド */
.header__search { display: none;}
.drawer__search {
	position: relative;
	margin: 10px;
}
.searchfield {
	width: 100%;
	height: 40px;
	line-height: 1;
	padding: 6px;
	border: 1px solid #e6e6e6;
	font-size: 16px;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.searchfield:focus {
	outline: none;
	box-shadow: 0 0 1px #0068c7;
}
.ylogo {
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
}


/* サイト内検索ボタン（共通） */
.searchbtn {
	overflow: hidden;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	border: 0;
	color: #808080;
	text-align: center;
	cursor: pointer;
	outline: none;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.searchbtn:focus,
.searchbtn:hover { color: #0068c7;}
.no-touchevents .searchbtn:active { background: #6e6f72; color: #fff;}

.searchbtn .icon-search {
	line-height: 30px;
	font-size: 24px;
}
.searchbtn:focus .icon-search {
	line-height: 30px;
	font-size: 24px;
}

@media screen and (min-width:64.0625em) {
	.header__search {
		display: block;
		position: absolute;
		right: 9.16%;
		top: 105px; /* 70+35px */
	}
	.searchfield {
		width: 190px;
		height: 30px;
		padding: 4px 6px;
		border: 1px solid #e6e6e6;
	}
	.searchbtn {
		width: 30px;
		height: 30px;
	}
}
/* Google カスタム検索 カスタマイズ */
.gsc-search-box { margin: 0;}
.content .gsc-control-cse { padding: 0;}
.content .gsc-webResult.gsc-result { margin: 0; padding: 10px;}
.content .gsc-table-result, .content .gsc-thumbnail-inside, .content .gsc-url-top { padding-left: 0; padding-right: 0;}
.content .gsc-result .gs-title { height: auto;}
.content .gsc-results .gsc-cursor-box .gsc-cursor-page { display: inline-block; min-width: 24px; height: 24px; line-height: 24px; margin: 0 .1em; border-radius: 4px; background: #eee; color: #666; text-align: center; text-decoration: none;}
.content .gsc-results .gsc-cursor-box .gsc-cursor-current-page { border-color: #0068c7; background-color: #0068c7; color: #fff;}
.gsc-orderby .gsc-selected-option, .gsc-orderby .gsc-option { white-space: nowrap;}


/* ヘッダーナビゲーション */
.header__nav { display: none;}

@media screen and (min-width:64.0625em) {
	.header__nav {
		display: block;
		height: 70px;
		text-align: center;
	}
	.header__nav li {
		display: inline;
	}
	.header__nav a {
		display: inline-block;
		position: relative;
		overflow: hidden;
		padding: 26px 1em 28px;
		line-height: 1;
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: bold;
		-webkit-transition: background .2s, color .2s;
		transition: background .2s, color .2s;
	}
	.is-fixed .header__nav a { color: #fff;}
	.no-touchevents .header__nav a:hover {
		color: #a1aeb6 !important;
		text-decoration: none;
	}
}

/* ドロワーナビゲーション */
.drawer__nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.drawer__nav li,
.drawer__nav a {
  display: block;
  position: relative;
}
.drawer__nav li {
	border-bottom: 1px solid #ccc;
}
.drawer__nav a {
	display: block;
	position: relative;
	padding: 12px 20px 12px 12px;
	color: #4d4d4d;
  text-decoration: none!important;
	font-weight: bold;
}
.drawer__nav a:before {
	display: block;
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 2px solid #808080;
	border-right: 2px solid #808080;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.drawer-inner {
	padding: 10px;
}
@media (min-width:64.0625em) {
	.drawer__nav { display: none;}
}

/* ----------------------------------
   コンテンツ
   ---------------------------------- */
.content { overflow: hidden;}

/* コンテンツ2カラム設定
   ---------------------------------- */
@media screen and (max-width:64em) {
	.column--main { margin-bottom: 4em;}
	.column--side { margin: 0 -20px;}
}
@media screen and (min-width:64.0625em) {
	.content { padding-bottom: 80px;}
	.column--main {
		float: right;
		width: 100%;
		margin-left: -260px;
		padding-left: 260px;
	}
	.column--side {
		float: left;
		width: 220px;
	}
}

.side__heading {
	padding: 8px 16px;
	background: #a1aeb6;
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
}
.side__heading a {
	display: block;
	color: #fff;
}
.side__list {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #f0f3f5;
	font-size: 13px;
	font-size: 1.3rem;
}
.side__list a {
	display: block;
	color: inherit;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.side__list > li {
	border-bottom: 1px solid #d4dbdf;
}
.side__list > li > a {
	position: relative;
	padding: 8px 24px 8px 16px;
}
.side__list > li > a:after {
	display: block;
	content: "\f054";
	position: absolute;
	right: 8px;
	top: 12px;
	color: #91a4ad;
	font-family: "icomoon";
	font-size: 12px;
	font-size: 1.2rem;
}
.no-touchevents .side__list > li > a:hover {
	background: #edf2f5;
	text-decoration: none;
	-webkit-transition: all .1s ease;
	transition: all .1s ease;
}
.list-parent {
	display: block;
	position: relative;
	padding: 8px 24px 8px 16px;
	font-weight: bold;
	cursor: pointer;
}
.list-parent:after {
	display: block;
	content: "\ea0a";
	position: absolute;
	right: 8px;
	top: 10px;
	color: #a1aeb6;
	font-family: "icomoon";
	font-size: 12px;
	font-size: 1.2rem;
}
.is-active .list-parent {
	background: #dce0e3;
}
.is-active .list-parent:after {
	content: "\ea0b";
}
.list-child {
	display: none;
	line-height: 1.3;
	padding: 6px 0 6px 16px;
}
.list-child a {
	position: relative;
	padding: 8px 8px 8px 16px;
}
.list-child a:after {
	display: block;
	content: "";
	position: absolute;
	left: 2px;
	top: 14px;
	width: 4px;
	height: 4px;
	background: #a1aeb6;
}
.side__list .icon {
	font-size: 12px;
	font-weight: normal;
}
.side__list .current a {
	color: #0068c7;
	font-weight: bold;
}
.list-child .current a:after {
	background: #0068c7;
}
@media screen and (min-width:64.0625em) {
	.side__list {
		font-size: 14px;
		font-size: 1.4rem;
	}
	.side__heading {
		background: #0068c7;
		padding: 20px 16px;
		font-size: 18px;
		font-size: 1.8rem;
	}
	.side__list {
		background: #fff;
		border-top: none;
	}
	.side__list > li > a {
		padding: 10px 16px;
		font-weight: bold;
	}
}


/* パンくずリスト
   ---------------------------------- */
.breadcrumbs { display: none;}

@media print, (min-width:40em) {
	.breadcrumbs {
		display: block;
		margin-top: 4px;
		margin-bottom: 30px;
		font-size: 13px;
		font-size: 1.3rem;
	}
	.breadcrumbs ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.breadcrumbs li {
		display: inline-block;
		position: relative;
	}
	.breadcrumbs a,
	.breadcrumbs strong {
		display: inline-block;
		padding: 5px 0;
		vertical-align: middle;
	}
	.breadcrumbs li + li:before {
		display: inline-block;
		content: "\203A";
		margin-right: .5em;
		vertical-align: middle;
	}
	.breadcrumbs strong { font-weight: normal;}
}
@media print, (min-width:40.0625em) and (max-width:64em) {
	.breadcrumbs {
		overflow: hidden;
		background: #e6ebee;
		margin-top: 0;
		font-size: 12px;
		font-size: 1.2rem;
	}
	.csstransforms .breadcrumbs li + li { padding-left: 20px;}
	.csstransforms .breadcrumbs li + li:before {
		content: "";
		position: absolute;
		left: 6px;
		top: 50%;
		width: 0;
		height: 50%;
		margin-right: 0;
		border-left: 2px solid #d4dbdf;
		-webkit-transform: skewX(-30deg);
		-ms-transform: skewX(-30deg);
		transform: skewX(-30deg);
	}
	.csstransforms .breadcrumbs li + li:after {
		display: block;
		content: "";
		position: absolute;
		left: 6px;
		top: 0;
		width: 0;
		height: 50%;
		border-left: 2px solid #d4dbdf;
		-webkit-transform: skewX(30deg);
		-ms-transform: skewX(30deg);
		transform: skewX(30deg);
	}
	.breadcrumbs strong {
		max-width: 400px;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
	}
	.breadcrumbs,
	.breadcrumbs a { color: #435c6d;}
}


/* ページタイトル
   ---------------------------------- */
.page-header {
	position: relative;
	line-height: 1;
	background-color: #eee;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	color: #fff;
	font-size: 20px;
	font-size: 2rem;
	font-feature-settings : "palt" 1;
	text-align: center;
}
.page-header:before {
	display: inline-block;
	content: "";
	width: 0;
	min-height: 100px;
	vertical-align: middle;
}
.page-header.products { background-image: url(../img/image-products.jpg);}
.page-header.company { background-image: url(../img/image-company.jpg);}
.page-header.csr { background-image: url(../img/image-csr.jpg);}
.page-header.ir { background-image: url(../img/image-ir.jpg);}
.page-header.recruit { background-image: url(../img/image-recruit.jpg);}
.page-header__title-row {
	display: inline-block;
	width: 96%;
	margin-top: -.5em;
	padding: 1em 0;
	vertical-align: middle;
}
.page-header__subtitle {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
}
.page-header__subtitle:after {
	display: block;
	content: "";
	width: 2em;
	height: 2px;
	margin: 6px auto;
	background: #ff931e;
}
.page-header__lead {
	font-size: 12px;
	font-size: 1.2rem;
	color: #333;
	margin-top: 1rem;
}
.page-header__title {
	display: block;
	line-height: 1.4;
}
.page-header__title.product_intro { color: #3980ce;}
@media screen and (max-width:40em) {
	.page-header { margin-bottom: 20px;}
}
@media screen and (min-width:64.0625em) {
	.page-header:before {
		display: inline-block;
		content: "";
		width: 0;
		height: 300px;
		vertical-align: middle;
	}
}
@media screen and (min-width:64.0625em) {
	.page-header {
		font-size: 40px;
		font-size: 4rem;
	}
	.page-header .page-header__title {
		letter-spacing: .075em;
	}
	.page-header__subtitle {
		font-size: 18px;
		font-size: 1.8rem;
	}
	.page-header__subtitle:after {
		width: 70px;
		height: 3px;
		margin: 18px auto 12px;
	}
	.page-header__lead {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

/* ページタイトル（イメージ画像なし）
   ---------------------------------- */
.page-header2 {
	position: relative;
	margin-bottom: 24px;
	font-size: 16px;
	font-size: 1.6rem;
	font-feature-settings : "palt" 1;
	letter-spacing: .05em;
}
.page-header2 .page-header__title:before,
.page-header2 .page-header__title > span:after {
	display: none;
}
@media screen and (max-width:40em) {
	.page-header2 {
		padding: 1em 20px;
		background: #3a454d;
		color: #fff;
		text-align: left;
	}
	.page-header2:before {
		display: inline-block;
		content: "";
		position: absolute;
		left: 8px;
		top: 25%;
		width: 1px;
		height: 50%;
		padding-top: 0;
		background: #ff931e;
		background: -webkit-linear-gradient(#e4007f 25%, #fff100 25%,#fff100 50%, #00a0e9 50%,#00a0e9 75%, #766c69 75%);
		background: linear-gradient(#e4007f 25%, #fff100 25%,#fff100 50%, #00a0e9 50%,#00a0e9 75%, #766c69 75%);
	}
	.page-header2 .page-header__title {
		padding-bottom: 0;
	}
}
@media screen and (min-width:40.0625em) {
	.page-header2 {
		margin-bottom: 50px;
		padding-top: 40px;
		border-top: 1px solid #d4dbdf;
		color: #1c1c1c;
		font-size: 32px;
		font-size: 3.2rem;
		text-align: center;
	}
	.page-header2 .page-header__title {
		max-width: 1240px;
		width: 100%;
		margin: 0 auto;
		padding: 0 40px;
	}
}
@media print, (min-width:40.0625em) {
	.page-header2 .page-header__title:after {
		display: block;
		content: "";
		width: 60px;
		height: 3px;
		margin: 20px auto 0;
		background: #ff931e;
		background: -webkit-linear-gradient(left, #e4007f 25%, #fff100 25%,#fff100 50%, #00a0e9 50%,#00a0e9 75%, #625d5b 75%);
		background: linear-gradient(to right, #e4007f 25%, #fff100 25%,#fff100 50%, #00a0e9 50%,#00a0e9 75%, #625d5b 75%);
	}
}
@media print {
	.page-header2 {
		margin: 10px 0 24px;
		padding-top: 16px;
		border-top: 1px solid #d4dbdf;
		font-size: 16px;
		text-align: left;
	}
	.page-header2 .page-header__title {
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		font-weight: bold;
	}
	.page-header2 .page-header__title:after {
		width: 2em;
		margin: 4px 0 0;
	}
}

/* 見出し・セクション
   ---------------------------------- */
h1,h2,h3,h4,h5,h6 {
	margin: 0;
	font-size: inherit;
}
.h1,.h2,.h3,.h4,.h5 {
	text-transform: none;
}
/* @note: line-heightをremで指定するとIEで崩れる */
.h1 {
	line-height: 1.2;
	margin: 1em 0;
	color: #0068c7;
	font-size: 24px; font-size: 2.4rem;
	font-weight: normal;
}
.h2 {
	position: relative;
	line-height: 1.3;
	margin-top: 2em;
	margin-bottom: 1em;
	padding-bottom: 8px;
	color: #111;
	font-size: 17px; font-size: 1.7rem;
}
.h2:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: 0;
	background: #d4dbdf;
}
.h2:after {
	content: "";
	display: block;
	position: absolute;
	width: 80px;
	height: 2px;
	bottom: 0;
	background: #0068c7;
}
.h3 {
	line-height: 1.3;
	margin-top: 2em;
	margin-bottom: .5em;
	color: #435c6d;
	font-size: 18px; font-size: 1.8rem;
}
.h4 {
	line-height: 1.4545;
	font-size: 17px; font-size: 1.7rem;
}
.h1 + .h2,
.h1 + .h3,
.h2 + .h3 {
	margin-top: 0;
}
.lead {
	line-height: 1.3;
	margin-bottom: 24px;
	font-size: 20px; font-size: 2rem;
	font-weight: normal;
}

@media print, (min-width:40.0625em) {
	.h1 {
		margin: 0 0 1em;
		padding: 10px 16px;
		background: #424f58;
		color: #fff;
		font-size: 20px; font-size: 2rem;
	}
	.h2 {
		font-weight: normal;
	}
	.h3 {
		font-size: 20px; font-size: 2rem;
	}
	.lead {
		font-size: 26px; font-size: 2.6rem;
	}
}
@media screen and (min-width:40.0625em) {
	.h2 {
		line-height: 1.3125;
		font-size: 26px; font-size: 2.6rem;
	}
	.h2:after {
		width: 160px;
	}
}

/* セクション */
.section {
	clear: both;
	margin-bottom: 5em;
}


/* お問い合わせボックス
   ---------------------------------- */
.contactus {
	padding: 30px 20px 50px;
	background: #f2f2f2;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
}
.contactus__heading {
	margin-bottom: 20px;
	color: #0068c7;
	font-size: 30px;
	font-size: 7vw;
	letter-spacing: .05em;
}
.contactus__contact,
.contactus__branch {
	position: relative;
	margin-bottom: 30px;
}

@media print, (min-width:40.0625em) {
	.contactus {
		padding: 50px 0 70px;
		background: #f2f2f2;
		font-size: 13px;
		font-size: 1.3rem;
		text-align: center;
	}
	.contactus__heading {
		font-family: Arial, Helvetica, sans-serif;
		font-size: 38px;
		font-size: 3.8rem;
	}
	.contactus__contact,
	.contactus__branch {
		display: inline-block;
		width: 300px;
		margin: 0 25px;
		padding-top: 0;
	}
}



/* ページトップ
   ---------------------------------- */
.pagetop {
	display: none;
	position: fixed;
	right: 8px;
	bottom: 5%;
	z-index: 900;
}
.pagetop a {
	display: block;
	width: 42px;
	height: 42px;
	background: #4d4d4d;
	background: rgba(0,0,0,.25);
	text-decoration: none !important;
	-webkit-transition: background .2s;
	transition: background .2s;
}
.no-csstransforms .pagetop a {
	line-height: 42px;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
}
.csstransforms .pagetop [class*=icon-] {
	visibility: hidden;
}
.csstransforms .pagetop a:after {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 13px;
	height: 13px;
	margin: -3px 0 0 -6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: margin .2s;
	transition: margin .2s;
}
@media screen and (min-width:64.0625em) {
	.pagetop {
		right: 0;
	}
	.pagetop a {
		width: 80px;
		height: 80px;
	}
	.no-csstransforms .pagetop a {
		line-height: 80px;
		background: rgba(77,77,77,.7);
		font-size: 38px;
		font-size: 3.8rem;
	}
	.csstransforms .pagetop a:after {
		width: 26px;
		height: 26px;
		margin: -6px 0 0 -13px;
	}
	.csstransforms .pagetop a:hover {
		background: rgba(77,77,77,.85);
	}
}


/* ----------------------------------
   記事ページレイアウト
   ---------------------------------- */
.article__header {
	margin-bottom: 1em;
}
.article__title {
	line-height: 1.4;
	margin-bottom: .4em;
	padding-bottom: .4em;
	border-bottom: 1px solid #666;
	font-size: 20px;
	font-size: 2rem;
}
.article__title:before,
.article__title:after { display: none;}
.article__date {
	display: block;
	text-align: right;
}
.article__image {
	margin-top: 4em;
	text-align: center;
}
.article__image figure + figure { margin-top: 2em;}
.article__image figcaption {
	margin-top: .46em;
	font-size: 13px;
	font-size: 1.3rem;
}
.article__image a:focus { outline: 0;}

.article__files {
	margin-top: 4em;
	padding: 8px 16px;
	border: 1px solid #bbb;
}
.article__files__title {
	font-size: 16px;
	font-size: 1.6rem;
}
.article__files ul {
	margin-bottom: 0;
	padding-left: 1.5em;
}
@media print, (min-width:40.0625em) {
	.article__title {
		padding: .75em 0;
		border-top: 1px solid #666;
		font-size: 26px;
		font-size: 2.6rem;
	}
	.article__files {
		clear: both;
		padding: 1em 2em;
	}
	.article__files__title {
		font-size: 18px;
		font-size: 1.8rem;
	}
	.article--image-side .article__body {
		float: left;
		width: 60%;
		margin-bottom: 4em;
	}
	.article--image-side .article__image {
		float: right;
		width: 38%;
		margin-top: 0;
		margin-bottom: 4em;
	}
	.article--image-side .article__body02 {
		float: right;
		width: 60%;
		margin-bottom: 4em;
	}
	.article--image-side .article__image02 {
		float: left;
		width: 38%;
		margin-top: 0;
		margin-bottom: 4em;
	}
}
/* ----------------------------------
   ウィンドウオープン レイアウト
   ---------------------------------- */
.window-header {
	position: relative;
	padding: 8px;
}
.window-header__logo { margin: 0;}
.window-header__close {
	position: absolute;
	right: 8px;
	top: 10px;
}
.window-header__close .btn { max-width: 100%;}
.window-footer {
	margin-top: 20px;
	border-top: 1px solid #d4dbdf;
	padding: 8px;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
}
@media screen and (min-width:40.0625em) {
	.window-header { padding: 10px 20px;}
	.window-header__close { right: 20px;}
}


/* ----------------------------------
   フッター
   ---------------------------------- */
.footer {
	line-height: 1.4;
	padding: 20px 0;
	background: #0068c7;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
}
.footer a {
	display: inline-block;
	color: #fff;
}
.footer__nav2 {
	margin-top: 20px;
	text-align: center;
}
.footer__nav2 > li {
	display: inline-block;
}
.footer__nav2 a {
	width: 35vw;
	max-width: 200px;
	margin: 0 4px;
	padding: 10px;
	border: 1px solid #fff;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.no-touchevents .footer__nav2 a:hover {
	background: #fff;
	color: #0068c7;
	text-decoration: none;
}
.copyright {
	margin-top: 30px;
	font-size: 11px;
	font-size: 1.1rem;
	text-align: center;
}
@media screen and (max-width:40em) {
	.no-csstransforms .footer__nav a { padding: 4px 0;}
	.csstransforms .footer__nav a {
		position: relative;
		padding: 4px 0 4px 16px;
	}
	.csstransforms .footer__nav a:before {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		width: 6px;
		height: 6px;
		margin-top: -3px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
}
@media print, (min-width:40.0625em) {
	.footer {
		font-size: 13px;
		font-size: 1.3rem;
		text-align: center;
	}
	.footer__nav > li {
		display: inline-block;
	}
	.footer__nav > li + li:before {
		display: inline-block;
		content: "";
		position: relative;
		top: -2px;
		width: 1px;
		height: 1em;
		margin: 0 2px;
		background: #fff;
		vertical-align: middle;
	}
	.footer__nav a {
		padding: 6px 10px;
	}
}
@media screen and (min-width:64.0625em) {
	.footer {
		padding: 12px 0;
		font-size: 15px;
		font-size: 1.5rem;
	}
	.copyright {
		font-size: 12px;
		font-size: 1.2rem;
	}
}



/* ==========================================================================
   $3-2. Object -- Component
   ========================================================================== */
/**
 * 再利用可能なパーツ群
 */

/* 分割グリッド
   ---------------------------------- */
.grid {
	list-style: none;
	margin: 0;
	padding: 0;
}
.grid:before,
.grid:after { content: ""; display: table;}
.grid:after { clear: both;}
.grid .grid__col { margin-bottom: 30px;}
.grid.grid--4 {
	clear: both;
	width: 104%;
	margin-right: -2%;
	margin-left: -2%;
	*zoom: 1;
}
.grid.grid--4 .grid__col,
.grid.grid--4 > li {
	float: left;
	width: 46%;
	margin-right: 2%;
	margin-left: 2%;
}
@media screen and (max-width:47.9375em) {
	.grid.grid--4 > li:nth-child(odd) {
		clear: both;
	}
}
@media print, (min-width:48em) {
	.grid {
		clear: both;
		width: 104%;
		margin-right: -2%;
		margin-left: -2%;
		*zoom: 1;
	}
	.grid .grid__col {
		margin-bottom: 40px;
	}
	.grid .grid__col,
	.grid > li {
		float: left;
		margin-right: 2%;
		margin-left: 2%;
	}
	.grid.grid--2 .grid__col,
	.grid.grid--2 > li {
		width: 45%;
	}
	.grid.grid--2 .grid__col:nth-child(even),
	.grid.grid--2 > li:nth-child(even) {
		float: right;
	}
	.grid.grid--2 .grid__col:nth-child(2n+1),
	.grid.grid--2 > li:nth-child(2n+1) {
		clear: both;
	}
	.grid.grid--3 .grid__col,
	.grid.grid--3 > li {
		width: 29.33%;
	}
	.grid.grid--4 .grid__col,
	.grid.grid--4 > li {
		width: 21%;
	}
	.grid.grid--3 .grid__col:nth-child(3n+1),
	.grid.grid--4 .grid__col:nth-child(4n+1),
	.grid.grid--3 > li:nth-child(3n+1),
	.grid.grid--4 > li:nth-child(4n+1) { clear: both;}

}
@media print {
	.grid {
		width: 100% !important;
		margin: 0 !important;
	}
}


/* カテゴリートップ
   ---------------------------------- */
/* パネル表示 */
.category-index:before,
.category-index:after { content: ""; display: table;}
.category-index:after { clear: both;}
.index-panel {
	display: block;
	text-decoration: none !important;
	color: #333;
}
.index-panel__image {
	overflow: hidden;
	position: relative;
	width: 100%;
	background: #2f4a5c;
}
.index-panel__image img {
	width: 100%;
	-webkit-transform: scale(1.02);
	transform: scale(1.02);
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.index-panel__title {
	display: block;
	overflow: hidden;
	position: relative;
	line-height: 1.4;
	padding: 10px 20px 10px 10px;
	background: #0068c7;
	color: #fff;
	text-decoration: none !important;
}
.index-panel__title .icon {
	color: #fff;
	font-size: 12px;
}
.index-panel__title span {
	display: inline-block;
	position: relative;
	z-index: 1;
	vertical-align: middle;
}
.index-panel__title:before {
	display: inline-block;
	content: "";
	width: 0;
	height: 100%;
	vertical-align: middle;
}
.index-panel__title:after {
	display: block;
	content: "\f054";
	position: absolute;
	right: 8px;
	top: 50%;
	z-index: 1;
	line-height: 1;
	margin-top: -6px;
	color: #8fd6ff;
	font-family: "icomoon";
	font-size: 12px;
	opacity: .5;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.index-panel__desc { display: none;}
.no-touchevents .index-panel:hover .index-panel__image img {
	opacity: .6;
	-webkit-transform: scale(1.15);
	-ms-transform: scale(1.15);
	transform: scale(1.15);
	-webkit-transition: all .2s ease-out;
	transition: all .2s ease-out;
}
.no-touchevents .index-panel:hover .index-panel__title:after {
	margin-right: -2px;
	opacity: 1;
}
.index-panel--slim .index-panel__title {
	line-height: 1.3;
	padding: 10px 20px 10px 8px;
	font-size: 13px;
	font-size: 1.3rem;
}
.index-panel__title.light {
	background: #e6ebee;
	color: #106ac4;
}
.index-panel__title.light:after {
	color: #106ac4;
}

@media screen and (max-width:48em) {
	.category-index-wrap {
		margin-bottom: 40px;
	}
	.category-index__col {
		float: left;
		width: 50%;
	}
	.category-index__col:nth-child(odd) { clear: both; margin-right: -1px;}
	.index-panel__image {
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
	}
	.index-panel__title {
		border-left: 1px solid #fff;
	}
}
@media print, (min-width:48.0625em) {
	.category-index-wrap {
		max-width: 1240px;
		margin: 40px auto 0;
		padding: 0 20px;
	}
	.category-index {
		clear: both;
		width: 102%;
		margin: 0 -1%;
		*zoom: 1;
	}
	.category-index__col {
		float: left;
		width: 23%;
		margin: 0 1% 40px;
	}
	.category-index__col:nth-child(4n+1) { clear: both;}
	.index-panel__image,
	.index-panel__title {
		box-shadow: 0 0 0 1px rgba(47,74,92,.1);
	}
	.index-panel__title {
		font-size: 15px;
		font-size: 1.5rem;
	}
	.index-panel--slim .index-panel__title {
		font-size: 14px;
		font-size: 1.4rem;
	}
	.index-panel__desc {
		display: block;
		margin-top: 1em;
		font-size: 13px;
		font-size: 1.3rem;
	}
}
@media screen and (min-width:64.0625em) {
	.category-index-wrap {
		padding: 0 40px;
	}
	.index-panel__title {
		padding: 16px 24px 16px 14px;
	}
	.index-panel__title:after {
		right: 10px;
		font-size: 14px;
	}
	.index-panel--slim .index-panel__title {
		padding: 14px 24px 14px 14px;
	}
	.index-panel--slim .index-panel__title:after {
		font-size: 12px;
	}
}

/* サブリンク */
.category-index--sub {
	list-style: none;
	margin-bottom: 0;
	padding: 0;
}
.category-index--sub a {
	display: block;
	position: relative;
	padding: 1em 1em 1em 2em;
	background: #fff;
	border: 1px solid #ccd7df;
	color: inherit;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold;
	text-align: left;
}
.category-index--sub a:before {
	display: block;
	content: "";
	position: absolute;
	left: 16px;
	top: 1.6em;
	width: 0;
	height: 0;
	border: 4px solid rgba(0,0,0,0);
	border-left: 6px solid #4b6373;
}
.category-index--sub .category-index__col {
	margin-top: -1px;
}
@media print, (min-width:48.0625em) {
	.category-index--sub .category-index__col {
		margin-bottom: 40px;
	}
	.category-index--sub a {
		font-size: 15px;
		font-size: 1.5rem;
	}
}



/* アコーディオン
   ---------------------------------- */
.mod-acc {
	margin: 0;
}
.mod-acc__title a {
	display: block;
	position: relative;
	padding: 8px 20px 8px 0;
	border-bottom: 1px solid #d4dbdf;
	color: #435c6d;
	text-decoration: none;
	font-weight: bold;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.mod-acc__title a:hover {
	background: #f3f6f7;
}
.mod-acc__title a .icon {
	position: absolute;
	right: 8px;
	top: 12px;
	color: #a1aeb6;
	font-size: 20px;
}
.mod-acc__title .is-active .icon {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.mod-acc__panel + .mod-acc__title {
	margin-top: 4px;
}
.mod-acc__panel {
	margin: 0;
	padding: 0;
}

.mod-acc--box {
	border: 1px solid #d4dbdf;
}
.mod-acc--box .mod-acc__title a {
	padding-left: 10px;
	background: #f7f9fa;
	border: none;
}
.mod-acc--box .mod-acc__title a:hover {
	background: #ecf0f2;
}
.mod-acc--box .mod-acc__panel {
	padding-top: 10px;
	border-top: 1px solid #d4dbdf;
}

/* タブ切り替え
   ---------------------------------- */
.mod-tab__tablist {
	list-style: none;
	max-width: 100%;
	margin: 0;
	padding: 0 0 6px;
	border-bottom: 1px solid #d4dbdf;
}
.mod-tab__tablist > li {
	display: table-cell;
	padding-right: 6px;
	text-align: center;
}
.mod-tab__tablist a {
	display: block;
	position: relative;
	padding: .2em 1em .3em;
	background: #f5f5f5;
	color: inherit;
	font-weight: bold;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.mod-tab__tablist a:after {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	bottom: -8px;
	width: 0;
	height: 0;
	margin-left: -6px;
	border: 6px solid rgba(0,0,0,0);
	border-top: 8px solid rgba(0,0,0,0);
	border-bottom: 0;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.mod-tab__tablist > .is-active > a {
	background: #0068c7;
	color: #fff;
}
.mod-tab__tablist > .is-active > a:after {
	border-top-color: #0068c7;
}


/* ボックス
   ---------------------------------- */
.box-info {
	padding: 1em;
	background: #eaf9ff;
	border: 1px solid #d4eaf3;
}
.box-note {
	margin: 3em 0;
	padding: 1em;
	background: rgba(255,255,255,.6);
	border: 1px solid #d4dbdf;
}
.box-info :last-child,
.box-note :last-child { margin-bottom: 0;}
.box__heading {
	line-height: 1.4;
	margin: -1em -1em 1em;
	padding: .5em 1em;
	background: rgba(102,119,128,.1);
	color: #5b7284;
	border-bottom: 1px solid #d4dbdf;
}


/* 画像表示
   ---------------------------------- */
.img-border { border: 1px solid #ddd;}
.caption {
	margin-top: 5px;
	font-size: 13px;
	font-size: 1.3rem;
}
.figure {
	display: block;
	margin: 2em 0;
	text-align: center;
}

/* リンク装飾
   ---------------------------------- */
/*a*/.link-arrow {
	display: inline-block;
	position: relative;
	padding: .1875em .1875em .1875em 1.25em;
	color: #1c1c1c;
	font-size: 1em;
	font-weight: bold;
}
/*a*/.link-arrow:before,
.list--link a:before {
	display: block;
	content: "\f105" !important;
	position: absolute;
	left: 0;
	top: 50%;
	width: 1.2em;
	height: 1.2em;
	line-height: 1.2em;
	margin-top: -.6em;
	border-radius: 50%;
	background: #0068c7;
	color: #fff !important;
	font-family: "icomoon" !important;
	font-size: .75em;
	text-align: center;
	text-decoration: none;
	text-indent: 1px;
}
.list--link span:before {
	display: block;
	content: "\f105" !important;
	position: absolute;
	left: 0;
	top: 50%;
	width: 1.2em;
	height: 1.2em;
	line-height: 1.2em;
	margin-top: -.6em;
	border-radius: 50%;
	background: #0068c7;
	color: #fff !important;
	font-family: "icomoon" !important;
	font-size: .75em;
	text-align: center;
	text-decoration: none;
	text-indent: 1px;
}
.list--link {
	list-style: none;
	margin: 0 0 2em;
	padding: 0;
}
.list--link a {
	display: inline-block;
	position: relative;
	padding: .1875em .1875em .1875em 1.25em;
}
.list--link span {
	display: inline-block;
	position: relative;
	padding: .1875em .1875em .1875em 1.25em;
}


/* ボタン
   ---------------------------------- */
.btn {
	display: inline-block;
	position: relative;
	line-height: 1.2;
	margin: 4px 0;
	padding: .5em 1em;
	background-color: #fefefe;
	background-image: -moz-linear-gradient(top,  rgba(0,0,0,0) 50%, rgba(0,0,0,0.05) 100%);
	background-image: -webkit-linear-gradient(top,  rgba(0,0,0,0) 50%,rgba(0,0,0,0.05) 100%);
	background-image: linear-gradient(to bottom,  rgba(0,0,0,0) 50%,rgba(0,0,0,0.05) 100%);
	border: 1px solid #ddd;
	color: #111;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.5), 0 1px 1px rgba(0,0,0,.1);
	-webkit-transition: all .2s;
	transition: all .2s;
}
.btn:hover {
	background: #fff;
}
.btn.file-icon:before {
	font-weight: normal;
}
.btn.arrow-icon:before {
	display: inline-block;
	content: "\f105" !important;
	position: relative;
	top: -1px;
	margin-right: 8px;
	color: #0068c7;
	font-family: 'icomoon';
	font-weight: bold;
	vertical-align: middle;
}
.no-touchevents .btn:hover {
	background-color: #fff;
	background-image: -moz-linear-gradient(top,  rgba(0,0,0,0) 50%, rgba(0,0,0,0.03) 100%);
	background-image: -webkit-linear-gradient(top,  rgba(0,0,0,0) 50%,rgba(0,0,0,0.03) 100%);
	background-image: linear-gradient(to bottom,  rgba(0,0,0,0) 50%,rgba(0,0,0,0.03) 100%);
	text-decoration: none;
}
@media screen and (max-width:48em) {
	.btn { max-width: 90%;}
}

/* リンクボタン
   ---------------------------------- */
.link-btn {
	display: block;
	position: relative;
	width: 80%;
	max-width: 300px;
	line-height: 1.2;
	margin: 10px auto;
	padding: 12px 1em;
	background: #ff931e;
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	-webkit-transition: background .2s;
	transition: background .2s;
}
.link-btn i { color: #fff;}
.link-btn--large {
	width: auto;
	max-width: 500px;
	padding: 16px 1em;
}
.link-btn:hover {
	background: #ffa63d;
	text-decoration: none;
}

.csstransforms .link-btn { padding-right: 24px;}
.csstransforms .link-btn:before {
	display: block;
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: -webkit-transform .2s ease;
	transition: transform .2s ease;
}
.no-touchevents.csstransforms .link-btn:hover:before {
	-webkit-transform: translateX(3px) rotate(45deg);
	-ms-transform: translateX(3px) rotate(45deg);
	transform: translateX(3px) rotate(45deg);
}
.emergency-text{
	width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0 auto 30px auto;
	padding: 2% 1em;
	border: 2px solid #ff1d1d;
	text-align: center;
	display: none;
}
.emergency-text a{
	color: #ff1d1d;
}
.emergency-text span{
	font-weight: bold;
}
.emergency{
	width: 100%;
	padding: 23px 1em;
	background: #ff1d1d;
	color: #fff;
	font-size: 23px;
	font-size: 2.3rem;
	font-weight: bold;
	text-align: center;
}
.emergency:hover {
	background: #ff5555;
	text-decoration: none;
}
.br-sp {
	display:inline;
}
@media print, (min-width:40.0625em) {
	.link-btn {
		max-width: none;
		font-size: 18px;
		font-size: 1.8rem;
	}
	.link-btn--large {
		max-width: 500px;
		padding: 20px 3em !important;
	}
	.csstransforms .link-btn:before { right: 17px;}
	.emergency{
		font-size: 30px;
		font-size: 3rem;
	}
}
@media print, (min-width:60em) {
	.emergency-text{
		width: 96.664%;
	}
	.br-sp {
		display:none;
	}
}

/* お知らせ
   ---------------------------------- */
/* お知らせパーツ */
.news-date {
	color: #4d4d4d;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .05em;
}
.news-tag {
	display: inline-block;
	position: relative;
	top: -1px;
	line-height: 1.2;
	margin-left: 8px;
	padding: 3px 6px;
	background: #b1bcc3;
	color: #fff;
	font-size: 10px;
	font-size: 1rem;
	text-align: center;
}
.news-tag--news { background: #808080;}
.news-tag--release { background: #e9505b;}
.news-tag--recruit { background: #4c7eba;}
.news-tag.ir1 {}/* お知らせ */
.news-tag.ir2 { background: #4cb286;}/* 有価証券報告書 */
.news-tag.ir3 { background: #4fc4e6;}/* IR資料 */
.news-tag.ir4 {}/* 適時開示 */
.news-tag.ir5 { background: #f37c7f;}/* 決算短信 */
.news-tag.ir6 { background: #8491cb;}/* 電子公告 */

@media print, (min-width:40.0625em) {
	.news-date {
		font-size: 13px;
		font-size: 1.3rem;
	}
	.news-tag {
		width: 9em;
		margin: 0 1em;
		padding: 4px 6px 3px 6px;
		font-size: 11px;
		font-size: 1.1rem;
	}
}

/* お知らせリスト */
.list--news {
	list-style: none;
	margin: 0 0 3em;
	padding: 0;
}
.list--news > li {
	padding: .5em 0;
	border-bottom: 1px solid #d4dbdf;
}
.list--news a { text-decoration: none !important;}
.list--news a:before { display: none !important;}

.list--news .news-title {
	display: block;
	color: #333;
}
.list--news a:hover .news-title { text-decoration: underline;}

@media screen and (max-width:40em) {
	.list--news a {
		display: block;
		position: relative;
		padding-right: 20px;
	}
	.list--news a:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 0px;
		width: 12px;
		height: 12px;
		border-top: 2px solid #0068c7;
		border-right: 2px solid #0068c7;
		-webkit-ransform: translateY(-50%) scaleX(.8) rotate(45deg);
		-ms-transform: translateY(-50%) scaleX(.8) rotate(45deg);
		transform: translateY(-50%) scaleX(.8) rotate(45deg);
	}
}
@media print, (min-width:40.0625em) {
	.list--news > li { padding: .75em 0;}
	.list--news .news-date,
	.list--news .news-tag { float: left;}
	.list--news .news-tag { top: 2px;}
	.list--news .news-title { margin-left: 12em;}
	.list--news.notag .news-title { margin-left: 7em;}
}

/* テーブル
   ---------------------------------- */
/*
 * .table クラスと、必要に応じて［Theme（1つまで）］［Modifier］を組み合わせて使用
 * 例：<table class="table table-theme2 table-block">
 */

.table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 1.286em;
}
.table th,
.table td {
	padding: .6em 1em;
	border-bottom: 1px solid #d4dbdf;
}

/* [Theme] テーマ1（デザイン） */
.table-theme1 { border-top: 1px solid #d4dbdf;}
.table-theme1 > tbody > tr > th { color: #435c6d;}
.table-theme1 > tbody > tr > td {
	position: relative;
	padding: 1em 2em;
}
.table-theme1 > tbody > tr > td:after {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 1em;
	width: 1px;
	height: calc(100% - 2em);
	background: #e6ebee;
}

/* [Theme] テーマ2（ゼブラテーブル） */
.table-theme2 thead {
	background: #6d8691;
	color: #fff;
}
.table-theme2 thead th { padding-bottom: .4em;}
.table-theme2 tbody tr:nth-child(even) { background: #f5f8fa;}

/* [Theme] ボーダー付き */
.table-bordered th,
.table-bordered td {
	border: 1px solid #d4dbdf;
}
.table-bordered thead {
	background: #e6ebee;
	color: #435c6d;
}
/* [Theme] 旧テーマ */
.table-colored { background: #fff; border-top: 1px solid #d4dbdf;}
.table-colored th { background: #e6ebee;}
.table-colored thead th { background: #6d8691; color: #fff;}


/* [Theme] スタイルなしテーブル */
.table-flat { margin-bottom: 0;}
.table-flat th,
.table-flat td,
.table-flat caption {
	padding: 0;
	border: none;
	vertical-align: top;
}

/* [Modifier] 狭め */
.table-condensed th,
.table-condensed td { padding: .4em .6em !important;}

/* [Modifier] スマホ時ブロック表示 */
@media screen and (max-width:40em) {
	.table-block > thead { display: none;}
	.table-block,
	.table-block > tbody,
	.table-block > tbody > tr,
	.table-block > tbody > tr > th,
	.table-block > tbody > tr > td { display: block; width: 100%;}
	.table-block > tbody > tr { padding-bottom: 1em;}
	.table-block,
	.table-block > tbody > tr > th,
	.table-block > tbody > tr > td { border: none;}

	.table-block.table-theme1 > tbody > tr > th,
	.table-block.table-theme1 > tbody > tr > td,
	.table-block.table-theme2 > tbody > tr > th,
	.table-block.table-theme2 > tbody > tr > td { padding: .6em;}
	.table-block.table-theme1 > tbody > tr > th { background: #e6ebee; color: #435c6d;}
	.table-block.table-theme1 > tbody > tr > td + td { border-top: 1px dotted #c9d1d6;}
	.table-block.table-theme1 > tbody > tr > td:after { display: none;}
	.table-block.table-theme2 > tbody > tr { border-bottom: 1px solid #c9d1d6;}
	.table-block.table-theme2 > tbody > tr > th { color: #435c6d;}
}

/* 横スクロール */
@media screen and (max-width:40em) {
	.table-scroller {
		overflow-x: scroll;
		width: 100%;
		margin-bottom: 2em;
		background: #fff;
	}
	.table-scroller::-webkit-scrollbar{ height: 5px;}
	.table-scroller::-webkit-scrollbar-track{ background: #f2f2f2;}
	.table-scroller::-webkit-scrollbar-thumb { background: #bbb;}

	.table-scroller table {
		margin-bottom: 0 !important;
		min-width: 100%;
	}
	.table-scroller th,
	.table-scroller td {
		font-size: 13px;
		font-size: 1.3rem;
		white-space: nowrap;
	}
}

/* labels
   ----------------------------------
.label {
	line-height: 1;
	padding: 4px 7px;
	border-radius: 2px;
	background-color: #eee;
	font-size: 11px;
	font-weight: bold;
	text-decoration: none;
	vertical-align: middle;
	white-space: nowrap;
}
.label-important {
	background-color: #b94a48;
	color: #fff;
}
.label-primary {
	background-color: #29adc1;
	color: #fff;
}*/


/* ==========================================================================
   $3-3. Object -- Utility
   ========================================================================== */
/**
 * スタイル調整用ヘルパー（原則編集禁止）
 * Media Query Extensions:
 *   -xs = extra small (max-width:35em)
 *   -sm = small (min-width:35.0625em) and (max-width:40em)
 *   -md = medium (min-width:40.0625em) and (max-width:64em)
 *   -lg = large (min-width:64.0625em)
*/

/* Text meant only for screen readers. */
.sr {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.sr:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Clearing
   ---------------------------------- */
.clr { clear: both;}
.clearfix:before,
.clearfix:after { content: ""; display: table;}
.clearfix:after { clear: both;}

/* Float
   ---------------------------------- */
.fl_left  { float: left;}
.fl_right { float: right;}
.centered { margin-right: auto; margin-left: auto;}

/* Text Align
   ---------------------------------- */
.u-text-left,
.al_left   { text-align: left;}
.u-text-center,
.al_center { text-align: center;}
.u-text-right,
.al_right  { text-align: right;}
.vat,
.vat th,
.vat td { vertical-align: top;}

/* Block widths
   ---------------------------------- */
.u-w100 { width: 100%;}
.u-w80 { width: 80%;}
.u-w75 { width: 75%;}
.u-w60 { width: 60%;}
.u-w50 { width: 50%;}
.u-w40 { width: 40%;}
.u-w33 { width: 33%;}
.u-w25 { width: 25%;}
.u-w20 { width: 20%;}
.u-w10 { width: 10%;}
.u-w15 { width: 15%;}

/* Text Styles
   ---------------------------------- */
.u-size-l,
.txt_xlarger { font-size: 18px; font-size: 1.8rem;}
.u-size-m,
.txt_larger { font-size: 16px; font-size: 1.6rem;}
.u-size-s,
.txt_smaller { font-size: 12px; font-size: 1.2rem;}
.u-size-xs,
.txt_xsmaller { font-size: 11px; font-size: 1.1rem;}
.u-font-normal { font-weight: normal;}
.u-font-bold { font-weight: bold;}

@media screen and (min-width:40.0625em) {
	.u-size-l,
	.txt_xlarger { font-size: 24px; font-size: 2.4rem;}
	.u-size-m,
	.txt_larger { font-size: 18px; font-size: 1.8rem;}
	.u-size-s,
	.txt_smaller { font-size: 14px; font-size: 1.4rem;}
	.u-size-xs,
	.txt_xsmaller { font-size: 12px; font-size: 1.2rem;}
}

/* Margins
   ---------------------------------- */
.mt5 { margin-top:    5px !important;}
.mb5 { margin-bottom: 5px !important;}
.mts { margin-top:    10px !important;}
.mrs { margin-right:  10px !important;}
.mbs { margin-bottom: 10px !important;}
.mls { margin-left:   10px !important;}
.mtm { margin-top:    20px !important;}
.mrm { margin-right:  20px !important;}
.mbm { margin-bottom: 20px !important;}
.mlm { margin-left:   20px !important;}
.mtl { margin-top:    40px !important;}
.mrl { margin-right:  40px !important;}
.mbl { margin-bottom: 40px !important;}
.mll { margin-left:   40px !important;}
.m0,.ma0,.mt0,.mv0 { margin-top:    0 !important;}
.m0,.ma0,.mr0,.mh0 { margin-right:  0 !important;}
.m0,.ma0,.mb0,.mv0 { margin-bottom: 0 !important;}
.m0,.ma0,.ml0,.mh0 { margin-left:   0 !important;}

/* Paddings
   ---------------------------------- */
.pt0 { padding-top:    0 !important;}
.pb0 { padding-bottom: 0 !important;}
.ptm { padding-top:    20px !important;}
.prm { padding-right:  20px !important;}
.pbm { padding-bottom: 20px !important;}
.plm { padding-left:   20px !important;}

/* Media
   ---------------------------------- */
.img-border { border: 1px solid #ddd;}

/* Lists
   ---------------------------------- */
.list-alpha { list-style-type: lower-alpha;}
.list-flat,
.list-inline,
.list-inline-separator,
ul.unstyled, ol.unstyled { list-style: none; padding-left: 0;}
.list-inline li,
.list-inline-separator li { display: inline-block; margin-right: .5em; vertical-align: middle;}
.list-inline-separator:after,
.list-inline-separator li:before { display: inline-block; content: ""; position: relative; top: -1px; width: 1px; height: 1em; margin-right: .7em; background: #d4dbdf; vertical-align: middle;}
.list-separator { list-style: none; padding-left: 0;}
.list-separator li { margin-top: -1px; padding: .5em 0; border-top: 1px solid #d4dbdf; border-bottom: 1px solid #d4dbdf;}
/*dl*/.list-flat dt { font-weight: normal;}
/*dl*/.list-flat dd { margin-left: 0;}
.list-bracket { list-style-type: none; padding-left: 0; counter-reset: bracket;}
.list-bracket > li { counter-increment: bracket; position: relative; padding-left: 2.5em;}
.list-bracket > li::before { content: "（"counter(bracket)"）"; position: absolute; top: 0; left: 0; width: 2.5em; text-align: right;}

/* Text Indents
   ---------------------------------- */
.indent1,
li.indent1,
ul.indent1 > li { padding-left: 1em; text-indent: -1em;}
.indent2,
li.indent2,
ul.indent2 > li { padding-left: 2em; text-indent: -2em;}
.indent3,
li.indent3,
ul.indent3 > li { padding-left: 3em; text-indent: -3em;}
.indent4,
li.indent4,
ul.indent4 > li { padding-left: 4em; text-indent: -4em;}
ul.indent1,
ul.indent2,
ul.indent3,
ul.indent4 { list-style: none; padding-left: 0; text-indent: 0;}

/* Display Utility
   ---------------------------------- */
.block { display: block;}
.ib { display: inline-block;}
.inline { display: inline;}
.hidden { display: none!important; visibility: hidden!important;}
.for-mobile { display: none;}
.mobile .for-mobile { display: block;}
.mobile .for-pc { display: none;}

@media screen and (max-width:35em) {
	.visible-sm { display: none!important;}
	.visible-md { display: none!important;}
	.visible-lg { display: none!important;}
	.hidden-xs { display: none!important;}
}
@media screen and (min-width:35.0625em) and (max-width:40em) {
	.visible-xs { display: none!important;}
	.visible-sm { display: block!important;}
	.visible-md { display: none!important;}
	.visible-lg { display: none!important;}
	.hidden-sm { display: none!important;}
}
@media screen and (min-width:40.0625em) and (max-width:64em) {
	.visible-xs { display: none!important;}
	.visible-sm { display: none!important;}
	.visible-md { display: block!important;}
	.visible-lg { display: none!important;}
	.hidden-md { display: none!important;}
}
@media print, (min-width:64.0625em) {
	.visible-xs { display: none!important;}
	.visible-sm { display: none!important;}
	.visible-md { display: none!important;}
	.visible-lg { display: block!important;}
	.hidden-lg { display: none!important;}
}


/* ==========================================================================
   $Print styles
   ========================================================================== */

@media print {
* { background: transparent; box-shadow: none !important; text-shadow: none !important;}
body { color: #000;}
thead { display: table-header-group;}
tr,img { page-break-inside: avoid;}
img { max-width: 100% !important;}
@page { margin: 0.5cm;}
p,h2,h3 { orphans: 3; widows: 3;}
h2,h3 { page-break-after: avoid;}
.wrapper { padding-right:0; padding-left:0;}
.header { margin-top:0;padding-top:0;padding-bottom:4px;}
.header__logo { margin:0;}
.no-print,
.header__nav,
.header__search,
.header__global-site,
#pagetop { display:none !important;}
#content { margin-top:0!important;}
}

/* クオカード
   ---------------------------------- */
.quo-card {
	list-style: none;
	margin: 0 -10px;
	padding: 0;
}
.quo-card:after {
	content: "";
	display: block;
	clear: both;
}
.quo-card li {
	margin-bottom: 30px;
	padding-right:20px;
	padding-left:10px
}
.quo-card a {
	display: block;
}
.quo-card img {
	vertical-align: top;
	border-radius: 10px;
}
@media (max-width:480px) {
	.quo-card li {
		float: left;
		width: 100%;
	}
	.quo-card li:nth-of-type(odd) {
		clear: left;
	}
}
@media (min-width:481px) and (max-width:640px) {
	.quo-card li {
		float: left;
		width: 100%;
	}
	.quo-card li:nth-of-type(2n+1) {
		clear: left;
	}
}
@media (min-width:641px) and (max-width:960px) {
	.quo-card li {
		float: left;
		width: 33.333333%;
	}
	.quo-card li:nth-of-type(3n+1) {
		clear: left;
	}
}
@media (min-width:961px) {
	.quo-card li {
		float: left;
		width: 25%;
	}
	.quo-card li:nth-of-type(4n+1) {
		clear: left;
	}
}

/* img(文字)切り替え
   ---------------------------------- */
/*パソコンで見たとき*/
.img-pc {display: block !important;}
.img-sp {display: none !important;}
/*スマートフォンで見たとき*/
@media only screen and (max-width:767px){
.img-pc {display: none !important;}
.img-sp { display: block !important;}
}

.certification::before,.certification::after{
    display: none;
}