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

/* ==========================================================================
   $3-1. Object -- Project
   ========================================================================== */
/**
 * プロジェクト内の固有スタイル
 */
/* Base Font size ･･･ 14/16px) */
html {
	/*color: #333;*/
	color: #1c1c1c;
	font-size: 62.5%;
}
body {
	color: inherit;
	color: unset;
	background: #fff;
	/*font: 1.4em/1.714 Roboto, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;*/
	font: 1.4em/1.714 "Times New Roman", Times, "Sawarabi Mincho", "Roboto Slab", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	letter-spacing: .025em;
}
.ff-gothic { font-family: Roboto, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;}

/* Link Colors */
a {
	color: inherit;
	color: unset;
	word-break: break-all;
	-webkit-transition: color .2s;
	transition: color .2s;
}
a img {
	-webkit-transition: opacity .2s;
	transition: opacity .2s;
}
a:hover { text-decoration: none;}
a:focus { outline: none;}


/* ----------------------------------
   ローディング画面
   ---------------------------------- */
#loader {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: #f5f5f5;
	text-align: center;
}
#loader:before {
	display: inline-block;
	content: "";
	width: 0;
	height: 100%;
	vertical-align: middle;
}
#loader:after {
	content: "Loading...";
}
#loader span {
	display: inline-block;
	position: relative;
	width: 30px;
	height: 30px;
	margin: 10px;
	vertical-align: middle;
}
.no-cssanimations #loader span {
	background: url(../img/global/loading.gif) no-repeat center center;
}
.cssanimations #loader span:before,
.cssanimations #loader span:after {
	display: inline-block;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 100%;
}
.cssanimations #loader span:before {
	border: 2px solid #ddd;
}

.cssanimations #loader span:after {
	z-index: 1;
	border: 2px solid #808080;
	border-top-color: transparent;
	-webkit-animation: circle infinite .75s linear;
	animation: circle infinite .75s linear;
}
@-webkit-keyframes circle { 0% { -webkit-transform: rotate(0); transform: rotate(0);} 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg);}}
@keyframes circle { 0% { -webkit-transform: rotate(0); transform: rotate(0);} 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg);}}


/* ----------------------------------
   コンテナ
   ---------------------------------- */
.container {
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.wrapper {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}
.wrapper--reset { padding: 0;}
.wrapper--narrow { max-width: 840px; margin: 0 auto;}


/* ----------------------------------
   ヘッダー
   ---------------------------------- */
.header {
	padding-top: 0;
}
.header-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/* ヘッダーナビゲーション */
.header__nav { text-align: center;}
.header__nav a {
	display: block;
	color: #808080;
	text-decoration: none;
	-webkit-transition: all .2s ease-out;
	transition: all .2s ease-out;
}
.header__nav a:before {
	display: block;
	content: attr(data-en);
	color: #222;
	font-size: 18px;
	letter-spacing: .05em;
	-webkit-transition: color .2s;
	transition: color .2s;
}
.header__logo {
	width: 98px;
	margin: 0 auto;
	padding-top: 6px;
}
.header__logo a {
	display: block;
	overflow: hidden;
	width: 98px;
	height: 36px;
	background: url(../img/logo@2x.png) no-repeat left bottom;
	background-size: 98px 106px;
}
.no-bgsizecover .header__logo a { background-image: url(../img/logo.png);}

@media screen and (max-width:60em) {
	.header {
		position: relative;
		background: #333;
		height: 50px;
	}
	.header__nav {
		display: none;
		position: absolute;
		top: 50px;
		left: 0;
		z-index: 900;
		width: 100%;
		padding: 30px 0px;
		background: #fff;
		box-shadow: 0 10px 20px rgba(0,0,0,.3);
	}
	.header__nav > ul {
		max-width: 80%;
		margin: 0 auto;
	}
	.header__nav a {
		line-height: 18px;
		padding: 8px;
		font-size: 11px;
	}

	/* トリガーアイコン */
	.nav-toggle {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 901;
		width: 50px;
		height: 50px;
		padding: 0;
		background: none;
		border: 0;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		cursor: pointer;
		outline: none;
	}

	.nav-toggle__icon {
		display: block;
		position: relative;
		margin: 0 auto;
	}
	.nav-toggle__icon,
	.nav-toggle__icon:after,
	.nav-toggle__icon:before { width: 24px; height: 2px; background-color:#fff; border-radius: 1px; -webkit-transition: all .4s cubic-bezier(.19,1,.22,1); transition: all .4s cubic-bezier(.19,1,.22,1)}
	.nav-toggle__icon:after,
	.nav-toggle__icon:before{ display:block; content:""; position:absolute; left:0;}
	.nav-toggle__icon:before { top: -6px;}
	.nav-toggle__icon:after { top: 6px;}
	.nav-toggle.is-opened { background: #fff;}
	.is-opened .nav-toggle__icon { background-color: transparent;}
	.is-opened .nav-toggle__icon:after,
	.is-opened .nav-toggle__icon:before { top: 0; background-color: #808080;}
	.is-opened .nav-toggle__icon:before { -webkit-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg)}
	.is-opened .nav-toggle__icon:after { -webkit-transform:rotate(-45deg); -ms-transform:rotate(-45deg); transform:rotate(-45deg)}
}
@media print, (min-width:60.0625em) {
	.header {
		height: 80px;
		padding: 0 20px;
	}
	.header__logo {
		float: left;
		padding-top: 18px;
	}
	.header__logo a {
		height: 46px;
		background-position: left top;
	}
	.nav-toggle { display: none;}
	.header__nav {
		margin-left: 26%;
		padding-top: 12px;
	}
	.header__nav ul {
		display: table;
		table-layout: fixed;
		width: 100%;
	}
	.header__nav li {
		display: table-cell;
		white-space: nowrap;
	}
	.header__nav a {
		line-height: 20px;
		padding: 9px 15px;
		font-size: 12px;
	}
	.no-touchevents .header__nav a:hover {
		color: #aaa;
	}
}
@media print {
	.header { height: auto; padding-top: 60px;}
	.header__nav > ul { display: none;}
}


/* ----------------------------------
   フッター
   ---------------------------------- */
#pagetop {
	display: block;
	height: 50px;
	background: #e3e3e3;
	text-align: center;
}
#pagetop:before {
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	margin-top: 20px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: all .3s;
	transition: all .3s;
}
#pagetop:hover:before {
	margin-top: 15px;
}

.footer {
	padding: 30px 0;
	background: #333333;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
}
.footer__logo img { width: 100px;}
.logo__caption {
	margin-top: 12px;
	font-weight: normal;
}

/* フッターナビゲーション */
.footer__nav { margin-top: 30px;}
.footer__nav li {
	display: inline-block;
	vertical-align: middle;
}
.footer__nav li + li:before {
	display: inline-block;
	content: "";
	position: relative;
	top: -1px;
	width: 1px;
	height: 1em;
	background: #fff;
	vertical-align: middle;
}
.footer__nav a {
	display: inline-block;
	position: relative;
	margin: 0 1em;
	padding: .5em 0;
	color: #fff;
	text-decoration: none;
}
.no-touchevents .footer__nav a:after {
	display: inline-block;
	content: "";
	position: absolute;
	left: 50%;
	bottom: .6em;
	width: 100%;
	height: 1px;
	background: #fff;
	-webkit-transform: translateX(-50%) scale(0);
	-ms-transform: translateX(-50%) scale(0);
	transform: translateX(-50%) scale(0);
	-webkit-transition: all .2s;
	transition: all .2s;
}
.no-touchevents .footer__nav a:hover:after {
	-webkit-transform: translateX(-50%) scale(1);
	-ms-transform: translateX(-50%) scale(1);
	transform: translateX(-50%) scale(1);
}

@media screen and (max-width:60em) {
	.footer__nav li { margin-left: -1px;}
	.footer__nav li:before,
	.footer__nav li:after {
		display: inline-block;
		content: "";
		position: relative;
		top: -1px;
		width: 1px;
		height: 1em;
		background: #fff;
		vertical-align: middle;
	}
	.footer__tel {
		display: block;
		line-height: 1.2;
	}
	.footer__tel > span,
	.footer__tel > a {
		font-size: 2.2em;
		text-decoration: none;
	}
}
@media print, (min-width:60.0625em) {
	.footer {
		padding: 80px 0 20px;
		font-size: 13px;
		font-size: 1.3rem;
	}
	.footer__logo img { width: 151px;}
	.logo__caption { margin: 28px 0 4px;}

	.footer__nav { margin-top: 60px;}
	.copyright { margin-top: 40px;}
}

/* コピーライト */
.copyright {
	margin-top: 20px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-size: 1.1rem;
	text-align: center;
}



/* ----------------------------------
   コンテンツ
   ---------------------------------- */
.content {
	padding: 30px 0 50px 0;
	letter-spacing: .075em;
}
@media print, (min-width:60.0625em) {
	.content { padding: 40px 0 80px;}
}

/* ページタイトル */
.page-header {
	line-height: 1.33;
	padding: 30px 20px;
	background: url(../img/header-image.jpg) no-repeat center center;
	background-size: cover;
	color: #fff;
	font-size: 20px;
	font-size: 2rem;
	font-weight: normal;
	text-indent: .8em;
	letter-spacing: .2em;
	text-align: center;
}
.page-header.en {
	line-height: 1.2;
	letter-spacing: .2em;
	font-size: 20px;
	font-size: 2rem;
}
.page-header small {
	letter-spacing: .025em;
}

@media print, (min-width:60.0625em) {
	.page-header {
		line-height: 1.25;
		color: #fff;
		padding: 36px 20px;
		font-size: 32px;
		font-size: 3.2rem;
		letter-spacing: .15em;
	}
	.page-header.en {
		line-height: 1.17;
		font-size: 34px;
		font-size: 3.4rem;
	}
}

/* サブナビゲーション */
.page-nav {
	position: relative;
	padding: 6px 16px;
	background: #e3e3e3;
	font-size: 13px;
	font-size: 1.3rem;
	text-align: center;
}
.page-nav:before {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	top: -10px;
	width: 0;
	height: 0;
	color: transparent;
	border-width: 0 8px 10px 8px;
	border-style: solid;
	border-bottom-color: #e3e3e3;
}
.page-nav li {
	display: inline-block;
	vertical-align: middle;
}
.page-nav li + li:before {
	display: inline-block;
	content: "";
	position: relative;
	top: -2px;
	width: 1px;
	height: 1em;
	margin: 0 .8em;
	background: currentColor;
	vertical-align: middle;
}
.page-nav a {
	display: inline-block;
	position: relative;
	padding: .2em 0;
	text-decoration: none;
}
.no-touchevents .page-nav a:after {
	display: inline-block;
	content: "";
	position: absolute;
	left: 50%;
	bottom: .3em;
	width: 100%;
	height: 1px;
	background: #000;
	-webkit-transform: translateX(-50%) scale(0);
	-ms-transform: translateX(-50%) scale(0);
	transform: translateX(-50%) scale(0);
	-webkit-transition: all .2s;
	transition: all .2s;
}
.no-touchevents .page-nav a:hover:after {
	-webkit-transform: translateX(-50%) scale(1);
	-ms-transform: translateX(-50%) scale(1);
	transform: translateX(-50%) scale(1);
}
@media print, (min-width:60.0625em) {
	.page-nav {
		font-size: 14px;
		font-size: 1.4rem;
	}
}


/* パンくずリスト */
.breadcrumbs { display: none;}
@media print, (min-width:40em) {
	.breadcrumbs {
		display: block;
		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;}
}

/* 見出し */
h1,h2,h3,h4,h5,h6 {
	margin: 0;
	font-size: inherit;
	text-transform: none;
}
.h1 {
	line-height: 1.5;
	margin-top: 3em;
	margin-bottom: 1em;
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: normal;
	text-align: center;
}
.h1--line {
	position: relative;
}
.h1--line span {
	display: inline-block;
	position: relative;
	z-index: 1;
	padding: 0 .7em;
	background: #fff;
}
.h1--line:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	width: 100%;
	height: 1px;
	background: #666;
	background-image: -webkit-linear-gradient(left, #ccc, #333, #ccc);
	background-image: -moz-linear-gradient(left, #ccc, #333, #ccc);
	background-image: linear-gradient(to right, #ccc, #333, #ccc);
	vertical-align: middle;
}
.h2 {
	margin-top: 2em;
	margin-bottom: .5em;
	color: #808080;
	font-size: 24px;
	font-size: 2.4rem;
}
.h3 {
	margin-top: 2em;
	margin-bottom: 1em;
	color: #666;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: normal;
}
.h4 {
	margin-top: 2em;
	margin-bottom: .5em;
	color: #808080;
	font-size: 16px;
	font-size: 1.6rem;
}
@media print, (min-width:40em) {
	.h1 {
		font-size: 26px;
		font-size: 2.6rem;
	}
	.h2 {
		font-size: 28px;
		font-size: 2.8rem;
	}
	.h3 {
		font-size: 24px;
		font-size: 2.4rem;
	}
	.h4 {
		font-size: 18px;
		font-size: 1.8rem;
	}
}


/* ----------------------------------
   ニュース
   ---------------------------------- */
.news-date {
	color: #808080;
	font-size: 11px;
	font-size: 1.1rem;
	font-style: italic;
}
.news-category {
	display: inline-block;
	width: 10em;
	line-height: 1;
	padding: 4px;
	background: #c39550;
	color: #fff;
	letter-spacing: .075em;
	font-size: 11px;
	font-size: 1.1rem;
	text-align: center;
}
.news-title {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
}
@media print, (min-width:60.0625em) {
	.news-title {
		font-size: 16px;
		font-size: 1.6rem;
	}
}

/* 一覧表示 */
.news-top,
.news-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #b2b2b2;
}
.news-top > li,
.news-list > li { border-bottom: 1px solid #b2b2b2;}
.news-top article,
.news-list article {
	padding: 10px 0;
}
.news-top a,
.news-list a {
	display: block;
	margin: -10px 0;
	padding: 10px 20px 10px 0;
	text-decoration: none;
}

.news-top__title {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
}
.news-top__category {
	margin: 0 0 4px 1em;
}

@media screen and (max-width:60em) {
	.news-top__category {
		border: 1px solid #c39550;
		background: #fff;
		color: #c39550;
	}
}
@media print, (min-width:60.0625em) {
	/* ニュース4カラム表示 */
	.news-top {
		width: 103.32%;
		margin: 0 -1.66%;
		border: none;
		*zoom: 1;
	}
	.news-top:before,
	.news-top:after { content: ""; display: table;}
	.news-top:after { clear: both;}

	.news-top > li {
		clear: none;
		display: block;
		float: left;
		width: 24.16%;
		margin-bottom: 10px;
		padding: 0 1.66%;
		border: none;
	}
	.news-top > li:nth-child(4n+1) {
		clear: both;
	}
	.news-top > li:nth-child(n+5) {
		margin-top: 20px;
	}

	.news-top a { padding: 0;}
	.news-top__date { display: block;}	
	.news-top__category { margin: 4px 0 8px;}
	.news-top__title {
		line-height: 1.875;
		color: #b2b2b2;
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: bold;
		text-decoration: underline;
		-webkit-transition: color .2s;
		transition: color .2s;
	}
	a:hover .news-top__title {
		color: #808080;
	}
}

/* 新着情報　詳細ページ */
.article__title {
	font-size: 18px;
	font-size: 1.8rem;
}
.article__date {
	color: #808080;
	font-size: .9em;
}
.article__body {
	margin: 2em 0;
}
@media print, (min-width:48em) {
	.article__title {
		font-size: 24px;
		font-size: 2.4rem;
	}
}



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

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

/* ボーダー付きテーブル */
.table-bordered th,
.table-bordered td { border: 1px solid #ccc;}

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

/* buttons
   ---------------------------------- */
/* setting */
.btn,
a.btn {
	display: block;
	position: relative;
	overflow: visible;
	max-width: 100%;
	line-height: 1;
	margin: 0 auto;
	padding: 16px;
	border: none;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	text-transform: none;
	outline: 0 !important;
	-webkit-appearance: none;
	-webkit-transition: all .25s ease-out;
	transition: all .25s ease-out;

	/* base theme */
	background: #c39550;
	color: #fff;
}
a.btn:not(:disabled),
input.btn:not(:disabled),
button.btn:not(:disabled) {
	cursor: pointer;
}
.btn[disabled] {
	background-color: #e1e1e1 !important;
	color: #aaa;
	pointer-events:none;
}
.btn:disabled,
.btn.disabled {
	background-color: #e1e1e1 !important;
	color: #aaa;
	pointer-events:none;
}

.btn:before {
	display: inline-block;
	content: "";
	position: absolute;
	right: 16px;
	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: all .3s;
	transition: all .3s;
	opacity: 0;
}
.no-touchevents a.btn:hover,
.no-touchevents button.btn:hover {
	padding-left: 4px;
}
.no-touchevents a.btn:hover:before,
.no-touchevents button.btn:hover:before {
	opacity: 1;
	right: 10px;
}

.btn.btn--reverse:before {
	right: auto;
	left: 16px;
	-webkit-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.no-touchevents a.btn.btn--reverse:hover {
	padding-right: 4px;
}
.no-touchevents a.btn.btn--reverse:hover:before {
	opacity: 1;
	left: 10px;
}

.btn.btn--small {
	display: inline-block;
	width: 50%;
	max-width: 200px;
	margin: 2px 0;
	padding: 8px;
	font-size: 13px;
	font-size: 1.3rem;
}
.btn.btn--gray {
	background: #333 !important;
}
.btn.btn--border {
	padding: 16px !important;
	background: none !important;
	color: #c39550 !important;
	border: 1px solid;
}
.btn.btn--border:before {
	display: none;
}
.btn.btn--border:hover {
	color: #aaa !important;
}
.btn.btn--silver {
	background: #808080 !important;
	color: #fff;
}

@media print, (min-width:40.0625em) {
	.btn,
	a.btn {
		width: 350px;
		font-size: 16px;
		font-size: 1.6rem;
	}
	.btn.btn--block {
		display: block;
		width: 100%;
		max-width: 100%;
	}
	.btn.btn--small {
		font-size: 15px;
		font-size: 1.5rem;
	}
}


/* 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 (max-width:40em)
 *   -md = medium (min-width:40.0625em) and (max-width:64em)
 *   -lg = large (min-width:60.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
   ---------------------------------- */
.u-left { float: left;}
.u-right { float: right;}
.u-center { margin-right: auto; margin-left: auto;}

/* Text Align
   ---------------------------------- */
.u-text-left   { text-align: left;}
.u-text-center { text-align: center;}
.u-text-right  { text-align: right;}
@media print, (min-width:40.0625em) {
	.u-text-center-md { text-align: center;}
}

/* Lists
   ---------------------------------- */
.list-note {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
.list-note > li {
	padding-left: 1em;
	text-indent: -1em;
}
.list-note > li:before {
	content: "\203B";
}

/* Block widths
   ---------------------------------- */
.u-width-100 { width: 100%;}
.u-width-80 { width: 80%;}
.u-width-75 { width: 75%;}
.u-width-60 { width: 60%;}
.u-width-50 { width: 50%;}
.u-width-40 { width: 40%;}
.u-width-33 { width: 33%;}
.u-width-25 { width: 25%;}
.u-width-20 { width: 20%;}
.u-width-10 { width: 10%;}

/* Text Styles
   ---------------------------------- */
.u-size-l { line-height: 1.41; font-size: 20px; font-size: 2rem;}
.u-size-m { font-size: 16px; font-size: 1.6rem;}
.u-size-s { font-size: 1.1rem; font-size: 11px;}
@media print, (min-width:40.0625em) {
	.u-size-l { font-size: 24px; font-size: 2.4rem;}
	.u-size-m { font-size: 18px; font-size: 1.8rem;}
	.u-size-s { font-size: 1.2rem; font-size: 12px;}
}

.u-txt-warning   { color: #e28327;}
.u-txt-mute      { color: #999;}
.u-txt-highlight { color: #cf314f;}

/* 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,.mt0,.mv0 { margin-top:    0 !important;}
.m0,.mr0,.mh0 { margin-right:  0 !important;}
.m0,.mb0,.mv0 { margin-bottom: 0 !important;}
.m0,.ml0,.mh0 { margin-left:   0 !important;}

/* Paddings
   ---------------------------------- */
.pa0 { padding: 0 !important;}
.pt0 { padding-top: 0 !important;}
.pb0 { padding-bottom: 0 !important;}

/* Lists
   ---------------------------------- */
/*ul,ol*/.u-flat,
/*ul,ol*/.u-inline { list-style: none; padding-left: 0;}
/*ul,ol*/.u-inline li { display: inline-block; margin-right: .5em;}
/*dl*/.u-flat dt { font-weight: normal;}
/*dl*/.u-flat dd { margin-left: 0;}

/* Text Indents
   ---------------------------------- */
ul.u-indent1 { list-style: none; padding-left: 0; text-indent: 0;}
li.u-indent1,
ul.u-indent1 > li { margin-left: 1em; text-indent: -1em;}


/* Display Utility
   ---------------------------------- */
.ib { display: inline-block;}
.inline { display: inline;}
.hidden { display: none!important; visibility: hidden!important;}
.invisible { visibility: hidden!important;}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg { display: none;}

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



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

@media print {
	* { color: #000; box-shadow: none !important; text-shadow: none !important;}
	a,a:visited { text-decoration: underline;}
	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;}
	.top-pic,
	.flink,
	.footer__social { display: none;}
}
