@charset "UTF-8";

/*  MAINIMG
-------------------------*/
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.15);
	}
}

@media screen and (max-width: 767px) {
	.top-main-wrap {
		display: block;
		width: 100%;
		padding-top: 55px;
		position: relative;
	}

	.top-main-wrap .fix {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		z-index: 20;
	}

	.top-main-wrap .fix h2 {
		margin-left: 4%;
		margin-right: 4%;
		padding-top: 20%;
		font-size: 3rem;
		line-height: 2.5;
		text-shadow: 0 0 10px #fff;
	}

	.top-main-wrap .fix h2 img {
		width: 250px;
	}

	.top-main-wrap .fix h2 span {
		color: #CA2420;
	}

	.swiper-slide-active .slide-img,
	.swiper-slide-duplicate-active .slide-img,
	.swiper-slide-prev .slide-img {
		animation: zoomUp 10s linear 0s 1 normal both;
	}

	.slide-img img {
		display: block;
		width: 100%;
	}

	.pickup {
		display: block;
		padding: 20px 0;
	}

	.pickup .fix-1200 {
		display: block;
		background: #f4f1ee;
		padding: 15px;
	}

	.pickup dl {
		display: block;
	}

	.pickup dt {
		display: block;
		padding-bottom: 10px;
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.pickup dd {
		display: block;
		font-size: 1.4rem;
		line-height: 1.6;
	}
}

@media screen and (min-width: 768px) {
	.top-main-wrap {
		display: block;
		width: 100%;
		padding-top: 150px;
		position: relative;
		overflow: hidden;
		min-width: 1300px;
	}

	.top-main-wrap .fix {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		z-index: 20;
	}

	.top-main-wrap .fix h2 {
		max-width: 1300px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 25%;
		font-size: 7rem;
		line-height: 2.5;
		text-shadow: 0 0 10px #fff;
	}

	.top-main-wrap .fix h2 span {
		color: #CA2420;
	}

	.slide_wrap {
		margin-left: 20%;
		height: 800px;
	}

	/*.top-main-wrap .fix h2 img {
		filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.9));
	}*/
	.swiper-slide-active .slide-img,
	.swiper-slide-duplicate-active .slide-img,
	.swiper-slide-prev .slide-img {
		animation: zoomUp 10s linear 0s 1 normal both;
	}

	.slide-img img {
		display: block;
		width: 100%;
	}
}

@media screen and (min-width: 768px) and (max-width: 1299px) {
	.top-main-wrap .fix h2 {
		margin-left: 4%;
		margin-right: 4%;
	}
}



/* ==================================================
	topbox01
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox01 {
		display: block;
		position: relative;
		padding-top: 30px;
		overflow: hidden;
	}

	.topbox01 .flex {
		display: block;
	}

	.topbox01 .txt {
		display: block;
		flex-basis: 38%;
		position: relative;
		padding-bottom: 25px;
	}

	.topbox01 .txt .pad {
		position: relative;
	}

	.topbox01 .txt h2 {
		display: block;
		font-size: 2.6rem;
		line-height: 1.7;
		letter-spacing: 1px;
		position: relative;
		margin-bottom: 20px;
	}

	.topbox01 .txt p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.7;
		margin-bottom: 20px;
	}

	.topbox01 .txt .bt {
		display: block;
		max-width: 245px;
		margin-left: auto;
		margin-right: auto;
	}

	.topbox01 figure {
		display: block;
		flex-basis: 54%;
	}

	.topbox01 figure img {
		width: 100%;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.topbox01 {
		display: block;
		position: relative;
		padding-top: 70px;
		overflow: hidden;
	}

	.topbox01 .flex {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}

	.topbox01 .txt {
		display: block;
		flex-basis: 38%;
		position: relative;
		padding-top: 20px;
	}

	.topbox01 .txt .pad {
		position: relative;
	}

	.topbox01 .txt h2 {
		display: block;
		font-size: 4.2rem;
		line-height: 1.7;
		letter-spacing: 2px;
		padding-left: 50px;
		padding-top: 20px;
		position: relative;
		margin-bottom: 30px;
	}

	.topbox01 .txt h2::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 6px;
		height: 150px;
		background: #ececec;
	}

	.topbox01 .txt p {
		display: block;
		padding-left: 50px;
		font-size: 1.8rem;
		line-height: 2;
		margin-bottom: 25px;
	}

	.topbox01 .txt .bt {
		display: block;
		padding-left: 50px;
		max-width: 245px;
	}

	.topbox01 figure {
		display: block;
		flex-basis: 54%;
	}

	.topbox01 figure img {
		width: 100%;
	}
}

@media print,
screen and (min-width: 640px) and (max-width: 1200px) {
	.fix-1200 {
		margin-left: 4%;
		margin-right: 4%;
	}
}

@media print,
screen and (min-width: 640px) and (max-width: 1100px) {
	.fix-1100 {
		margin-left: 4%;
		margin-right: 4%;
	}
}

@media print,
screen and (min-width: 640px) and (max-width: 1000px) {
	.fix-1000 {
		margin-left: 4%;
		margin-right: 4%;
	}
}

/* ========== end △ */


/* ==================================================
	topbox02
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox02 {
		display: block;
		position: relative;
		padding-top: 35px;
	}

	.topbox02 .bg {
		display: block;
		background: url("../images/tp2-bg.jpg") top center no-repeat #fbdad0;
		background-size: 100% auto;
		padding-top: 35px;
		padding-bottom: 35px;
	}

	.topbox02 .block01 {
		display: block;
		margin-bottom: 30px;
	}

	.topbox02 .bord {
		display: block;
		background: #FFF;
		position: relative;
		background: #FFF;
		border: #CA2420 solid 1px;
		padding-top: 45px;
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 20px;
	}

	.topbox02 .bord .num {
		position: absolute;
		left: 0;
		right: 0;
		top: -33px;
		margin: auto;
		width: 110px;
	}

	.topbox02 .bord h3 {
		display: block;
		text-align: center;
		position: relative;
		font-size: 2.6rem;
		line-height: 1;
		padding-bottom: 20px;
		margin-bottom: 25px;
	}

	.topbox02 .bord h3::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 35px;
		height: 2px;
		background: #CA2420;
	}

	.topbox02 .block01 .list {
		display: block;
	}

	.topbox02 .block01 .list li {
		display: block;
		margin-bottom: 20px;
		outline: #d1d1d1 solid 1px;
	}

	.topbox02 .block01 .list li:nth-child(3) {
		margin-bottom: 0px;
	}

	.topbox02 .block01 .list .pad {
		display: block;
		padding: 15px;
	}

	.topbox02 .block01 .list h4 {
		display: block;
		text-align: center;
		color: #CA2420;
		font-size: 1.8rem;
		line-height: 1.5;
		margin: 0px;
	}

	.topbox02 .block01 .list figure {
		display: block;
		text-align: center;
		margin: 10px 0;
	}

	.topbox02 .block01 .list figure img {
		display: inline-block;
		max-width: 140px;
	}

	.topbox02 .bord p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.8;
		padding-bottom: 12px;
	}

	.topbox02 .bord .more {
		text-align: right;
		margin: 0px !important;
	}

	.block02 {
		display: block;
		margin-bottom: 25px;
	}

	.block02 .fl {
		display: block;
		margin-bottom: 20px;
		padding-top: 20px;
	}

	.topbox02 .block02 .bord {}

	.block02 figure {
		display: block;
		margin-bottom: 35px;
	}

	.block02 figure img {
		max-width: 100%;
	}

	.topbox02 .bt {
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.topbox02 {
		display: block;
		position: relative;
		padding-top: 75px;
	}

	.topbox02 .bg {
		display: block;
		background: url("../img/tp2-bg.jpg") bottom center no-repeat rgba(255, 255, 255, 0.562);
		background-size: 100% auto;
		padding-top: 110px;
		padding-bottom: 120px;
	}

	.topbox02 .block01 {
		display: block;
		margin-bottom: 90px;
	}

	.topbox02 .bord {
		display: block;
		background: #FFF;
		position: relative;
		background: #FFF;
		border: #CA2420 solid 1px;
		padding-left: 80px;
		padding-right: 80px;
		padding-bottom: 60px;
	}

	.topbox02 .bord .num {
		position: absolute;
		left: 0;
		right: 0;
		top: -33px;
		margin: auto;
		width: 110px;
	}

	.topbox02 .bord h3 {
		display: block;
		text-align: center;
		position: relative;
		font-size: 4.8rem;
		line-height: 1;
		margin-top: 75px;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	.topbox02 .bord h3::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 35px;
		height: 2px;
		background: #CA2420;
	}

	.topbox02 .block01 .list {
		display: flex;
		justify-content: space-between;
	}

	.topbox02 .block01 .list li {
		display: block;
		margin-left: 40px;
		width: calc((100% - (40px * 2)) / 3 - .01px);
		outline: #d1d1d1 solid 1px;
	}

	.topbox02 .block01 .list li:nth-child(1) {
		margin-left: 0px;
	}

	.topbox02 .block01 .list .pad {
		display: block;
		padding: 30px;
	}

	.topbox02 .block01 .list h4 {
		display: block;
		text-align: center;
		color: #CA2420;
		font-size: 2.4rem;
		line-height: 1.5;
		margin: 0px;
	}

	.topbox02 .block01 .list figure {
		display: block;
		text-align: center;
		margin: 10px 0;
	}

	.topbox02 .block01 .list figure img {
		display: inline-block;
		max-width: 100%;
		height: 100px;
	}

	.topbox02 .bord p {
		display: block;
		font-size: 1.6rem;
		line-height: 1.6;
		padding-bottom: 22px;
	}

	.topbox02 .bord .more {
		text-align: right;
		margin: 0px !important;
	}

	.block02 {
		display: flex;
		justify-content: space-between;
		padding-bottom: 80px;
	}

	.block02 .fl {
		display: block;
		flex-basis: 48%;
	}

	.topbox02 .block02 .bord {
		padding-left: 50px;
		padding-right: 50px;
		padding-bottom: 50px;
	}

	.block02 figure {
		display: block;
		margin-bottom: 35px;
	}

	.block02 figure img {
		max-width: 100%;
	}

	.topbox02 .bt {
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ========== end △ */


/* ==================================================
	topbox03
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox03 {
		display: block;
		position: relative;
		padding: 30px 0 30px 0;
	}

	.topbox03 .inner {
		position: relative;
		padding-bottom: 210px;
	}

	.topbox03 .inner::after {
		position: absolute;
		right: 0;
		bottom: 0;
		content: "";
		background: url("../img/recruit.jpg") top center no-repeat;
		background-size: cover;
		width: 100%;
		height: 190px;
	}

	.topbox03 .inner h3,
	.topbox03 .inner p {
		position: relative;
		z-index: 5;
	}

	.topbox03 .inner h3 {
		font-size: 2.8rem;
		line-height: 1.6;
		letter-spacing: 1px;
		margin-bottom: 25px;
	}

	.topbox03 .inner p {
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 25px;
	}

	.topbox03 .inner .bt {
		margin-left: auto;
		margin-right: auto;
		max-width: 250px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.topbox03 {
		display: block;
		position: relative;
		padding: 120px 0 130px 0;
	}

	.topbox03 .inner {
		position: relative;
		padding-top: 50px;
		padding-bottom: 60px;
	}

	.topbox03 .inner::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		background: url("../img/recruit.jpg") top center no-repeat;
		background-size: cover;
		width: 60%;
		height: 100%;
	}

	.topbox03 .inner h3,
	.topbox03 .inner p {
		position: relative;
		z-index: 5;
		padding-left: 55px;
		max-width: 470px;
	}

	.topbox03 .inner h3 {
		font-size: 4.2rem;
		line-height: 1.6;
		letter-spacing: 2px;
		padding-top: 20px;
		padding-bottom: 14px;
		margin-bottom: 25px;
	}

	.topbox03 .inner h3::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		background: #ececec;
		width: 6px;
		height: 150px;
	}

	.topbox03 .inner p {
		font-size: 1.8rem;
		line-height: 2;
		max-width: 420px;
		margin-bottom: 40px;
	}

	.topbox03 .inner .bt {
		margin-left: 55px;
		max-width: 250px;
	}
}

/* ========== end △ */



#jquery-tab-pager-navi {
	display: none !important;
}