@charset "UTF-8";

/* 要素設定*/
body {
	padding-top: 110px;
	background: #ffffff;
	color: #333333;
	font-size: 13px;
	line-height: 1.75;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a {
	color: #003dac;
	text-decoration: underline;
	        transition: color 0.3s;

	-webkit-transition: color 0.3s;
}

a:hover {
	text-decoration: none;
}

a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
	cursor: default;
}

textarea,
input[type="password"],
input[type="text"],
input[type="tel"],
input[type="number"],
input[type="email"] {
	border: 1px solid #cccccc;
	border-radius: 4px;
	        box-sizing: border-box;
	color: #444444;
	font-size: 120%;

	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
}

input[type="text"].-fit {
	width: 100%;
}

textarea {
	resize: vertical;
}

button {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent none;
	font-size: inherit;
	outline: none;
	        appearance: none;

	-webkit-appearance: none;
	   -moz-appearance: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

select {
}

input[type="checkbox"],
input[type="radio"] {
	margin: 0 5px 0 0;
}

label {
	display: inline-block;
	margin: 0 1em 3px 0;
	vertical-align: middle;
}

label > select {
	margin: 0 0 0 5px;
}

/* svgファイル処理 */
.is-ltIE8 img[src$=".svg"] {
	visibility: hidden;
}

/* その他汎用スタイル */
.ieBlock {
	display: none;
	width: 100%;
	height: 100%;
}

.leftCol {
	float: left;
}

.rightCol {
	float: right;
}

/* 汎用ルール
	#頭にu-を付ける
*/
.u-inner_02 {
	position: relative;
	z-index: 1;
	margin: 0 30px;
}

.u-inner {
	position: relative;
	z-index: 1;
	width: 990px;
	margin: 0 auto;
}

.u-inner_top {
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0 auto;
}

.u-cautionText {
	color: #ff3f00;
}

/* 汎用見出し */
.u-headline01 {
	font-weight: normal;
	font-size: 25px;
}

.u-headline01-small {
	font-weight: normal;
	font-size: 23px;
}

.u-headline01-colorWhite {
	color: #ffffff;
}

.u-headline02 {
	padding: 0 0 6px;
	border-bottom: 1px dashed #999999;
	color: #009758;
	font-weight: normal;
	font-size: 25px;
	line-height: 1.3;
}

.u-headline02.-today {
	margin-bottom: 30px;
}

/* 汎用テーブル */
.u-table01 {
	width: 100%;
}

.u-table01 th,
.u-table01 td {
	padding: 17px;
	border: 1px solid #cccccc;
}

.u-table01 tr:nth-child(2n-1) td,
.u-table01 tr:nth-child(2n-1) th {
	background: #fff9e8;
}

.u-table01 th {
	font-weight: normal;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
}

.u-table02 {
	width: 100%;
}

.u-table02 th,
.u-table02 td {
	padding: 10px;
}

.u-table02 th {
	white-space: nowrap;
}

.u-table02 td {
}

/* 汎用リスト */
.u-list01 {
	list-style: outside disc;
	padding-left: 1.7em;
}

.u-list02 {
	list-style: outside decimal;
	padding-left: 1.7em;
}

.u-listCaution {
	padding-left: 1.4em;
}

.u-listCaution_Item {
	text-indent: -1.4em;
}

.u-inputText {
	padding: 2px 3px;
}

.u-inputText-w80 {
	width: 80px;
}

.u-inputText-fit {
	width: 100%;
}

/* 汎用ボタン */

.u-button {
	display: inline-block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 48px;
	border-radius: 5px;
	background: #00aa82;
	color: #ffffff;
	font-weight: bold;
	font-size: 18px;
	line-height: 48px;
	text-decoration: none;
	text-align: center;
	        transition: opacity 0.3s;

	-webkit-transition: opacity 0.3s;
}

.u-button:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	z-index: 1;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	border: 2px solid #ffff26;
	border-bottom: none;
	border-left: none;
	        transform: rotate(45deg);

	    -ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.is-ltIE8 .u-button:after {
	width: 14px;
	height: 20px;
	margin-top: -10px;
	border: none;
	background: url(../img/icn-button-arrow.png) 0 0 no-repeat;
}

.u-button:hover {
	opacity: 0.8;
}

.u-button-skyblue {
	background-color: #00a3d9;
}

.u-button-blue {
	background-color: #5372c1;
}

.u-button-gray {
	background-color: #777777;
}

.u-button-pink {
	background-color: #f975a5;
}

/* アイコン設定追記 */
.icon {
	display: inline-block;
	vertical-align: middle;
}

/* リンクモジュール */

.m-linkBox {
	display: block;
	width: 800px;
	height: 160px;
	        box-shadow: 8px 0 13px rgba(0,0,0,0.1);
	background: #ffffff;
	color: inherit;
	text-decoration: none;
	        transition: background-color 0.3s;

	   -moz-box-shadow: 8px 0 13px rgba(0,0,0,0.1);
	-webkit-box-shadow: 8px 0 13px rgba(0,0,0,0.1);
	-webkit-transition: background-color 0.3s;
}

a.m-linkBox:hover {
	background-color: rgba(255,255,255,0.9);
}

a.m-linkBox:after {
	content: "";
	display: block;
	clear: both;
}

.m-linkBox_imgCol {
	float: left;
	width: 300px;
}

.m-linkBox_image img {
	-webkit-filter: none;
	-webkit-transition: -webkit-filter 0.3s;
	/*transition:filter 0.3s;*/
}

.m-linkBox:hover .m-linkBox_image img {
	-webkit-filter: saturate(200%);
	/*filter: blur(10px);*/
}

.m-linkBox_txtCol {
	float: right;
	width: 500px;
}

.m-linkBox_txtCol_inner {
	padding: 30px;
}

.m-linkBox_title {
	margin: 0 0 10px;
	color: #009758;
	font-weight: normal;
	font-size: 23px;
}

.m-linkBox_text {
	line-height: 1.3;
}

/* 汎用インデックスナビ */
.m-indexNavi_title {
	margin: 0 0 37px;
	text-align: center;
}

.m-indexNavi_list {
	list-style: none;
}

.m-indexNavi_list:after {
	content: "";
	display: block;
	clear: both;
}

.m-indexNavi_list > li {
	float: left;
	width: 467px;
	text-align: center;
}

.m-indexNavi_list > li:nth-child(2n) {
	float: right;
}

.m-indexNavi_list > li:nth-child(2n-1) {
	clear: both;
}

.m-indexNavi_list > li > a {
	display: block;
	color: inherit;
	text-decoration: none;
	        transition: opacity 0.3s;

	-webkit-transition: opacity 0.3s;
}

.m-indexNavi_list > li > a:hover {
	opacity: 0.8;
}

.m-indexNavi_image {
	margin: 0 0 16px;
}

.m-indexNavi_icon {
	display: none;
}

.m-indexNavi_headline {
	color: #009758;
	font-weight: normal;
	font-size: 21px;
	line-height: 1.6;
}

.m-indexNavi_link {
	margin: 63px 0 0;
}

.m-indexNavi_link a {
	display: block;
	width: 100%;
	height: auto;
	background-color: #009758;
	font-size: 21px;
	line-height: 67px;
	text-align: center;
}

/* 汎用ページ内リンク */
.m-insideNavi {
	padding: 0 0 34px;
	border-bottom: 1px dashed #aaaaaa;
}

.m-insideNavi_list {
	list-style: none;
}

.m-insideNavi_list > li {
	display: inline-block;
}

.m-insideNavi_list > li:after {
	content: "｜";
}

.m-insideNavi_list > li:last-child:after {
	display: none;
}

/* ページ最上部のメインビジュアル */

.m-visual {
	visibility: hidden;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.m-visual_dummy > img {
	visibility: hidden;
}

/* レスポンシブルール */
.allDeviceNone,
.spNone {
}

.allDeviceBlock,
.spBlock {
	display: none;
}

.allDeviceInline,
.spInline {
	display: none;
}

/* タブレット以下設定 */
@media screen and (max-width:999px) {
	body {
	}

	.u-inner {
		width: 100%;
		padding-right: 2%;
		padding-left: 2%;
		        box-sizing: border-box;

		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
	}

	/* レスポンシブルール */
	.allDeviceNone {
		display: none;
	}

	.allDeviceBlock {
		display: block;
	}

	.allDeviceInline {
		display: inline;
	}

	/* 汎用見出し */
	.u-headline01 {
		font-weight: normal;
		font-size: 20px;
	}

	.u-headline01-small {
		font-size: 18px;
	}

	.u-headline02 {
		padding: 0 0 4px;
		font-size: 20px;
	}

	/* 汎用テーブル */
	.u-table01 th,
	.u-table01 td {
		padding: 10px;
	}

	.u-button {
		height: auto;
		border-radius: 4px;
		font-size: 16px;
		line-height: 46px;
	}

	.u-button:after {
		right: 16px;
		width: 8px;
		height: 8px;
		margin-top: -5px;
		border-width: 2px;
	}

	/* リンクモジュール */
	.m-linkBox {
		display: table;
		width: 100%;
		max-width: 800px;
		height: auto;
	}

	.m-linkBox_imgCol {
		display: table-cell;
		float: none;
		width: 37.5%;
		vertical-align: middle;
	}

	.m-linkBox_txtCol {
		display: table-cell;
		float: none;
		width: 62.5%;
		vertical-align: middle;
	}

	.m-linkBox_txtCol_inner {
		padding: 15px;
	}

	.m-linkBox_title {
		margin: 0 0 8px;
		font-size: 18px;
	}

	/* 汎用インデックスナビ */
	.m-indexNavi_title {
		margin-bottom: 3.7%;
	}

	.m-indexNavi_list > li {
		width: 49%;
	}

	.m-indexNavi_headline {
		font-size: 18px;
	}

	.m-indexNavi_link {
		margin: 6% 0 0;
	}

	.m-indexNavi_link > a {
		font-size: 18px;
		line-height: 50px;
	}

	.m-insideNavi {
		margin: 0 0 4%;
	}
}

/* All SP */
@media screen and (max-width:639px) {
	body {
		padding-top: 150px;
	}

	/* レスポンシブルール */
	.spNone {
		display: none;
	}

	.spBlock {
		display: block;
	}

	.spInline {
		display: inline;
	}

	/* 汎用インナー */
	.u-inner-spFit {
		padding-right: 0;
		padding-left: 0;
	}

	/* 汎用見出し */
	.u-headline01 {
		font-size: 16px;
	}

	.u-headline01-small {
		font-size: 14px;
	}

	.u-headline02 {
		padding: 0 0 2px;
		font-size: 16px;
	}

	/* 汎用テーブル */
	.u-table01 th,
	.u-table01 td {
		padding: 5px;
	}

	.u-button {
		border-radius: 2px;
		font-size: 14px;
		line-height: 36px;
	}

	.u-button:after {
		right: 10px;
		width: 7px;
		height: 7px;
		margin-top: -4px;
		border-width: 2px;
	}

	/* リンクモジュール */
	.m-linkBox {
		position: relative;
		z-index: 1;
		padding: 10px;
		        box-sizing: border-box;
		        box-shadow: none;
		font-size: 12px;

		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		   -moz-box-shadow: none;
		-webkit-box-shadow: none;
	}

	.m-linkBox_imgCol {
		width: 80px;
		/* padding: 0; */
	}

	.m-linkBox_txtCol {
		position: relative;
		z-index: 1;
		width: auto;
	}

	a.m-linkBox:before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		z-index: 1;
		width: 6px;
		height: 6px;
		margin-top: -4px;
		border: 2px solid #009758;
		border-bottom: none;
		border-left: none;
		        transform: rotate(45deg);

		-webkit-transform: rotate(45deg);
	}

	.m-linkBox_txtCol_inner {
		padding: 0 15px 0 10px;
	}

	.m-linkBox_title {
		margin: 0 0 2px;
		font-size: 14px;
	}

	/* 汎用インデックスナビ */

	.m-indexNavi_list > li {
		float: none;
		width: 100%;
		max-width: 467px;
		margin: 0 auto 15px;
	}

	.m-indexNavi_list > li:nth-child(2n) {
		float: none;
		margin-bottom: 15px;
	}

	.m-indexNavi_image {
		position: relative;
		z-index: 1;
		margin: 0 0 5px;
	}

	.m-indexNavi_icon {
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		z-index: 1;
		margin-top: -11px;
		color: #009758;
		font-size: 22px;
		line-height: 1;
		text-shadow: 0 1px 1px #ffffff, 1px 1px 1px #ffffff, 1px 0 1px #ffffff, 1px -1px 1px #ffffff, 0 -1px 1px #ffffff, -1px -1px 1px #ffffff, -1px 0 1px #ffffff, -1px -1px 1px #ffffff;
	}

	.m-indexNavi_headline {
		font-size: 16px;
	}

	.m-indexNavi_link > a {
		font-size: 14px;
		line-height: 40px;
	}
}
