@charset "UTF-8";
/* CSS Document */
/*  TOP ファーストビュー（メインスライド+カルーセルバナー）  */

/*---------------------------------------------
 MAIN SLIDER SECTION
---------------------------------------------*/
/* ========== box全体 ========== */
.c-container {
	width: 100%;
	position: relative;
}
.swiper-container {
	width: 100%;
	height: calc(100vw / 1.5);
	max-height: 80vh;
	min-height: 600px;
	float: left;
	position: absolute;
	z-index: 1;
}
.swiper-container-thumbnail {
	width: 35%;
	float: left;
	overflow: hidden;
	cursor: pointer;
	position: relative;
	left: 60%;
	z-index: 1;
}
.swiper-wrapper {
	width: 100%;
    display: flex;
	box-sizing: content-box;
	transition-property: transform;
	transform: translate3d(0,0,0);
}
.swiper-container .swiper-wrapper {
	will-change: transform;
	position: fixed;
	z-index: 1;
}
.swiper-container-thumbnail .swiper-wrapper {
	height: calc(100vw / 1.5);
	max-height: 80vh;
	min-height: 600px;
	position: relative;
}
.main_bg {
	background: #ffffff;
	position: relative;
	z-index: 2;
}

/* ========== slide本体 ========== */
.swiper-slide {
	width: 100%;
	height: calc(100vw / 1.5);
	max-height: 80vh;
	min-height: 600px;
	overflow: hidden;
	flex-shrink: 0;
	position: relative;
}
/*mainSlide*/
.swiper-container .swiper-slide span {
	background-repeat: no-repeat;
	background-size: 100vw;
	background-position: right center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
}
.swiper-container .swiper-slide span.img01{
	background-image:url("/jq/img/img01.webp?20220719");
}
.no-webp .swiper-container .swiper-slide span.img01{
	background-image:url("/jq/img/img01.jpg?20220719");
}
.loaded .swiper-container .swiper-slide span.img02{
	background-image:url("/jq/img/img02.webp?20220719");
}
.no-webp .loaded .swiper-container .swiper-slide span.img02{
	background-image:url("/jq/img/img02.jpg?20220719");
}
.loaded .swiper-container .swiper-slide span.img03{
	background-image:url("/jq/img/img03.webp?20220719");
}
.no-webp .loaded .swiper-container .swiper-slide span.img03{
	background-image:url("/jq/img/img03.jpg?20220719");
}
.loaded .swiper-container .swiper-slide span.img04{
	background-image:url("/jq/img/img04.webp?20220719");
}
.no-webp .loaded .swiper-container .swiper-slide span.img04{
	background-image:url("/jq/img/img04.jpg?20220719");
}
/*textBox*/
.swiper-container-thumbnail .swiper-slide {
	display: table;
	opacity: 0;
	z-index: 0;
}
.swiper-container-thumbnail .swiper-slide dl {
	display: table-cell;
	vertical-align: middle;
	cursor:default;
}
.swiper-container-thumbnail .swiper-slide dl em {
	padding: 60px;
	background: #fff;
	display: inline-block;
}
.swiper-container-thumbnail .swiper-slide dl em dt {
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 20px;
}
.swiper-container-thumbnail .swiper-slide dl dt span {
	font-family: 'Jost', sans-serif;
    letter-spacing: 0.2em;
    border-bottom:1px solid #000;
}
.swiper-container-thumbnail .swiper-slide dl h2 {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 20px;
	font-feature-settings : "palt";
}
.swiper-container-thumbnail .swiper-slide dl dd {
	font-size: 0.9rem;
}
.swiper-container-thumbnail .swiper-slide .mainslide_cont_btn {
	margin-top: 20px;
}
.swiper-container-thumbnail .swiper-slide .mainslide_cont_btn span {
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}
.swiper-container-thumbnail .swiper-slide .mainslide_cont_btn span a {
	margin: 0 auto;
	text-decoration: none;
	display: block;
	border: 1px solid #999;
	padding: 8px 20px;
	box-sizing: border-box;
	transition: all .3s;
}
.swiper-container-thumbnail .swiper-slide .mainslide_cont_btn span a:hover{
	color: #fff;
	text-decoration:none;
	background-color: #000;
	border-color: #000;
}
.swiper-container-thumbnail .swiper-slide .mainslide_cont_btn span a i {
	font-size: 120%;
	color: #8e451c;
	text-decoration: none;
	line-height: 1.3;
	float: right;
}
.swiper-container-thumbnail .swiper-slide .mainslide_cont_btn span a:hover i{
	color: #fff;
}
/* slideEfect */
.swiper-container .swiper-slide-duplicate span.img01 {
	display: none !important;
}
.swiper-container .swiper-slide span.img01,
.swiper-container .swiper-slide span.img02,
.swiper-container .swiper-slide span.img03,
.swiper-container .swiper-slide span.img04 {
	width: 100%;
}
.swiper-container .swiper-slide.swiper-slide-active span.img01,
.swiper-container .swiper-slide.swiper-slide-active span.img02,
.swiper-container .swiper-slide.swiper-slide-active span.img03,
.swiper-container .swiper-slide.swiper-slide-active span.img04 {
	width: 0;
	animation: curtain 1.0s linear 0s forwards;
}
@keyframes curtain {
	0% {
		width: 0;
		right: 0;
	}
	100% {
		width: 100%;
		transform: translateX(0);
		right: 0;
	}
}
.swiper-container .swiper-slide.swiper-slide-next span.img01,
.swiper-container .swiper-slide.swiper-slide-next span.img02,
.swiper-container .swiper-slide.swiper-slide-next span.img03,
.swiper-container .swiper-slide.swiper-slide-next span.img04 {
	width: 0;
}
.swiper-container-thumbnail .swiper-slide-duplicate {
	opacity: 0 !important;
}
.swiper-container-thumbnail .swiper-slide-active {
	z-index: 9;
	animation: slideTextFade 1.3s ease 0s 1 normal !important;
}
@keyframes slideTextFade {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* arrow */
.swiper-button-next,
.swiper-button-prev {
	width: 27px;
	height: 44px;
	background-position: center;
	background-repeat: no-repeat;
	cursor: pointer;
	position: absolute;
	top: 50%;
	z-index: 10;
}
.swiper-button-next{
	background-image:url("/jq/img/sride_prev_pn.svg");
	right: 10px;
	left: auto;
}
.swiper-button-prev{
	background-image:url("/jq/img/sride_next_pn.svg");
	right: auto;
	left: 10px;
}
/* pagerThumbnail */
.swiper-pagination-bullets {
	width: 100%;
    text-align: center;
	display: flex;
	justify-content: space-around;
	align-items: center;
    transition: .3s;
    transform: translate3d(0,0,0);
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 10;
}
.swiper-pagination-bullet{
	width:24%;
	height: calc(8.05vw * 2 / 3);
	border: 1px solid #999;
	background: #000000;
	border-radius: 0;
	display: block;
	cursor:pointer;
	opacity: 1;
	margin: 0;
}
.swiper-pagination-bullet span {
	width: 100%;
	height: 100%;
	display: table;
	opacity:0.4;
}
.swiper-pagination-bullet span:after {
	content: '';
	color: #ffffff;
	font-family: 'Jost', sans-serif;
	font-size: 10px;
	font-weigt: bold;
	text-align: center;
	line-height:1.5;
	vertical-align: middle;
	display: table-cell;
	text-shadow:
		1px 1px 3px rgba(0, 0, 0, 0.3),
		1px 0px 3px rgba(0, 0, 0, 0.3),
		1px -1px 3px rgba(0, 0, 0, 0.3),
		0px -1px 3px rgba(0, 0, 0, 0.3),
		-1px -1px 3px rgba(0, 0, 0, 0.3),
		-1px 0px 3px rgba(0, 0, 0, 0.3),
		-1px 1px 3px rgba(0, 0, 0, 0.3),
		0px 1px 3px rgba(0, 0, 0, 0.3);
}
.swiper-pagination-bullet:nth-child(1) span {
	background: url('/jq/img/img01.webp?20251008') no-repeat center;
	background-size: cover;
}

.no-webp .swiper-pagination-bullet:nth-child(1) span {
	background-image: url('/jq/img/img01.jpg?20251008');
	background-size: contain;
}
.swiper-pagination-bullet:nth-child(1) span:after {
	content: 'WORKS';
}

.loaded .swiper-pagination-bullet:nth-child(2) span {
	background: url('/jq/img/img02.webp')no-repeat center;
	background-size: cover;
}
.no-webp .loaded .swiper-pagination-bullet:nth-child(2) span {
	background-image: url('/jq/img/img02.jpg');
	background-size: contain;
}
.swiper-pagination-bullet:nth-child(2) span:after {
	content: 'MODEL HOUSE';
}

.loaded .swiper-pagination-bullet:nth-child(3) span {
	background: url('/jq/img/img03.webp?20251008')no-repeat center;
	background-size: cover;
}
.no-webp .loaded .swiper-pagination-bullet:nth-child(3) span {
	background-image: url('/jq/img/img03.jpg?20251008');
	background-size: contain;
}
.swiper-pagination-bullet:nth-child(3) span:after {
	content: 'SE METHOD';
}
.loaded .swiper-pagination-bullet:nth-child(4) span {
	background: url('/jq/img/img04.webp?20251008')no-repeat center;
	background-size: cover;
}
.no-webp .loaded .swiper-pagination-bullet:nth-child(4) span {
	background-image: url('/jq/img/img04.jpg?20251008');
	background-size: contain;
}
.swiper-pagination-bullet:nth-child(4) span:after {
	content: 'EVENT';
}

.swiper-pagination-bullet-active span{
	opacity: 1;
	border:1px solid #fff;
}
/* メインビジュアルここまで */


/* ========== TOPバナー ========== */
/*  TOP BANNER SECTION  */
.tp_box_banner {
	width: 100%;
	background:rgba(248,248,248,0.9);
	padding: 70px 0 50px 0;
	position: relative;
	overflow: hidden;
	margin-top: 0;
    z-index: 3;
}
/* バナー_カルーセル */
	/* box全体・見出しの設定 */
#bannerCarousel * {
	box-sizing: border-box;
}
#bannerCarousel {
	width: 100%;
	z-index: 1;
}
#bannerCarousel a {
	text-decoration: none;
}
#bannerCarousel img {
	max-width: 100%;
	display: block;
}
#bannerCarousel a img:hover {
	opacity: 1.0;
}
#bannerCarousel .slick-list {
	overflow: visible;
}
	/* スライドの設定 */
#bannerCarousel .slick-slide {
	width: 270px;
	margin: 0 12px;
}
#bannerCarousel .slick-slide .item {
	width: 100%;
	height: 270px;
	background: #ffffff;
	box-sizing: border-box;
}
#bannerCarousel .slick-slide .item {
	user-select: none;
	margin: 0;
	padding: 0;
	transition: 0.3s;
}
#bannerCarousel .slick-slide .item:hover{
	transform: translate(-3px,-3px);
	box-shadow: 3px 3px 3px 3px #ddd;
}
#bannerCarousel .slick-slide .item dl {
	height: 100%;
	position: relative;
}
#bannerCarousel .slick-slide .item dl dd img {
	width: 100%;
	display: block;
}
#bannerCarousel .slick-slide dl .cate {
	font-size: 70%;
	padding: 10px 10px 0 10px;
}
#bannerCarousel .slick-slide dl .cate span {
	font-family: 'Jost', sans-serif;
	letter-spacing: 0.1em;
	border-bottom:1px solid #000;
}
#bannerCarousel .slick-slide .item dl dt {
	font-size:0.8rem;
	box-sizing: border-box;
	color: #000000;
	padding: 5px 10px 10px 10px;
	margin-top: 2px;
	font-weight:bold;
}
#bannerCarousel .slick-slide .item dl em {
	width: 100%;
	font-size: 0.7rem;
	color: #000;
	font-weight: 700;
	padding: 7px 10px;
	display: block;
	position: absolute;
	bottom: 0;
	border-top: 1px dotted #ccc;
}
#bannerCarousel .slick-slide .item dl em i {
	color: #8e451c;
	font-size: 150%;
	float: right;
}
	/* pagerの設定 */
#bannerCarousel .slick-dots {
	margin-top: 10px;
}
#bannerCarousel .slick-dots li {
	width: auto;
	height: auto;
	padding: 0;
	margin: 0;
}
#bannerCarousel .slick-dots li button {
	width: 8px;
	height: 8px;
	margin: 5px;
	background: #D6D6D6;
	display: block;
	transition: opacity .2s ease;
	border-radius: 50%;
}
#bannerCarousel .slick-dots li.slick-active button {
	background: #869791;
}
#bannerCarousel .slick-dots li button:before {
	display: none;
}
