#main img {
	max-width: 100%;
	height: auto;
}
.text-center {
	text-align: center;
}
/* Margins */
.m-0 { margin: 0 !important;}
.mt-0,
.my-0 { margin-top: 0 !important;}
.mb-0,
.my-0 { margin-bottom: 0 !important;}
.mr-0,
.mx-0 { margin-right: 0 !important;}
.ml-0,
.mx-0 { margin-left: 0 !important;}
.m-1 { margin: 10px !important;}
.mt-1,
.my-1 { margin-top: 10px !important;}
.mr-1,
.mx-1 { margin-right: 10px !important;}
.mb-1,
.my-1 { margin-bottom: 10px !important;}
.ml-1,
.mx-1 { margin-left: 10px !important;}
.m-2 { margin: 20px !important;}
.mt-2,
.my-2 { margin-top: 20px !important;}
.mr-2,
.mx-2 { margin-right: 20px !important;}
.mb-2,
.my-2 { margin-bottom: 20px !important;}
.ml-2,
.mx-2 { margin-left: 20px !important;}
.m-3 { margin: 40px !important;}
.mt-3,
.my-3 { margin-top: 40px !important;}
.mr-3,
.mx-3 { margin-right: 40px !important;}
.mb-3,
.my-3 { margin-bottom: 40px !important;}
.ml-3,
.mx-3 { margin-left: 40px !important;}
.m-4 { margin: 80px !important;}
.mt-4,
.my-4 { margin-top: 80px !important;}
.mr-4,
.mx-4 { margin-right: 80px !important;}
.mb-4,
.my-4 { margin-bottom: 80px !important;}
.ml-4,
.mx-4 { margin-left: 80px !important;}
.m-5 { margin: 120px !important;}
.mt-5,
.my-5 { margin-top: 120px !important;}
.mr-5,
.mx-5 { margin-right: 120px !important;}
.mb-5,
.my-5 { margin-bottom: 120px !important;}
.ml-5,
.mx-5 { margin-left: 120px !important;}

/*------------------------------------*\
    タブ切り替え
\*------------------------------------*/
.js-tabchange [role="tabpanel"]:not(.show),
.js-tabchangeCategory > [role="tabpanel"]:not(.show) {
	display: none;
}
.js-tabchange [role="tabpanel"].show,
.js-tabchangeCategory > [role="tabpanel"].show {
	display: block;
}

.tabs {
	box-sizing: border-box;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 20px;
	padding: 0;
}
.tabs > li {
	flex: 1 1 0%;
	display: inline-block;
	padding: 0 5px;
}
.tabs [role="tab"] {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 10px 6px 20px;
	background: #fff;
	color: #bf0c2b;
	font-size: 13px;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}
.tabs [role="tab"]::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 10px;
	left: 50%;
	width: 7px;
	height: 7px;
	margin-left: -5px;
	border-right: 2px solid #bf0c2b;
	border-bottom: 2px solid #bf0c2b;
	transform: rotate(45deg);
	transition: bottom .2s
}
.tabs [role="tab"]::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -10px;
	border: 10px solid transparent;
	transition: bottom .2s;
}
.tabs [role="tab"]:hover::before {
	bottom: 6px;
}
.tabs [role="tab"][aria-selected="true"] {
	background: #bf0c2b;
	color: #fff;
}
.tabs [role="tab"][aria-selected="true"]::after {
	bottom: -20px;
	border-top-color: #bf0c2b;
}
.tab-content {
	box-sizing: border-box;
	margin: 0 auto 60px;
	padding: 30px 20px 40px;
	background: #fff;
	font-size: 14px;
	transition: height .3s;
}
.tab-content__title {
	margin-bottom: 1em;
	color: #bf0c2b;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}
@media (min-width: 481px) {
	.tabs {
		width: 1220px;
		margin: 0 auto 30px;
	}
	.tabs li {
		padding: 0 10px;
	}
	.tabs [role="tab"] {
		padding: 20px 1em;
		font-size: 16px;
	}
	.tabs [role="tab"] br {
		display: none;
	}
	.tab-content {
		width: 1200px;
	}
	.tab-content__title {
		font-size: 30px;
	}
}
@media (min-width: 1200px) {
	.tab-content {
		padding: 50px;
	}
}

.h3 {
	margin-bottom: 0.8em;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}
.h4 {
	margin-bottom: 0.5em;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}
.h5 {
	margin-bottom: 0.5em;
	font-size: 18px;
	font-weight: bold;
}
strong {
	font-weight: bold;
}
@media (min-width: 481px) {
	.h3 {
		font-size: 26px;
	}
	.h4 {
		font-size: 20px;
	}
}

/*------------------------------------*\
    FOX CSS 3.0.0 by Ronan Levesque
    CC BY 3.0 license
\*------------------------------------*/
.fx-row {
	box-sizing: border-box;
	margin-left: -8px;
	margin-right: -8px;
	display: flex;
	flex-wrap: wrap
}
.fx-row+.fx-row {
	margin-top: 0
}
.fx-row-center {
	justify-content: center
}
[class*="fx-col"] {
	box-sizing: border-box;
	padding-left: 8px;
	padding-right: 8px;
	-ms-flex-positive: 1;
	flex: 1 1 auto
}
.fx-col-10 {
	flex-basis: 10%;
	max-width: 10%
}
.fx-col-20 {
	flex-basis: 20%;
	max-width: 20%
}
.fx-col-25 {
	flex-basis: 25%;
	max-width: 25%
}
.fx-col-30 {
	flex-basis: 30%;
	max-width: 30%
}
.fx-col-33 {
	flex-basis: 33.3333%;
	max-width: 33.3333%
}
.fx-col-40 {
	flex-basis: 40%;
	max-width: 40%
}
.fx-col-50 {
	flex-basis: 50%;
	max-width: 50%
}
.fx-col-60 {
	flex-basis: 60%;
	max-width: 60%
}
.fx-col-66 {
	flex-basis: 66.6666%;
	max-width: 66.6666%
}
.fx-col-70 {
	flex-basis: 70%;
	max-width: 70%
}
.fx-col-75 {
	flex-basis: 75%;
	max-width: 75%
}
.fx-col-80 {
	flex-basis: 80%;
	max-width: 80%
}
.fx-col-90 {
	flex-basis: 90%;
	max-width: 90%
}
.fx-col-100 {
	flex-basis: 100%;
	max-width: 100%
}
@media (min-width: 481px) {
	.fx-row {
		margin-left: -15px;
		margin-right: -15px;
	}
	.fx-row--narrow {
		margin-right: -8px;
		margin-left: -8px;
	}
	[class*="fx-col"] {
		padding-left: 15px;
		padding-right: 15px;
	}
	.fx-row--narrow [class*="fx-col"] {
		padding-left: 8px;
		padding-right: 8px;
	}
	.fx-col-10-md {
		flex-basis: 10%;
		max-width: 10%
	}
	.fx-col-20-md {
		flex-basis: 20%;
		max-width: 20%
	}
	.fx-col-25-md {
		flex-basis: 25%;
		max-width: 25%
	}
	.fx-col-30-md {
		flex-basis: 30%;
		max-width: 30%
	}
	.fx-col-33-md {
		flex-basis: 33.3333%;
		max-width: 33.3333%
	}
	.fx-col-40-md {
		flex-basis: 40%;
		max-width: 40%
	}
	.fx-col-50-md {
		flex-basis: 50%;
		max-width: 50%
	}
	.fx-col-60-md {
		flex-basis: 60%;
		max-width: 60%
	}
	.fx-col-66-md {
		flex-basis: 66.6666%;
		max-width: 66.6666%
	}
	.fx-col-70-md {
		flex-basis: 70%;
		max-width: 70%
	}
	.fx-col-75-md {
		flex-basis: 75%;
		max-width: 75%
	}
	.fx-col-80-md {
		flex-basis: 80%;
		max-width: 80%
	}
	.fx-col-90-md {
		flex-basis: 90%;
		max-width: 90%
	}
	.fx-col-100-md {
		flex-basis: 100%;
		max-width: 100%
	}
}

/*------------------------------------*\
    Tables
\*------------------------------------*/
.table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 1.5em;
	border-top: 1px solid #ccc;
}
.table th,
.table td {
	padding: 1em;
	border-bottom: 1px solid #ccc;
}
.table thead th {
	background: #808080;
	color: #fff;
}
.table tbody th {
	background: #eee;
}
.table.table--condensed th,
.table.table--condensed td {
	padding: .5em 1em;
}
@media (min-width: 481px) {
	.table th,
	.table td {
		padding: 1.5em 2em;
	}
	.table.table--condensed th,
	.table.table--condensed td {
		padding: .75em 1em;
	}
}
