
@charset "utf-8";
/*@import url(https://fonts.googleapis.com/css?family=Rajdhani);*/
/* CSS Document */

/*------------------------------------------
base
------------------------------------------*/

:root {
	--main-radius: 16px;
	--main-padding: 16px;
	--main-width: 1024px;
	--main-maxwidth: 1400px;
	--main-color: #292929;
	--main-bgcolor: #fafafa;
	/*--main-buttoncolor: #f4724a;
	--main-buttoncolor2: #50d2ce;
	--main-buttoncolor3: #f16e9f;*/
}



html {
	font-size: 62.5%; /*標準サイズ*/
}
html.small {
	font-size: 50%; /*小サイズ*/
}
html.big {
	font-size: 87.5%; /*大サイズ*/
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}


body{
	background:#fafafa;
	background-size: cover;
	color: var(--main-color);
	font-size: 16px;
	line-height: 250%;
	font-family:'メイリオ', 'Meiryo', sans-serif;
}



@media all and (min-width: 1025px) {
/* 992px以上の幅の場合に適応される */
	.pc{display: block !important;}
	.sp{display: none !important;}
}

@media all and (max-width: 1024px) {
/* 991pxまでの幅の場合に適応される */
	body{
		font-size: 12px;
		line-height: 200%;
	}
	img{max-width: 100%;}
	.sp{display: block !important;}
	.pc{display: none !important;}
}


p{
    margin-bottom: 1.6rem;
}

.row{
	padding-left: 0;
	padding-right: 0;
}

small{
	/*display: block;*/
	line-height: 150%;
    font-size: 0.7rem;
}

.object-fit{
  object-fit: contain;
  font-family: 'object-fit: contain;'
}



img{
	image-rendering: -webkit-optimize-contrast;
	vertical-align: bottom;
}



.object-fit-img {
  object-fit: contain;
  font-family: 'object-fit: contain;'
}




/*-------------------------------------
filter
-------------------------------------*/
#filter{
	position: fixed;
	width: 100%;
	height: 100vh;
	background: #fff;
	z-index: 1000;
	
	animation-name: fadeInAnime;/*1で解説*/
	animation-fill-mode:forwards;/*2で解説*/
	animation-duration:1s;/*3で解説*/
	animation-timing-function:ease;/*5で解説*/
	animation-delay: 0.5s;/*6で解説*/
	animation-direction:normal;/*7で解説*/
	
}
@keyframes fadeInAnime{
  0% {
	  height: 100vh;
  }

  100% {
	  height: 0;
	  display: none;
  }
}


/*-------------------------------------
btn_p
-------------------------------------*/
.btn_p {
	text-align: center;
	margin: 0 auto;
	
}
.btn_p a.btn,
.btn_p input{
	min-width: 340px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 2rem 3rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: left;
	vertical-align: middle;
	text-decoration: none;
	color: var(--main-color);
	border-radius: 0;
	background: #fff;

	border: 1px solid var(--main-color);
	letter-spacing: 0.2em;

}

.btn_p input{
	text-align: center;
}


.btn_p a:hover,
.btn_p input:hover{
	color: #fff;
	background: var(--main-color);
}
.btn_p.btn_big a:hover{
	color: var(--main-color);
	background: #fff;
}


.btn_p a,
.submit .btn_p{
	position: relative;
}

.btn_p a:before{
	position: absolute;
	right: 3rem;
	bottom:2rem;
	content:"";
	width: 60px;
	height: 1px;
	background: var(--main-color);
}

.btn_p.btn_big a:before,
.btn_p.btn_big a:after{
	background: #fff;
}


.btn_p a:after{
	position: absolute;
	right: calc(3rem - 2px);
	bottom:calc(2rem + 6px);
	content:"";
	width: 16px;
	height: 1px;
	background: var(--main-color);
	transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}



.btn_p a:hover:before,
.btn_p a:hover:after{
	background: #fff;
}

.btn_p.btn_big a:hover:before,
.btn_p.btn_big a:hover:after{
	background: var(--main-color);
}

.btn_p a:hover:before{
	animation-name: BtnArrowAnime_1;
	animation-fill-mode:backwards;
	animation-duration:0.5s;
	animation-timing-function:ease;
	animation-direction:normal;
}
.btn_p a:hover:after{
	animation-name: BtnArrowAnime_2;
	animation-fill-mode:backwards;
	animation-duration:0.5s;
	animation-timing-function:ease;
	animation-direction:normal;
}



.btn_p.btn_big a{
	min-width: 700px;
	text-align: center;
	background: var(--main-color);
	color: #fff;
	letter-spacing: 0;
	font-family: 'Oswald', sans-serif;
}

.btn_p a:hover{
	background: var(--main-color);
	color: #fff;
}


.btn_p a:hover:before,
.btn_p a:hover:after{
	background: #fff;
}

.btn_p.btn_big a span{
	font-size: 4rem;
}



@keyframes BtnArrowAnime_1{
	0% {right: 6rem;}
	100% {right: 3rem;}
}
@keyframes BtnArrowAnime_2{
	0% {right: calc(6rem - 2px);}
	100% {right: calc(3rem - 2px);}
}



@media all and (max-width: 1024px) {
	.btn_p a.btn,
	.submit .btn_p,
	.btn_p input,
	.btn_p.btn_big a{
		width: 100%;
		min-width: 100%;
	}
	
	
}




/*-------------------------------------
flexbox
---------------------------------------*/
.flexbox{
    display: flex;
    flex-wrap: wrap;
}









/*-------------------------------------
header
-------------------------------------*/


	
.header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 40px;
	z-index: 100;
}
.global-nav {
	position: fixed;
	right: -110%; /* これで隠れる */
	top: 0;
	width: 400px; /* スマホに収まるくらい */
	height: 100vh;
	padding-top: 150px;
	background-color: #000;
	transition: all .6s;
	z-index: 200;
	/*overflow-y: auto; /* メニューが多くなったらスクロールできるように */
	overflow: hidden;
}
.hamburger {
	position: absolute;
	right: 40px;
	top: 40px;
	width: 60px; /* クリックしやすいようにちゃんと幅を指定する */
	height: 60px; /* クリックしやすいようにちゃんと高さを指定する */
	cursor: pointer;
	z-index: 300;
	background: #fafafa;
}
.global-nav__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.global-nav__item a {
	display: block;
	padding: 8px 0;
	text-decoration: none;
	color: #fff;
}
.hamburger__line {
	position: absolute;
	left: 8px;
	width: calc(100% - 16px);
	height: 6px;
	background-color: #000;
	transition: all .6s;
}
.hamburger__line--1 {
	top: 14px;
}
.hamburger__line--2 {
	top: 28px;
}
.hamburger__line--3 {
	top: 42px;
}
/*
.black-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 100;
	background-color: #000;
	opacity: 0;
	visibility: hidden;
	transition: all .6s;
	cursor: pointer;
}
*/
/* 表示された時用のCSS */


.nav-open .hamburger {
	background: #000;
}

.nav-open .global-nav {
	right: 0;
}
.nav-open .black-bg {
	opacity: .8;
	visibility: visible;
}
.nav-open .hamburger__line--1 {
	transform: rotate(45deg);
	top: 20px;
	background-color: #fff;
}
.nav-open .hamburger__line--2 {
	width: 0;
	left: 50%;
	background-color: #fff;
}
.nav-open .hamburger__line--3 {
	transform: rotate(-45deg);
	top: 20px;
	background-color: #fff;
}


.header h1{
	padding: 40px 0 0 40px;
	width: 120px;
}
.header h1 img{
	height: 84px;
}

header .global-nav__list{
	margin: 0 40px;
	font-family: 'Oswald', sans-serif;
	font-style: normal;
	font-size: 2.8em;
	line-height: 1em;
}

header .global-nav__list span{
	display: block;
}

@media all and (max-width: 767px) {
	.global-nav {
		width: 100%;
	}
  
  .header h1 img{
    height: 60px;
  }
}


/*  logo
/--------------------------------- */



@media all and (max-width: 1024px) {
/* 767pxまでの幅の場合に適応される */
	.header{
		height: 60px;
		width: 100%;
	}
	
	.header h1{
		padding: var(--main-padding) 0 0 var(--main-padding);
		margin: 0;
	}
	
	.hamburger{
		bottom: 0;
		right: var(--main-padding);
		top: var(--main-padding);
		left:auto;
	}
	.global-nav{
		padding-top: 100px;
	}
	header .global-nav__list{
		margin-left: 5%;
	}
	
	header .global-nav__list{
		font-size: 4em;
	}
	
	header .facebook{
		margin-left: 5%;
	}
}






/*------------------------------------
main_img
------------------------------------*/

/*---main_img------------------------*/
#main_img{
    position: relative;
	width: 100%;
	margin: 0 auto;
}

#main_img.content,
#main_img.content #main_img2{
    height: 350px;
}

#main_img.common{
    height: 200px;
	background: #ebebeb;
}

#main_img #main_img2{
	position:relative;
    width: 100%;
    height: 100%;
    bottom: 0;
    overflow: hidden;
    z-index: 1;
}
#main_img #main_img2 ul{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1
}
#main_img #main_img2 li{
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
#main_img.index #main_img2 li:nth-child(1){background: url("../../images/header_251220_3.jpg") center no-repeat; background-size: cover;}
#main_img.index #main_img2 li:nth-child(2){background: url("../../images/header_251220_1.jpg") center no-repeat; background-size: cover;}
#main_img.index #main_img2 li:nth-child(3){background: url("../../images/header_251220_2.jpg") center no-repeat; background-size: cover;}
#main_img.index #main_img2 li:nth-child(4){background: url("../../images/header_251220_4.jpg") center no-repeat; background-size: cover;}
#main_img.index #main_img2 li:nth-child(5){background: url("../../images/header_251220_5.jpg") center no-repeat; background-size: cover;}



#main_img.content_main_img{
    margin-top: 50px;
    height: 190px;
}

#main_img .header_news{
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 10;
	background-color:rgba(255,255,255,0.80);
	font-size: 0.7em;
	padding: 1em 5%;
	font-weight: bold;
	line-height: 1.5em;
}

#main_img .header_news span{
	display: block;
}

#main_img,
#main_img #main_img2 li{
	/*height: calc(100vh - 90px);*/
	height: 100vh;
}




	
@media all and (min-width: 1025px) {
/* 992px以上の幅の場合に適応される */
	#main_img{
		width:100%;
	}
	

}



@media all and (max-width: 1024px) {
/* 767pxまでの幅の場合に適応される */
	    
	#main_img #main_img2{
		background-size: cover;
	}
    #main_img.index,
    #main_img.index #main_img2{
        height: 100vh;
        width: 100%;
    }
    #main_img.content,
    #main_img.content #main_img2{
        /*height: 200px;*/
        width: 100%;
    }

    #main_img.common{
        height: 160px;
        width: 100%;
    }
	
    #main_img #main_img2{
		height: 100vh;
    }
    
	#main_img .inner{
		font-size: 2em;
	}
    #main_img.content .inner{
        bottom:2em;
    }
    
}






/*------------------------------------
pagination
-------------------------------------*/
.pagination{
	font-size: 2rem;
}

.page-item{
	border: #000 solid 1px;
}

.page-item.disabled {
	background: #000;
	clear: #fff;
}
.pagination .page-link,
.page-item.disabled .page-link{
	color: var(--main-bg);
	border: none; 
	padding: 8px;
}

.page-item.disabled .page-link{
	background: var(--main-bg);
	color: #fff;
}

.pagination .page-link:hover{
}







/*------------------------------------
news
------------------------------------*/
#news{
	max-width: var(--main-maxwidth);
	margin: 0 auto;
	padding: var(--main-padding);
}

#news a{
	color: var(--main-color);
	text-decoration: none;
}

#news a:hover{
	text-decoration: underline;
}


#news p{
	margin: 0;
}





/*------------------------------------
container
------------------------------------*/


#container{
	position: relative;
	z-index: 2;
	background: #fafafa;
	/*padding-bottom: 320px;*/
}

#container.content{
	padding-top: 80px;
}



@media all and (max-width: 1024px) {
	
	#container{
		padding-bottom: 0;
	}

}



/*------------------------------------
wrapper
------------------------------------*/
.wrapper{
	max-width: var(--main-maxwidth);
	margin: 0 auto;
	padding: var(--main-padding);
	padding-bottom: 80px;
}

.wrapper.wrapper_s{
	max-width: 1024px;
}




/*------------------------------------
content_section
------------------------------------*/

section.content_section{
	padding-bottom: 8em;
}







/*------------------------------------
index_about_box
------------------------------------*/


#index_about_box{
	background: url("../../images/about_back_260224.jpg") center no-repeat;
	background-size: cover;
	height: calc(100vh - 90px);
	height: 100vh;
	position: relative;
}


#index_about_box .text_box{
	width: 500px;
	position: absolute;
	left: 50%;
	bottom: -100px;
	background: #fff;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	padding: 80px;
}




@media all and (max-width: 1024px) {
	#index_about_box .text_box{
		width: 100%;
		padding: 10%;
	}
}



/*------------------------------------
index_shop_box
------------------------------------*/
#index_shop_box .shop_list p{
	margin: 0;
	float: left;
	width: calc(100% / 3);
}

#index_shop_box .shop_list p:nth-child(4){
	margin-left: calc((100% / 3) / 2 );
}

#index_shop_box .shop_list p img{
	display: block;
	padding: 40px;
}

#index_shop_box .online_banner {
	margin-top: 160px;
}

#index_shop_box .online_banner a{
	background: url("../../images/online_back.jpg") center no-repeat;
	background-size: cover;
	width: 100%;
	height: 460px;
	display: block;
	position: relative;
}

#index_shop_box .online_banner a span{
	display: block;
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	
	color: #fff;
	font-family: 'Oswald', sans-serif;
	font-size: 6rem;
	
	text-align: center;
	line-height: 1em;
}




@media all and (max-width: 1024px) {
	#index_shop_box .shop_list p{
		width: 100%;
		float: none;
		padding: 0;
		margin: 0 !important;
	}
	
	#index_shop_box .online_banner{
		
	}
}




/*------------------------------------
index_contact_box
-------------------------------------*/
#index_contact_box .forbrand,
#index_contact_box .recruit{
	width: 50%;
	float: left;
	text-align: center;
	color: #fff;
	height: 450px;
	position: relative;
}

#index_contact_box .forbrand .box,
#index_contact_box .recruit .box{
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#index_contact_box .forbrand h2,
#index_contact_box .recruit h2{
	padding-bottom: 40px;
}


#index_contact_box .forbrand{
	background: url("../../images/forbland_banner_back.jpg") center no-repeat;
}

#index_contact_box .recruit{
	background: url("../../images/recruit_banner_back.jpg") center no-repeat;
}


@media all and (max-width: 1024px) {
	#index_contact_box .forbrand,
	#index_contact_box .recruit{
		width: 100%;
		float: none;
	}
	
	#index_contact_box .forbrand .box,
	#index_contact_box .recruit .box{
		width: 80%;
	}
}




/*------------------------------------
info_box
-------------------------------------*/

.info_box.row{
	padding-bottom: 80px;
}

.info_box .box a{
	display: block;
	color: var(--main-color);
	line-height: 1.5em;
	padding-bottom: 2em;
}

.info_box .box a p{
	margin: 0;
}

.info_box .box a p.date{
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

.info_box .box a p.thum{
	margin-bottom: 1em;
}



/*------------------------------------
info_box
-------------------------------------*/
#index_info_box .box:nth-child(n+5),
#index_info_box nav{
	display: none;
}



/*------------------------------------
info_ul
-------------------------------------*/

.info_ul{
	margin: 0;
	padding: 0;
}

.info_ul li{
	list-style: none;
	padding: 0;
	margin: 0;
}

.info_ul li a{
	display:block;
	padding: 1em 0;
}

.info_ul li p{
	margin: 0;
}

.info_ul li p.date{
	font-size: 0.8rem;
	line-height: 1em;
}




/*------------------------------------
info_detail
------------------------------------*/
.info_detail .date{
	/*font-size: 0.8rem;*/
	line-height: 1em;	
}

.info_detail h3{
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 40px;
}


.info_detail .text_box{
	margin-bottom: 120px;
}







/*------------------------------------
table1
-------------------------------------*/
table.table1{
	width: 100%;
}

table.table1 thead th{
	font-size: 1.2em;
}
table.table1 tbody tr{
	border-bottom: var(--main-color) solid 1px;
}





/*------------------------------------
shop_content
-------------------------------------*/
.shop_content .text_box{
	padding-bottom: 40px;
}

.shop_content img.icon{
	width: 24px;
}

.shop_content ifream{
	width: 100%;
	height: 300px;
}





/*------------------------------------
customer_content
-------------------------------------*/

.customer_content .copy{
	text-align: center;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.8em;
	letter-spacing: 0.2em;
}




/*------------------------------------
h
-------------------------------------*/

h2.content_h2{
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-size: 5rem;
	padding-bottom: 80px;
	margin: 0;
}

h3.content_h3{
	font-weight: bold;
	font-size: 2rem;
	padding-bottom: 1em;
}

h4.content_h4{
	font-weight: bold;
	font-size: 1.5rem;
}

h3.content_h3 img.logo.lotusleaf{width: 200px;}
h3.content_h3 img.logo.circle{width: 145px;}
h3.content_h3 img.logo.heritagestore{width: 200px;}
h3.content_h3 img.logo.green{width: 200px;}
h3.content_h3 img.logo.lasen{width: 122px;}


@media all and (max-width: 1024px) {
	h2.content_h2{
		padding-bottom: 1em;
	}	
}



/*------------------------------------
cp_form
-----------------------------------*/
.cp_form{
	background: #fff;
	padding: 40px;
}



/*------------------------------------
form_box
-----------------------------------*/


.form_box .title {
	display: block;
	width: 100%;
}
.form_box .title span{
	color: #f44a62;
	font-size: 1rem;
	font-weight: bold;
	margin-left: 8px;
}

.form_box input[type=text],
.form_box input[type=number],
.form_box select,
.form_box textarea{
	border: #ccc solid 1px;
	padding: 8px 16px;
}
.form_box .box .radio_label{
	padding-right: 24px;
}

.form_box input.name,
.form_box input.birthday,
.form_box input.mail,
.form_box select,
.form_box textarea{
	width: 100%;
}

.form_box input[type=radio] label{
	margin-right: 8px;
}
.form_box .box .radio_label input,
.form_box .box .check_label input,
.form_box .box .birthday_label input{
	margin-right: 8px;
}

.form_box .box .radio_label,
.form_box .box .birthday_label{
	padding-right: 24px;
}

.form_box .box{
	padding-bottom: 32px;
}

.form_box .box .birthday_label input{
	text-align: center;
	width: 100px;		
}

.form_box .box .check_div .check_label{
	width: 32.5%;
}








/*------------------------------------
link
-----------------------------------*/
.link{
	position: relative;
	top: -200px;
	display: block;
}






/*----------------------------------
js-animation
------------------------------------*/

.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}






/*------------------------------------
footer
------------------------------------*/

footer{
	position: relative;
	z-index: 2;
	background: #ebebeb;
	padding: 80px 0;
}

footer ul{
	margin: 0;
	padding: 0;
	padding-bottom: 40px;
}

footer ul li{
	list-style: none;
	margin: 0;
	padding: 0;
}

footer ul li{
	font-weight: bold;
}

footer ul li,
footer ul li a{
	color: var(--main-color);
}

footer ul.sub_link{
	margin: 0;
	padding: 0;
}
footer ul.sub_link li{
	font-weight: normal;
	font-size: 1.4rem;
}


footer .address{
	text-align: center;
}

footer .address address{
	font-size: 0.8rem;
	opacity: 0.5;
}

footer .logo img{
	width: 140px;
}


@media all and (max-width: 1024px) {
	
	footer{
		padding-bottom: 40px;
	}
	
	footer .address{
		padding-top: 40px;
	}
	
}

/*-----------------------------------
pageup
-----------------------------------*/

#pageup {
    letter-spacing: 0;
    display: block;
    position: fixed;
	z-index: 99;
    bottom: 1rem;
    right: 50px;
}

#pageup a {
    position: relative;
    display: block;
    font-size: 10px;
    text-align: center;
    font-weight: normal;
    line-height: 112px;
    width: 80px;
    height: 80px;

    background: #000;
	border: #fff solid 1px;
    
    color: #fff;
	cursor:pointer;
	
	text-decoration:none;
	letter-spacing:0.2rem;
	padding: 0;
	
	transition: 0.5s;
}

#pageup a:before{
	content:"";
	display: block;
	width:25px;
	height:25px;
	position: absolute;
	left:27px;
	top:26px;
	margin-top:-6px;

	border-top:6px solid #fff;
	border-right:6px solid #fff;
	-webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}

#pageup a:hover , #pageup a:visited{
	text-decoration: none;
}


@media all and (min-width: 992px) {
/* 992px以上の幅の場合に適応される */


	#pageup a:hover {
		opacity: 0.5;
	}
	#pageup a:hover:before{
		border-color:#fff;
	}

}
@media all and (max-width: 1024px) {
/* 767pxまでの幅の場合に適応される */
	
	.insta_btn {
		zoom:1;
	}
    #pageup{
        bottom:1rem;
		right:1rem;
    }
}



