/* 横幅・背景設定
-----------------------------------*/
/* 横幅1500pxして中央(margin:auto) */
.width-1500px{ 
	width:95%;
	max-width:1500px;
	margin:0 auto;
	overflow: hidden;
}

/* 横幅1200pxして中央(margin:auto) */
.width-1200px{ 
	width:90%;
	max-width:1200px;
	margin:0 auto;
	overflow: hidden;
}

/* フォント関連
-----------------------------------*/
/* 集英明朝 */
.f-shuei-l{
	font-family: "dnp-shuei-mincho-pr6", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.f-shuei-m{
	font-family: "dnp-shuei-mincho-pr6", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.f-shuei-b{
	font-family: "dnp-shuei-mincho-pr6", sans-serif;
	font-weight: 600;
	font-style: normal;
}

/* 文字色・文字の太さ
--------------------------------*/
.ft-fff{
	color:#fff;
}


/* 余白関係
-----------------------------------*/
.sec-wrap-m-b15{
	margin-bottom:15rem;
}

.sec-wrap-m-t10{
	margin-top:10rem;
}

.sec-wrap-m-t3{
	margin-top: 3rem;
}

.sec-wrap-m-b3{
	margin-bottom: 3rem;
}

.sec-wrap-m-t2{
	margin-top: 2rem;
}

/* 表示関係
-----------------------------------*/
.pc-br{
	display:block;
}

.sp{
	display:none !important
}

/* 2カラム設定
--------------------------------*/
.c-container{ 
	display:flex;
	justify-content: space-between;
}

/* 右寄せ・左寄せ
--------------------------------*/
.c-ml-auto{
	margin-left:auto;
}

.c-mr-auto{
	margin-right:auto;
}

/* Swiper
-----------------------------------*/
.swiper  {
	margin-left:auto;
	margin-right:auto;
	position:relative;
	overflow:hidden;
	list-style:none;
	padding:0;
	z-index:1;
	display:block
}

.swiper-wrapper{
	position:relative;
	width:100%;
	height:100%;
	z-index:1;
	display:flex;
	transition-property:transform;
	transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);
	box-sizing:content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper{
	transform:translate3d(0px,0,0)
}

.swiper-slide{
	flex-shrink:0;
	width:100%;
	height:100%;
	position:relative;
	transition-property:transform;
	display:block;
}

.swiper-btn{
	display:flex;
	align-items: center;
}

.swiper-pagination {
	color: #bababa;
	font-size: 2.2rem;
	font-weight: 600;
	padding: 0 2.5rem;
	position: relative;
	width: 55px;
	margin: 0 2rem;
}

.swiper-button-next,
.swiper-button-prev {
	width: 20px;
	height: 20px;
	border: 1px solid #fff;
	color: #fff;
	position:relative;
}

.swiper-button-next img,
.swiper-button-prev img{
	width: 6px;
	height: 9px;
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.swiper-button-next{
	border: 1px solid #fff;
}

.swiper-button-prev {
	border: 1px solid rgba(255,255,255,0.5);
}

.swiper-pagination-current{
	font-size:2rem;
	color: #fff;
	display: inline-block;
	position: absolute;
	top: -3px;
	left: 10px;
}

.swiper-pagination-total{
	font-size:1.5rem;
	display: inline-block;
	position: absolute;
	bottom: 0;
	right: 10px;
}

/* タイトル関係
-----------------------------------*/
.home-title{
	line-height:1.6;
}

.home-title .sub-title{
	font-size:1.6rem;
	color:#bababa;
	letter-spacing: .1em;
}

.home-title h2{
	font-size:3rem;
	letter-spacing: .1em;
}

.home-btn{
	width:400px;
	display:block;
	border-bottom:1.5px solid #fff;
	position:relative;
}

.home-btn::after{
	content:"";
	position: absolute;
	background-image: url(img/arrow-right-white.svg);
	display: inline-block;
	background-size: cover;
	width: 7px;
	height: 14px;
	right:10px;
	bottom: 10px;
}

.home-btn .ft-fff{
	font-size:2.2rem;
	letter-spacing: .1em;
}

.line-c9161d{
	border-bottom:1px solid #c9161d;
	font-weight:600;
}

.bg-gray{
	background-image: url("img/gray-bg.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	box-shadow: 2px 2px 5px -4px rgba(0, 0, 0, 0.75);
}

.c-page-bg-white {
	background-color: #fff;
	padding: 8rem 5rem;
}

/* よくある質問
-----------------------------------*/
.faq-box {
	margin-top: 9rem;
}

.faq-box h2 {
	font-size: 2.4rem;
	margin-bottom: 3rem;
	border-left: 6px solid #333;
	line-height: 1.2;
	padding-left: 0.5rem;
	letter-spacing: .1em;
}

.faq-box dt {
	cursor: pointer;
	padding: 2.5rem 2.5rem 2.5rem 8.5rem;
	background-color: #333;
	position: relative;
	color: #fff;
	letter-spacing: .1em;
}

.faq-box dt::before {
	content: "Q";
	background-color: #fff;
	color: #333;
	font-size: 2.4rem;
	width: 40px;
	height: 40px;
	text-align: center;
	display: block;
	line-height: 1.6;
	border-radius: 50px;
	position: absolute;
	top: 50%;
	left: 2.5%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.faq-box dt::after {
	content: "";
	position: absolute;
	right: 25px;
	content: "";
	background-image: url(img/icon-plus.svg);
	display: inline-block;
	width:20px;
	height: 20px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.faq-box dt.open::after {
	background-image: url(img/icon-minus.svg);
	height:3px;
}

.faq-box dd {
	margin-bottom: 3rem;
	background: #fff;
	overflow: hidden;
	transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
	max-height: 0;
	position: relative;
}

.faq-box dd.open {
	max-height: 200px;
	padding: 2.5rem 2.5rem 2.5rem 8.5rem;
}

.faq-box dd::before{
	content: "A";
	color: #fff;
	font-size: 2.4rem;
	width: 40px;
	height: 40px;
	text-align: center;
	display: block;
	line-height: 1.5;
	border-radius: 50px;
	position: absolute;
	background-color:#333;
	top: 40px;
	left: 2.5%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

/* アニメーション(fade-up)
-----------------------------------*/
.js-slide-up {
	opacity: 0;
	transform: translate3d(0, 50px, 0);
	filter: blur(10px);
	transition:
	transform 2.4s cubic-bezier(.25,.7,.3,1), opacity 2.2s ease, filter 2.4s ease;
	transition-delay: 0s, 0.15s, 0s;
}

.js-slide-up.is-show {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
}

/* 馬肉のこだわり背景アニメーション(fade-up)
-----------------------------------*/
.js-bg-fade {
	opacity: 0;
	background-position: center 40px;
	transition:
	opacity 2.2s ease,
	background-position 3s cubic-bezier(.25,.7,.3,1);
	transition-delay: var(--delay, 0s);
}

.js-bg-fade.is-show {
	opacity: 1;
	background-position: center top;
}