/*	elements.css
	- content header
	- content body
	- heading (h1, h2, h3, h4, h5)
	- hr
	- breadcrumbs
	- text
		-- list
		-- img set
		-- notes
	- figure
	- button
	- tab
	- box
	- table
	- column
	- pagination
*/

/* content header & breadcrumbs */
.content-header {
	background: #e8f2f8;
	font-feature-settings: normal;
}

.content-header h2 {
	text-align: center;
	font-size: 24px;
	padding: 40px 0;
}


.content-header h2:before {
	content: "";
	width: 56px;
	height: 56px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
	background: #FFF;
}

.content-header .breadcrumbs {
	margin: 0 auto;
	color: #333333;
	padding: 12px 0;
	display: none;
}


.content-header .breadcrumbs li {
	display: inline-block;
	font-size: 13px;
	line-height: 1.6;
}

.content-header .breadcrumbs li:after {
	content: ">";
	display: inline-block;
	margin: 0 0.5em;
}

.content-header .breadcrumbs li:last-child:after {
	content: none;
}

.content-header .breadcrumbs li a {
	color: #333333;
}

.content-body {
	margin: 0 16px;
	padding: 32px 0 50px;
	font-feature-settings: normal;
}

@media screen and (min-width: 769px) {
	.content-header {

	}

	.content-header h2 {
		font-size: 38px;
		letter-spacing: 0.075em;
		padding: 40px 0 64px;
	}

	.content-header h2:before {
		width: 90px;
		height: 90px;
		margin-right: 32px;
	}

	.content-header .breadcrumbs {
		display: block;
		width: 1080px;
		margin: 0 auto;
	}

	.content-body {
		width: 1080px;
		margin: 0 auto;
		padding: 64px 0 48px;
	}
}

/* heading (h1, h2, h3, h4, h5) */
.content-body h1,
.content-body h2,
.content-body h3,
.content-body h4,
.content-body h6 {
	font-weight: bold;
	letter-spacing: 0.05em;
}

.content-body h1 {
	font-size: 24px;
	color: #004ea2;
	border-bottom: 1px solid #004ea2;
	padding-bottom: 8px;
	margin: 36px 0;
}

.content-body h1:first-child {
	margin-top: 0;
}

.content-body h2 {
	position: relative;
	font-size: 18px;
	line-height: 1.2;
	padding-left: 14px;
	margin: 32px 0;
}

.content-body h2:before {
	content: "";
	display: block;
	width: 4px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #004ea2;
	border-radius: 2px;
}

.content-body h3 {
	background-color: #729dcc;
	font-size: 16px;
	line-height: 1.46875;
	color: #FFF;
	padding: 4.75px 8px;
	margin: 24px 0;
}

.content-body h4 {
	font-size: 16px;
	line-height: 1.46875;
	color: #004ea2;
	margin: 16px 0;
}

.content-body h5 {
	font-size: 16px;
	line-height: 1.46875;
	color: #447dbb;
	font-weight: normal;
	margin: 16px 0;
}

.content-body h6 {
	font-size: 16px;
	line-height: 1;
	border-bottom: 1px dotted #e1e1e1;
	padding: 4px 0;
	margin: 32px 0;
}

.content-body h6 img.icon {
	display: inline-block;
	vertical-align: middle;
	width: 26px;
	margin-right: 10px;
}


@media screen and (min-width: 769px) {
	.content-body h1 {
		font-size: 30px;
		margin: 48px 0;
	}

	.content-body h2 {
		font-size: 25px;
		padding-left: 1em;
		margin: 48px 0;
	}

	.content-body h3 {
		font-size: 15px;
		padding: 9px 12px;
		margin: 48px 0;
	}

	.content-body h4 {
		font-size: 15px;
		margin: 40px 0;
	}

	.content-body h5 {
		font-size: 15px;
		margin: 32px 0;
	}

	.content-body h6 {
		font-size: 18px;
		padding: 8px 0;
		margin: 40px 0;
	}

	.content-body h6 img.icon {
		width: 34px;
		margin-right: 8px;
	}
}

/* hr */
.content-body hr {
	border: 0 none;
	width: 100%;
	height: 0;
	border-bottom: 1px dotted #e1e1e1;
	margin: 0;
	/*margin: 32px auto;*/
}

@media screen and (min-width: 769px) {
	.content-body hr {
		/*margin: 40px auto;*/
	}
}

/* text */
.content-body p {
	font-size: 16px;
	line-height: 1.625;
	margin-bottom: 32px;
}

@media screen and (min-width: 769px) {
	.content-body p {
		font-size: 15px;
		line-height: 1.6666;
		margin-bottom: 40px;
	}
}

/* list */
.content-body ul {
	padding-left: 1.5em;
	list-style-position: outside;
	margin-bottom: 40px;
	
	overflow: hidden;
}

.content-body ul li {
	font-size: 16px;
	line-height: 1.625;
	margin: 0.5em 0;
}

.content-body ul.no-mark {
	list-style-type: none;
	padding-left:  0;
}

@media screen and (min-width: 769px) {
	.content-body ul li {
		font-size: 15px;
	}
}

/* figure */
.fig-block {
	margin-bottom: 1em;
}

.fig-block img {
	width: 100%;
}

.fig-block .fig-cap {
	font-size: 14px;
	line-height: 1.3571;
	color: #626262;
	margin-top: 0.5em;
	margin-bottom: 0;
}

@media screen and (min-width: 769px) {
	.fig-block {
		margin-bottom: 64px;
	}

	.fig-block .fig-cap {
		font-size: 13px;
	}

	.fig-block.horizontal {
		-js-display: flex;
		display: flex;
		align-items: flex-start;
	}

	.fig-block.horizontal img {
		width: 48%;
		height: auto;
	}

	.fig-block.horizontal .fig-cap {
		padding-left: 20px;
	}
}

/* button */
.button-group {
	-js-display: flex;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	margin: 40px auto;
}

a.button {
	-js-display: flex;
	display: flex;
	flex-direction:column;
	justify-content: center;
	align-items: center;
	text-align: center;

	width: 100%;
	max-width: 300px;
	padding: 1em 0.5em;
	margin: 13px auto;

	border-radius: 2px;
	background: #004ea2;

	font-size: 12px;
	color: #FFF;
	line-height: 1.3;
	text-decoration: none;
	position: relative;
}

a.button.large {
	height: 88px;
	vertical-align: middle;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

a.button.middle {
	height: 60px;
	vertical-align: middle;
	font-size: 16px;
	font-weight: bold;
}

a.button.large,
a.button.middle {
	padding-right: 2em;
}

a.button.large:after,
a.button.middle:after {
	content: "";
	width: 10px;
	height: 10px;
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -5px;
	background: url(../img/button-arrow.svg) no-repeat center center;
	background-size: 6px auto;
}

a.button.pagetop {
	font-size: 16px;
	width: 48.5%;
	height: 62.5px;
	margin: 32px auto;
}

a.button.off {
	background: #FFF;
	border: 1px solid #004ea2;
	color: #004ea2;
}

@media screen and (min-width: 769px) {
	.button-group {
    	flex-direction: row;
			justify-content: space-around;
			margin-bottom: 64px;
	}

	a.button {
		border-radius: 3px;
	}

	a.button.large {
		font-size: 20px;
		max-width: 460px;
		height: 130px;
	}

	a.button.middle {
		font-size: 20px;
		max-width: 346px;
		height: 90px;
	}

	a.button.large:after,
	a.button.middle:after {
		width: 12px;
		height: 22px;
		right: 20px;
		margin-top: -11px;
		background-size: 12px auto;
	}

	a.button.pagetop {
		width: 200px;
		height: 55px;
		font-size: 15px;
		margin: 48px auto;
	}
}

/* tab */
.tab-group {
	margin: 32px auto;
	-js-display: flex;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.tab-item {
	-js-display: flex;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-radius: 1.5px;
	background: #FFF;
	border: 1px solid #004ea2;
	font-size: 16px;
	white-space: pre-wrap;
	color: #004ea2;
	margin: 0.25em auto;
}

.tab-item.active {
	background: #004ea2;
	color: #FFF;
}

.tab-item.full {
	width: 100%;
}

.tab-content {
	display: none;
}

.tab-content.active {
	display: block;
}

.page-menu-1 .tab-item {
	width: 48.5%;
	height: 62.5px;
	letter-spacing: 0.05em;
}

.page-menu-1 .tab-item:nth-child(odd) {
	margin-right: 3%;
}

.page-menu-2 .tab-item {
	width: 31%;
	height: 62.5px;
	letter-spacing: 0.05em;
}

.page-menu-3 {
	justify-content: flex-start;
}

.page-menu-3 .tab-item {
	width: 48.5%;
	height: 62.5px;
}

.page-menu-3 .tab-item:nth-child(odd) {
	margin-right: 3%;
}

.page-menu-4 .tab-item {
	width: 48.5%;
	height: 62.5px;
}

.page-menu-4 .tab-item:nth-child(odd) {
	margin-right: 3%;
}

.page-menu-5 {
	align-items: stretch;
}

.page-menu-5 .tab-item {
	width: 48.5%;
	height: 62.5px;
}

.page-menu-5 .tab-item:nth-child(odd) {
	margin-right: 3%;
}


.page-menu-5 .tab-item:last-child {
	width: 100%;
	max-width: none;
	margin-right: 0;
}


@media screen and (min-width: 769px) {
	.tab-item {
		font-size: 16px;
	}

	.page-menu-1 {
		flex-wrap: nowrap;
		margin-bottom: 50px;
	}

	.page-menu-1 .tab-item,
	.page-menu-1 .tab-item:nth-child(odd) {
		/*width: 255px;*/
		height: 55px;
		margin-left: 0;
		margin-right: 20px;
		padding: 18px 0;
	}

	.page-menu-1 .tab-item:last-child {
		margin-right: 0;
	}

	.page-menu-2 {
		flex-wrap: nowrap;
		justify-content: center;
		margin-bottom: 50px;
	}

	.page-menu-2 .tab-item {
		width: 255px;
		height: 55px;
		padding: 18px 0;
		margin: 0 10px;
	}

	.page-menu-3 {
		margin-bottom: 50px;
	}

	.page-menu-3 .tab-item,
	.page-menu-3 .tab-item:nth-child(odd) {
		width: 208px;
		height: 40px;
		font-size: 15px;
		padding: 12px 0;
		margin: 6px auto;
	}

	.page-menu-3 .tab-item:first-child,
	.page-menu-3 .tab-item:nth-child(6) {
		margin-left: 0;
	}

	.page-menu-3 .tab-item:last-child,
	.page-menu-3 .tab-item:nth-child(5) {
		margin-right: 0;
	}

	.page-menu-4 {
		flex-wrap: nowrap;
		margin-bottom: 100px;
	}

	.page-menu-4 .tab-item,
	.page-menu-4 .tab-item:nth-child(odd) {
		width: 172px;
		height: 40px;
		font-size: 15px;
		padding: 12px 0;
		margin-left: auto;
		margin-right: auto;
	}

	.page-menu-4 .tab-item:first-child {
		margin-left: 0;
	}

	.page-menu-4 .tab-item:last-child {
		margin-right: 0;
	}

	.page-menu-5 {
		flex-wrap: nowrap;
		margin-bottom: 72px;
	}

	.page-menu-5 .tab-item,
	.page-menu-5 .tab-item:last-child,
	.page-menu-5 .tab-item:nth-child(odd) {
		width: 208px;
		height: 55px;
		font-size: 15px;
		padding: 12px 0;
		margin: 6px auto;
		flex-grow: 0;
	}

	.page-menu-5 .tab-item:first-child {
		margin-left: 0;
	}

	.page-menu-5 .tab-item:last-child {
		margin-right: 0;
	}



}

/* box */
.box-text-1 {
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	background-color: #eeeeee;
	margin-bottom: 14px;
	padding: 8px;
}

.box-text-1 .label {
	order: 2;
	display: block;
	width: 56px;
	font-size: 12px;
	line-height: 1.4583;
	vertical-align: middle;
	color: #FFF;
	background: #CCC;
	text-align: center;
	margin-right: 0.5em;
}

.box-text-1 .label.orange {
	background-color: #f39800;
}

.box-text-1 .label.blue {
	background-color: #57badf;
}

.box-text-1 .label.green {
	background-color: #91c379;
}

.box-text-1 .box-title {
	-js-display: flex;
	display: flex;
	order: 1;
	color: #626262;
	width: 100%;
	font-size: 14px;
	white-space: nowrap;
	margin-bottom: 0.5em;
}

.box-text-1 .box-body {
	order: 3;
	font-size: 16px;
}

.box-text-2 {
	padding: 16px;
	background: #e5edf6;
	font-size: 16px;
	line-height: 1.8333;
	margin: 40px auto 48px;
}

.box-text-2 .box-title {
	color: #004ea2;
}

.box-text-2 .box-body {
	color: #626262;
	margin-bottom: 0.5em;
}

.box-text-2 .box-body:last-child {
	margin-bottom: 0;
}

.box-text-3,
.box-text-4 {
	padding: 16px;
	background: #eeeeee;
	font-size: 16px;
	line-height: 1.8333;
	margin: 48px auto;
}

@media screen and (min-width: 769px) {
	.box-text-1 {
		display: block;
	}

	.box-text-1 .label {
		font-size: 13px;
		width: 6em;
		height: 20px;
		line-height: 20px;
		display: inline-block;
		vertical-align: middle;
	}

	.box-text-1 .box-title {
		font-size: 13px;
		line-height: 20px;
		display: inline-block;
		width: auto;
		margin-bottom: 0;
	}

	.box-text-1 .box-body {
		font-size: 15px;
		line-height: 20px;
		display: inline-block;
	}

	.box-text-2 {
		font-size: 13px;
		margin: 40px 0 48px;
	}

	.box-text-3,
	.box-text-4 {
		font-size: 15px;
	}

	.box-text-4 {
		width: 50%;
	}
}

/* table */
.content-body table {
	width: 100%;
	margin: 32px 0;
}

.content-body table caption {
	color: #004ea2;
	font-size: 16px;
	font-weight: bold;
	padding: 1em 0;
}

.content-body table tr th,
.content-body table tr td {
	font-size: 16px;
	line-height: 1.6666;
	/*white-space: pre-wrap;*/
	display: block;
}

.content-body table tr th {
	background: #b7cde5;
	font-weight: normal;
	padding: 1em 20px;
	border-bottom: 1px solid #FFF;
}

.content-body table tr td {
	background: #e5edf6;
	padding: 1em 20px 0;
}

.content-body table tr td:last-child {
	padding-bottom: 1em;
	border-bottom: 1px solid #FFF;
}

.content-body table tr td a {
	color: #333;
	text-decoration: none;
}

.content-body table tr td a.icon-arrow {
	display: block;
	white-space: pre-wrap;
	word-break: break-all;
	margin-bottom: 1em;
}

.content-body table tr td a.icon-arrow:last-child {
	margin-bottom: 0;
}

.content-body table tr td.split {
	padding: 0;
	-js-display: flex;
	display: flex;
	flex-flow: row nowrap;
}

.content-body table tr td.split .split-block {
	padding: 1em 20px;
	border-right: 1px solid #FFF;
}

.content-body table tr td.split .split-block:last-child {
	border-right: 0 none;
}

.content-body table tr td .cell-head {
	white-space: nowrap;
	vertical-align: top;
	color: #004ea2;
}

.content-body table tr td .cell-cont {
}

.content-body table tr td .cell-head.nowrap {
	width: 100%;
}

.content-body table tr th ul,
.content-body table tr td ul {
	margin: 0;
}

.content-body table tr th ul li,
.content-body table tr td ul li {
	margin: 0;
}

.content-body table thead {
	display: none;
}

/* table-2 */
.content-body .table-2 tbody tr td {
	-js-display: flex;
	display: flex;
	flex-flow: row nowrap;
}

.content-body .table-2 tbody tr td .cell-head,
.content-body .table-2 tbody tr td .cell-cont {
	/*-js-display: flex;
	display: flex;
	vertical-align: top;*/
}

/* table6 */
.content-body .table-6 tr th,
.content-body .table-6 tr td {
	display: table-cell;
}

.content-body .table-6 tr th {
	background: #707070;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	padding-left: 0;
	padding-right: 0;
	width: 28%;
	border-top: 0;
}

.content-body .table-6 tr td {
	background: #e5e5e5;
	border-bottom: 1px solid #FFF;
}

@media screen and (max-width: 320px) {
	.content-body .table-6 tr th {
		width: 36%;
	}
}

@media screen and (min-width: 769px) {
	.content-body table {
		margin: 50px auto;
	}

	.content-body table caption {
		background: #b7cde5;
		font-size: 15px;
		font-weight: normal;
		padding: 1em;
		color: #004ea2;
		border-bottom: 1px solid #FFF;
	}

	.content-body table tr th,
	.content-body table tr td {
		display: table-cell;
		font-size: 15px;
		line-height: 1.6666;
		padding: 1em;
		vertical-align: middle;
		border-bottom: 1px solid #FFF;
		border-right: 1px solid #FFF;
	}

	.content-body table tr th {
		border-top: 0 none;
	}

	.content-body table tr th:last-child,
	.content-body table tr td:last-child {
		border-right:  0 none;
	}

	.content-body table thead {
		display: table-header-group;
	}

	.content-body table thead tr th,
	.content-body table thead tr td {
		color: #004ea2;
		font-weight: normal;
		white-space: nowrap;
	}

	.content-body table tbody tr th,
	.content-body table tbody tr td {
		background: #e5edf6;
		font-weight: normal;
	}

	.content-body table tbody tr th {
		text-align: left;
	}

	.content-body table tr td.split {
		display: block;
	}

	.content-body table tr td.split .split-block {
		border-right: 0 none;
		border-bottom: 1px solid #FFF;
	}
	.content-body table tr td.split .split-block:last-child {
		border-bottom: 0 none;
	}

	.content-body table tr td .cell-head {
		display: none !important;
	}

	/* table1 */
	.content-body .table-1 thead tr th:first-child {
		width: 228px;
	}
	.content-body .table-1 thead tr th:nth-child(2) {
		width: 220px;
	}
	.content-body .table-1 thead tr th:nth-child(3),
	.content-body .table-1 thead tr th:nth-child(4) {
		width: 126px;
	}

	.content-body .table-1 tbody tr th {
		text-align: center;
	}

	.content-body .table-1 tbody tr td:nth-child(3),
	.content-body .table-1 tbody tr td:nth-child(4) {
		text-align: center;
	}

	/* table2 */
	.content-body .table-2 thead tr th:first-child {
		width: 326px;
	}
	.content-body .table-2 thead tr th:nth-child(2) {
		width: 212px;
	}

	.content-body .table-2 tbody tr td {
		display: table-cell;
	}

	/* table3 */
	.content-body .table-3 thead tr th:first-child {
		width: 228px;
	}
	.content-body .table-3 thead tr th:nth-child(2) {
		width: 312px;
	}
	.content-body .table-3 tbody tr th {
		text-align: center;
	}

	/* table4 */
	.content-body .table-4 tbody tr th {
		background-color: #b7cde5;
		color: #004ea2;
		width: 228px;
		text-align: center;
	}

	/* table5 */
	.content-body .table-5 tbody tr th {
		background-color: #b7cde5;
		color: #004ea2;
		width: 80px;
		height: 128px;
		text-align: center;
	}
	.content-body .table-5 tbody tr td:last-child {
		width: 252px;
	}

	/* table6 */
	.content-body .table-6 tbody tr th {
		width: 200px;
		letter-spacing: 0.1em;
	}
}

/* badge */
.badge {
	display: inline-block;
	line-height: 1;
	border-radius: 50%;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	background: #ccc;
	margin: -0.4em 4px;
	padding: 0.4em;
}

.badge.red {
	background: #e60012;
}

.badge.orange {
	background: #f39800;
}

@media screen and (min-width: 769px) {
	font-size: 13px;
}

/* label */
.label_new {
	display: inline-block;
	width: 4em;
  padding: 0 4px;
  margin-right: 8px;
  text-align: center;
	font-size: 13px;
  color: #FFF;
	background-color: red;
}

/* column */
.row {
	display: block;
	margin-left: -10px;
	margin-right: -10px;
}

.row:after {
	content: "";
	display: table;
	clear: both;
}

.row > .column {
	display: block;
	float: left;
	padding: 0 10px;
}

.row > .column.right {
	float: right;
}

.row > .column.two,
.row > .column.four {
	width: 50%;
}

.row > .column.three,
.row > .column.five {
	width: 33.3333%;
}

.row p.wrapround {
	padding: 0 10px;
}

@media screen and (min-width: 769px) {
	.row {
		margin-left: -10px;
		margin-right: -10px;
	}

	.row > .column {
		padding: 0 10px;
	}

	.row > .column.four {
		width: 25%;
	}

	.row > .column.five {
		width: 20%;
	}
}

/* pagination */
.pagination {
	text-align: center;
	margin: 32px auto;
}

.pagination .page-numbers {
	display: inline-block;
	background: #dadada;
	color: #004ea2;
	font-size: 16px;
	width: 1.6666em;
	height: 1.6666em;
	margin: 0 0.25em;
	text-align: center;
	line-height: 1.6666em;
	text-decoration: none;
}

.pagination .page-numbers.current {
	background: #004ea2;
	color: #FFF;
}

.pagination .prev,
.pagination .next {
	width: auto;
	background: none;
	background-repeat: no-repeat;
	background-size: auto 12px;
	text-decoration: underline;
}

.pagination .prev {
	background-position: left center;
	background-image: url(../img/icon-prev.svg);
	padding-left: 1em;
}

.pagination .next {
	background-position: right center;
	background-image: url(../img/icon-next.svg);
	padding-right: 1em;
}

@media screen and (min-width: 769px) {

	.pagination {
		margin: 64px auto;
	}

	.pagination .page-numbers {
		font-size: 15px;

	}
}

/* 区切り線 */
hr {
	border-top: 1px dotted #e1e1e1;
}
