@charset "utf-8";

/*-------------------------
汎用css
---------------------------*/
.sp {
	display: none;
}
@media screen and (max-width: 640px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	span.sp {
		display: inline;
	}
}

/* box */
.box-size {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.inner-padding {
	padding-right: 10px;
	padding-left: 10px;
}
.inner-padding-top {
	padding-top: 78px;
}
.size-1140 {
	max-width: 1140px;
}
.inner-padding.size-1140 {
	max-width: 1160px;
}

/* flex box */
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex a,
.flex img {
	display: block;
	width: 100%;
}
.flex-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.col-3-2-1 > * {
	width: calc(100% / 3);
}
.col-4-2 > *,
.col-4-2-1 > *,
.col-4-3-2 > * {
	width: 25%;
}
.col-9-5-3 > * {
	width: calc(100% / 9);
}
.col-margin-10 {
	margin: 0 0 -10px -10px;
}
.col-margin-10 > * {
	padding: 0 0 10px 10px;
}
@media screen and (max-width: 960px) {
	.col-3-2-1 > *,
	.col-4-2 > *,
	.col-4-2-1 > * {
		width: 50%;
	}
	.col-4-3-2 > * {
		width: calc(100% / 3);
	}
	.col-9-5-3 > * {
		width: 20%;
	}
}
@media screen and (max-width: 640px) {
	.col-3-2-1 > *,
	.col-4-2-1 > * {
		width: 100%;
	}
	.col-4-3-2 > * {
		width: 50%;
	}
	.col-9-5-3 > * {
		width: calc(100% / 3);
	}
}

/* d-list */

/* image */
.img-c a,
.img-c img {
	display: block;
	width: 100%;
}
.img-c img {
	transition: 200ms ease-out;
}
.img-c a:hover img {
	opacity: .7;
}

/* title */
.title-02 {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .1em;
}
.title-03 {
	font-size: 20px;
	position: relative;
}
.title-03::before,.title-03::after {
	display: block;
	content: "";
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.title-03::before {
	background-color: #999;
	width: 100%;
}
.title-03::after {
	background-color: #e60012;
	width: 50%;
	max-width: 200px;
}
.title-03 span {
	display: inline-block;
	font-size: .8em;
}

/* anchor */
.anchor-right {
	text-align: right;
}
.anchor-right a {
	display: inline-block;
	padding-right: 14px;
	position: relative;
}
.anchor-right a::before,
.anchor-right a::after {
	display: block;
	content: "";
}
.anchor-right a::before {
	background-color: #e60012;
	width: 0;
	height: 1px;
	position: absolute;
	bottom: .3em;
	left: 0;
	transition: 200ms ease-out;
}
.anchor-right a:hover::before {
	width: 100%;
}
.anchor-right a::after {
	background: url("../img/ico_arrow.svg") center / contain no-repeat;
	width: 12px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%) rotate(-90deg);
	transform: translateY(-50%) rotate(-90deg);
}
.anchor-right a:nth-child(n+2) {
	margin-left: 20px;
}

.anchor-image img {
	transition: 200ms ease-out;
}
.anchor-image:hover img {
	opacity: .6;
}

/* font-color */
.font-color-red {
	color: #e60012;
}

/* font-size */
.font-s {
	font-size: .8em;
}

/* font-bold */
.font-bold {
	font-weight: bold;
}

/* text-align */
.text-align-j {
	text-align: justify;
}
.text-align-c,
.text-align-c-j {
	text-align: center;
}
.text-align-r {
	text-align: right;
}
@media screen and (max-width: 640px) {
	.text-align-c-j {
		text-align: justify;
	}
}

/* margin */
.mt10 {
	margin-top: 10px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt40 {
	margin-top: 30px !important;
}
.mt60 {
	margin-top: 60px !important;
}

/*-------------------------
Swiper
---------------------------*/
.swiper-container {
	overflow: hidden;
}
.swiper-container img {
	display: block;
	width: 100%;
}