@charset "utf-8";

/* ------------------------------
 見出し
------------------------------ */
.contentsTop h1 {
	margin: 45px 0 10px;
	font-size: 3.2rem;
	font-weight: bold;
}
.contentsTop h2 {
	clear: both;
	margin: 45px 0;
	font-size: 2.4rem;
	font-weight: bold;
}
.contentsTop h2::after {
	content: "";
	display: block;
	width: 51px;
	height: 3px;
	margin: 5px auto 0;
	background-color: #e5242b;
	font-size: 0;
	line-height: 0;
}
.contentsPage .mainimg {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 300px;
	margin-bottom: 50px;
}
.contentsPage .mainimg h1 {
	position: absolute;
	top: 130px;
	left: 65px;
	z-index: 1;
	font-size: 2.6rem;
}
.contentsPage .mainimg img {
	position: absolute;
	top: 0;
	left: 0;
}
.contentsPage .main h1,
.contentsPage h1.bar {
	margin-bottom: 50px;
	padding: 25px 22px 22px;
	background-color: #ebeced;
	font-size: 2.2rem;
	font-weight: normal;
}
.contentsPage h2 {
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #e2e3e5;
	font-size: 3rem;
}
.contentsPage h2.subheading {
	margin-bottom: 30px;
	padding-bottom: 0;
	border-bottom: none;
	font-size: 2.2rem;
}
h2.subheading + h2 {
	margin-top: 60px;
}
.contentsPage h3 {
	margin-bottom: 25px;
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: bold;
}

.contentsPage .titleimg {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 240px;
	margin-bottom: 50px;
}
.contentsPage .titleimg img {
	position: absolute;
	top: 0;
	left: 0;
}
.contentsPage .titleimg2 {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 150px;
	margin-bottom: 50px;
}
.contentsPage .titleimg img {
	position: absolute;
	top: 0;
	left: 0;
}

/* ------------------------------
 ボックス
------------------------------ */
.w1-2p {
	width: 50%;
}
.w1-3p {
	width: 33.3333333333333%;
}

/* -- 1/3 --- */
.w364,
.w1-3 {
	width: 364px;
}

/* -- 2/3 --- */
.w752,
.w2-3 {
	width: 752px;
}

/* -- ページ1/2 --- */
.w558 {
	width: 558px;
}

/* -- メイン1/2 --- */
.w408 {
	width: 408px;
}

/* -- メイン1/3 --- */
.w264 {
	width: 264px;
}
.w264 + .w264 {
	margin-left: 24px;
}

/* -- その他 --- */
.w185 {
	width: 185px;
}
.w197 {
	width: 197px;
}
.w219 {
	width: 219px;
}
.w222 {
	width: 222px;
}
.w481 {
	width: 481px;
}
.w503 {
	width: 503px;
}
.w515 {
	width: 515px;
}
.w560 {
	width: 560px;
}
.w570 {
	width: 570px;
}
.w635 {
	width: 635px;
}
.w700 {
	width: 700px;
}
.w850 {
	width: 850px;
}

/* -- 背景 --- */
.rbox-gray {
	padding: 20px 30px;
	border-radius: 6px;
	background-color: #f4f4f5;
}
.rbox-red {
	padding: 20px 30px;
	border-radius: 6px;
	background-color: #e5242b;
}

/* -- 背景 --- */
.lbox {
	border: 1px solid #d6d6d6;
	padding: 32px;
}



/* ------------------------------
 テーブル
------------------------------ */
.contents table {
	width: 100%;
}

/* デフォルト */
table th {
	padding: 7px 14px 3px;
	border: 1px solid #e2e3e5;
	background-color: #f3f4f5;
	text-align: left;
	vertical-align: top;
}
table td {
	padding: 7px 14px 3px;
	border: 1px solid #e2e3e5;
	text-align: center;
}



/* ------------------------------
 リスト
------------------------------ */
/*  ノーマル */
.disc li {
	position: relative;
	padding-left: 1em;
}
.disc li::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 8px;
	height: 8px;
	top: 7px;
	left: 0;
	border-radius: 100%;
	background-color: #103165;
}
.disc ul li::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 5px;
	height: 5px;
	top: 9px;
	left: 0;
	border-radius: 100%;
	background-color: #103165;
}

/* ハイフン */
.hyphen li {
	position: relative;
	padding-left: .5em;
}
.hyphen li::before {
	content: "-";
	display: inline-block;
	position: absolute;
	top: -1px;
	left: 0;
}

/* ------------------------------
 ボタン
------------------------------ */
.contents .btn {
}
.contents .btn a {
	display: inline-block;
	position: relative;
	width: 150px;
	padding: 9px 0 7px;
	border-radius: 38px;
	background-color: #e5242b;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.contents .btn a:hover {
	opacity: 0.7;
}
.contents .btn a span {
	display: inline-block;
	padding: 0 20%;
}
.contents .btn a span::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	border: none;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
