@charset "UTF-8";
.font-roboto {
	font-family: "Roboto", sans-serif; }

.fw-100 {
	font-weight: 100; }

.fw-300 {
	font-weight: 300; }

.fw-400 {
	font-weight: 400; }

.fw-500 {
	font-weight: 500; }

.fw-700 {
	font-weight: 700; }

.fw-900 {
	font-weight: 800; }

.inner-left {
	float: left; }

.inner-right {
	float: right; }

.pol {
	position: absolute; }

.pol-right {
	right: 0; }

.pol-left {
	left: 0; }

@media only screen and (max-width: 750px) {
	.pol {
		width: 70px; } }

/* 赤ボタン
----------------------------------------------*/
.btn-red a {
	width: 100%;
	height: 100%;
	display: block;
	font-size: 16px;
	text-align: center;
	letter-spacing: 2px;
	color: #d9242d;
	border: solid 1px #d9242d;
	background: #fff;
	transition: all .3s; }
	.btn-red a:hover, .btn-red a.hover {
		background: #d9242d;
		color: #fff; }

@media only screen and (max-width: 750px) {
	.btn-red a {
		font-size: 13px; } }

/* ブランクアイコン
----------------------------------------------*/
@media only screen and (min-width: 751px) {
	.tpl-ico-blank-red {
		position: relative;
		padding-right: 15px; }
		.tpl-ico-blank-red:before, .tpl-ico-blank-red:after {
			content: '';
			display: block;
			width: 13px;
			height: 10px;
			position: absolute;
			top: 50%;
			margin-top: -3px; }
		.tpl-ico-blank-red:before {
			background: url("/common/img/ico_blank_white.png") no-repeat; }
		.tpl-ico-blank-red:after {
			background: url("/common/img/ico_blank_red.png") no-repeat;
			transition: all .3s; }
		.tpl-ico-blank-red:hover:after {
			opacity: 0; } }

@media only screen and (max-width: 750px) {
	.tpl-ico-blank-red a:after {
		content: '';
		display: inline-block;
		width: 13px;
		height: 10px;
		background: url("/common/img/ico_blank_red.png") no-repeat;
		margin-left: 5px; } }

/* グリッド背景
----------------------------------------------*/
.tpl-grid_bg {
	border-top: solid 1px #eee;
	background: url("/common/img/bg_grid_60.gif") repeat; }

@media only screen and (max-width: 750px) {
	.tpl-grid_bg {
		background-size: 2%; } }

/* メインビジュアル ページタイトル
----------------------------------------------*/
.tpl-mv {
	width: 100%;
	height: 443px;
	position: relative; }
	.tpl-mv .tpl-page_ttl {
		text-align: center;
		font-size: 48px;
		font-family: "Roboto", sans-serif;
		font-weight: 300;
		color: #fff;
		line-height: 443px;
		position: relative;
		z-index: 1; }

@media only screen and (max-width: 750px) {
	.tpl-mv {
		margin-top: 60px;
		width: 100%;
		height: 220px;
		position: relative; }
		.tpl-mv .tpl-page_ttl {
			text-align: center;
			font-size: 35px;
			font-family: "Roboto", sans-serif;
			font-weight: 300;
			color: #fff;
			line-height: 220px;
			position: relative;
			z-index: 1; } }

/* セクション
----------------------------------------------*/
.tpl-section {
	padding: 95px 0 150px;
	position: relative; }

@media only screen and (max-width: 750px) {
	.tpl-section {
		padding: 30px 0; } }

/* セクション見出し
----------------------------------------------*/
.tpl-ttl-section {
	text-align: center;
	font-size: 33px;
	font-weight: 200;
	margin-bottom: 35px; }
	.tpl-ttl-section .ico {
		display: block;
		margin-bottom: 20px; }

@media only screen and (max-width: 750px) {
	.tpl-ttl-section {
		font-size: 20px;
		margin-bottom: 20px;
		line-height: 1.6; }
		.tpl-ttl-section .ico {
			margin: 0 auto;
			width: 55px;
			margin-bottom: 20px; } }

/* セクションリード文
----------------------------------------------*/
.tpl-read_txt {
	width: 700px;
	margin: 0 auto; }

@media only screen and (max-width: 750px) {
	.tpl-read_txt {
		width: 100%; } }

/* ページ内アンカーナビ
----------------------------------------------*/
.page-nav {
	padding: 40px 0;
	background: #f6f6f6; }
	.page-nav ul {
		width: 1200px;
		margin: 0 auto;
		position: relative;
		z-index: 1; }
	.page-nav li {
		text-align: center;
		float: left; }
		.page-nav li a {
			border: solid 1px #bbb;
			box-sizing: border-box;
			display: block;
			width: 100%;
			height: 70px;
			background: #fff;
			line-height: 68px;
			position: relative; }
			.page-nav li a:before {
				content: '';
				display: inline-block;
				width: 13px;
				height: 7px;
				background: url("../../common/img/ico_arrow_grey_bottom.png") no-repeat;
				margin-right: 10px;
				vertical-align: 1px; }
			.page-nav li a:after {
				content: '';
				display: block;
				width: calc(100% + 2px);
				height: calc(100% + 2px);
				border: solid 2px #d12a32;
				position: absolute;
				top: -1px;
				left: -1px;
				opacity: 0;
				transition: all .3s;
				box-sizing: border-box; }
			.page-nav li a:hover:after {
				opacity: 1; }
		.page-nav li + li a {
			border-left: none; }

@media only screen and (max-width: 750px) {
	.page-nav {
		padding: 15px; }
		.page-nav ul {
			width: 100%;
			margin: 0 auto; }
		.page-nav li {
			text-align: left;
			width: 100%;
			float: none; }
			.page-nav li a {
				height: 50px;
				line-height: 50px;
				background: #fff url("../../common/img/ico_arrow_black_bottom_bold.png") no-repeat right 20px center;
				background-size: 10px 7px; }
				.page-nav li a:before {
					background: none; }
				.page-nav li a:after {
					border: none; }
			.page-nav li + li a {
				border-left: solid 1px #bbb;
				border-top: none; } }

.flex-lay {
	display: -webkit-flex;
	display: flex; }
