@charset "UTF-8";

/* CSS Document */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 基本レイアウトパーツ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

/* 印刷時調整
----------------------------------------------------*/
@media print {
}

/*グリッド幅
----------------------------------------------------*/
@media (min-width: 788px) {
[class*="row-"]:before {
	display: table;
	content: " ";
	clear: both;
}
[class*="row-"]:after {
	display: table;
	content: " ";
	clear: both;
}
.row-0 {
	margin-left: 0px;
	margin-right: 0px;
}
.row-0 > div {
	padding-right: 0px;
	padding-left: 0px;
}
.row-1 {
	margin-left: -0.5px;
	margin-right: -0.5px;
}
.row-1 > div {
	padding-right: 0.5px;
	padding-left: 0.5px;
}
.row-2 {
	margin-left: -1px;
	margin-right: -1px;
}
.row-2 > div {
	padding-right: 1px;
	padding-left: 1px;
}
.row-5 {
	margin-left: -2.5px;
	margin-right: -2.5px;
}
.row-5 > div {
	padding-right: 2.5px;
	padding-left: 2.5px;
}
.row-m5 {
	margin-left: -15px;
	margin-right: -15px;
}
.row-m5 > div {
	padding-right: 15px;
	padding-left: 15px;
}
.row-10 {
	margin-left: -5px;
	margin-right: -5px;
}
.row-10 > div {
	padding-right: 5px;
	padding-left: 5px;
}
.row-15 {
	margin-left: -7.5px;
	margin-right: -7.5px;
}
.row-15 > div {
	padding-right: 7.5px;
	padding-left: 7.5px;
}
.row-20 {
	margin-left: -10px;
	margin-right: -10px;
}
.row-20 > div {
	padding-right: 10px;
	padding-left: 10px;
}
.row-30 {
	margin-left: -15px;
	margin-right: -15px;
}
.row-30 > div {
	padding-right: 15px;
	padding-left: 15px;
}
.row-40 {
	margin-left: -20px;
	margin-right: -20px;
}
.row-40 > div {
	padding-right: 20px;
	padding-left: 20px;
}
}

@media (max-width: 787px) {
[class^="row-"]:before {
	display: table;
	content: " ";
	clear: both;
}
[class^="row-"]:after {
	display: table;
	content: " ";
	clear: both;
}
.row-0 {
	margin-left: 0px;
	margin-right: 0px;
}
.row-0 > div {
	padding-right: 0px;
	padding-left: 0px;
}
.row-1 {
	margin-left: -0.5px;
	margin-right: -0.5px;
}
.row-1 > div {
	padding-right: 0.5px;
	padding-left: 0.5px;
}
.row-2 {
	margin-left: -1px;
	margin-right: -1px;
}
.row-2 > div {
	padding-right: 1px;
	padding-left: 1px;
}
.row-5 {
	margin-left: -2.5px;
	margin-right: -2.5px;
}
.row-5 > div {
	padding-right: 2.5px;
	padding-left: 2.5px;
}
.row-m5 {
	margin-left: -2.5px;
	margin-right: -2.5px;
}
.row-m5 > div {
	padding-right: 2.5px;
	padding-left: 2.5px;
}
.row-m5 > figure {
	padding-right: 2.5px;
	padding-left: 2.5px;
}
.row-10 {
	margin-left: -5px;
	margin-right: -5px;
}
.row-10 > div {
	padding-right: 5px;
	padding-left: 5px;
}
.row-15 {
	margin-left: -7.5px;
	margin-right: -7.5px;
}
.row-15 > div {
	padding-right: 7.5px;
	padding-left: 7.5px;
}
.row-20 {
	margin-left: -10px;
	margin-right: -10px;
}
.row-20 > div {
	padding-right: 10px;
	padding-left: 10px;
}
.row-30 {
	margin-left: -15px;
	margin-right: -15px;
}
.row-30 > div {
	padding-right: 15px;
	padding-left: 15px;
}
.row-40 {
	margin-left: -20px;
	margin-right: -20px;
}
.row-40 > div {
	padding-right: 20px;
	padding-left: 20px;
}
}
/*上下スペース
----------------------------------------------------*/
.over-100 {
	margin-top: 100px;
}
.over-90 {
	margin-top: 90px;
}
.over-80 {
	margin-top: 80px;
}
.over-70 {
	margin-top: 70px;
}
.over-60 {
	margin-top: 60px;
}
.over-50 {
	margin-top: 50px;
}
.over-40 {
	margin-top: 40px;
}
.over-30 {
	margin-top: 30px;
}
.over-20 {
	margin-top: 20px;
}
.over-15 {
	margin-top: 15px;
}
.over-10 {
	margin-top: 10px;
}
.over-5 {
	margin-top: 5px;
}
.over-200-rem {
	margin-top: 2rem;
}
.over-150-rem {
	margin-top: 1.5rem;
}
.over-100-rem {
	margin-top: 1rem;
}
.over-50-rem {
	margin-top: 0.5rem;
}
.under-100 {
	margin-bottom: 100px;
}
.under-90 {
	margin-bottom: 90px;
}
.under-80 {
	margin-bottom: 80px;
}
.under-70 {
	margin-bottom: 70px;
}
.under-60 {
	margin-bottom: 60px;
}
.under-50 {
	margin-bottom: 50px;
}
.under-40 {
	margin-bottom: 40px;
}
.under-30 {
	margin-bottom: 30px;
}
.under-20 {
	margin-bottom: 20px;
}
.under-10 {
	margin-bottom: 10px;
}
.under-200-rem {
	margin-bottom: 2rem;
}
.under-150-rem {
	margin-bottom: 1.5rem;
}
.under-100-rem {
	margin-bottom: 1rem;
}
.under-50-rem {
	margin-bottom: 0.5rem;
}
/*ボックスの配置
----------------------------------------------------*/
/* ボックスの左寄せ */
.fitleft {
	display: flex;
	-webkit-justify-content: flex-start; /* Safari */
	justify-content: flex-start;
}
/* ボックスの下揃え */
.fitbottom {
	display: flex;
	-webkit-align-items: flex-end; /* Safari */
	align-items: flex-end;
}
/* ボックスの左揃え */
.fitleft {
	-webkit-justify-content: flex-start; /* Safari */
	justify-content: flex-start;
}
/* ボックスの右揃え */
.fitright {
	-webkit-justify-content: flex-end; /* Safari */
	justify-content: flex-end;
}
.fitside {
	display: flex;
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
}
/* ボックスの高さ揃え */
.fithight {
	-webkit-align-self: stretch; /* Safari */
	align-self: stretch;
}
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ デザインパーツ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
/* ラインデコレーション（行修飾。タイトル文字など） 
----------------------------------------------------*/
.ld { /* hタグなどに付加するためのクリア */
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	line-height: unset;
}
.ld:before {
	content: unset;
}
.ld:after {
	content: unset;
}
/*写真効果
----------------------------------------------------*/
/***** 写真に影 *****/
.image-shadow {
	box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}
/***** 写真を角丸 *****/
.image-round {
	border-radius: 4px;
}
/***** 写真に角丸枠線 *****/
.image-border-round {
	border: thin solid #999999;
	border-radius: 4px;
}
.image-frame {
	padding: 4px;
	border: 1px solid #ccc;
	background: #fff;
	box-shadow: 1px 1px 4px rgba(0,0,0,0.2);
}
.image-rotater {
	-moz-transform: rotate(4deg);
	-webkit-transform: rotate(4deg);
	-o-transform: rotate(4deg);
	-ms-transform: rotate(4deg);
	transform: rotate(4deg);
	position: relative;
}
.image-rotatel {
	-moz-transform: rotate(-4deg);
	-webkit-transform: rotate(-4deg);
	-o-transform: rotate(-4deg);
	-ms-transform: rotate(-4deg);
	transform: rotate(-4deg);
	position: relative;
}
.image-blur {
	display: inline-block;
	position: relative;
}
.image-blur:after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	box-shadow: inset 0 0 15px 15px white;
}
.image-graph {
	background-image: url(../images/graph.png);
	background-repeat: repeat;
	padding: 10%;
}
/***** マウスオーバーで透過 *****/
.alpha a:hover img {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
}
/***** フォームパーツのはみ出し防止 *****/
.form-width {
	max-width: 100%;
}
.fitw {
	font-size: 1vw;
}
/***** スマホ用スクロールテーブル *****/
.table-mobile {
	width: 100%;
	overflow-x: auto;
}
div.table-mobile::-webkit-scrollbar {
height: 5px;
}
div.table-mobile::-webkit-scrollbar-track {
border-radius: 5px;
background: #eee;
}
div.table-mobile::-webkit-scrollbar-thumb {
border-radius: 5px;
background: #666;
}
div.table-mobile table {
	width: auto;
}
div.table-mobile table th, div.table-mobile table td {
	white-space: nowrap;
	width: auto;
}
div.table-mobile table td {
	text-align: left
}
div.table-mobile table.right td {
	text-align: right;
}
div.table-mobile table.center td {
	text-align: center;
}
div.table-mobile table tr.left td {
	text-align: left;
}
div.table-mobile table tr.right td {
	text-align: right;
}
div.table-mobile table tr.center td {
	text-align: center;
}
div.table-mobile table td.left {
	text-align: left;
}
div.table-mobile table td.right {
	text-align: right;
}
div.table-mobile table td.center {
	text-align: center;
}
