@charset "utf-8";

/* STORE
-------------------------------------------------------------------*/
.wrap {
	min-width:1024px;
	position:relative;
	overflow:hidden;
}

.bogo-language-switcher {
	display: flex;
	align-items: center;
	gap: 0.3em;
	margin:0 20px 0 0;
}

.t-headerCenter .menuBtn__link::after {
	content: "LANG";
}

.widget > ul.bogo-language-switcher {
	border: none;
	text-align: center;
}

ul.bogo-language-switcher li {
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height:28px;
	font-size: 12px;
	border:1px solid #fff;
	overflow: visible;
	cursor: pointer;
	font-weight:300;
}

ul.bogo-language-switcher li.en{
	order:2;
}

ul.bogo-language-switcher li.current {
	background: #fff;
}

ul.bogo-language-switcher li span {
	position: relative;
	display: block;
	text-align: center;
	line-height: 30px;
	color: #fff;
}

.active ul.bogo-language-switcher li span a{
	color:#0D0D0D !important;
}

ul.bogo-language-switcher li span.bogoflags{
	display:none;
}

ul.bogo-language-switcher li.current  a {
	display: block;
	color:#0D0D0D;
}

main.kaso{
    width: 100%;
	background:none !important;
    min-height: inherit;
}

.kaso{
	color:#fff;
}

.kaso img,
#nbc-footer img,
.employee img{
	max-width:100%;
	height:auto;
}

.kaso a{
	transition: all 0.3s;
}

.kaso .wd{
	max-width:1157px;
	margin:0 auto;
}

.kaso .m-tit{
	font-size:36px;
	font-weight:500;
	text-align:center;
	letter-spacing:0.2em;
	padding:50px 0 20px 0;
	position:relative;
	line-height:1.6;
}

.kaso .m-tit:after,
.kaso .m-txt2:after{
	content:"";
	width:1px;
	height:32px;
	background:rgba(255,255,255,0.4);
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:0 auto;
}

.kaso .m-txt{
	font-size:14px;
	font-weight:300;
	letter-spacing:0.2em;
	position:relative;
	line-height:2.6;
}

.kaso .m-txt2{
	padding:70px 0 0 0;
}

.kaso .mv .scroll{
	position:absolute;
	left:60px;
	bottom:20px;
}

.scroll-indicator {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	color:rgba(255,255,255,1);
	letter-spacing: 0.15em;
}

.scroll-text {
	writing-mode: vertical-rl;
	font-size: 10px;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.scroll-indicator::after {
	content: "";
	width: 1px;
	height: 48px;
	background: rgba(255, 255, 255, 0.2);
	position: relative;
	display: block;
}

.scroll-indicator::before {
	content: "";
	position: absolute;
	bottom: 0;
	width: 1px;
	height: 48px;
	background: #fff;
	animation: scroll-line 2s cubic-bezier(1, 0, 0, 1) infinite;
	z-index: 1;
}


@keyframes scroll-line {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: top;
  }
  51% {
    transform: scaleY(1);
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
}

.kaso .mv{
	position:relative;
	height: 100vh;
	min-height:760px;
	width: 100%;
	text-align:center;
}

.kaso .mv .logo{
	padding:140px 0 0 0;
}

.kaso .mv h1{
	font-size:36px;
	font-weight:500;
	padding:10px 0 40px 0;
	color:#fff;
	line-height:1.6;
	letter-spacing:0.2em;
}

.kaso .mv h2{
	font-size:16px;
	font-weight:500;
	letter-spacing:0.2em;
	line-height:1.6;
}

.kaso .mv .video{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.kaso .mv .video video{
    min-width: 100%;
    min-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
}

.kaso .explanation{
	background:#0D0D0D;
	padding:60px 20px;
	text-align:center;
}

.kaso .explanation ul{
	display:flex;
	justify-content:space-between;
	padding:40px 0;
}

.kaso .explanation ul li{
	width:49.5%;
}

.coverimg{
	overflow:hidden;
	position:relative;
}

.coverimg:before{
	content: "";
	display: block;
	padding-top: 100%;
}

.coverimg img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
	transition:1s all;
}

.kaso .explanation .m-txt2{
	margin:40px 0 50px 0;
}

.kaso .explanation .btn a{
	color:#fff;
	width:400px;
	margin:0 auto;
	border:1px solid rgba(255,255,255,0.4);
	font-weight:300;
	letter-spacing:0.1em;
	background:url(../img/store/btn-ico.png) no-repeat 95% center;
	font-size:16px;
	display:block;
	padding:30px 0;
	transition: all 0.3s;
	line-height: 1.6;
}

.kaso .explanation .btn a:hover{
	background:url(../img/store/btn-ico.png) no-repeat 95% center #fff;
	color:#0D0D0D;
}

.kaso .explanation .btn a span{
	font-size:14px;
}

.kaso .space{
	background:#0D0D0D;
	padding:60px 20px;
	text-align:center;
}

#main-slider{
	padding:30px 0 0 0;
}

#main-slider .coverimg:before{
    padding-top: 38.895%;
}

#thumbnail-slider .splide__track {
	overflow: visible !important;
}

.thumbnail-grid {
	width: 100%;
	overflow: hidden;
	margin-top: 0.8%;
}

.thumbnail-grid .splide__list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.8% !important;;
	transform: none !important;
	width: 100% !important;
}


.thumbnail-grid .splide__slide {
	flex: 0 0 16% !important; 
	max-width: 16% !important;
	margin: 0 0 10px 0 !important;
	opacity: 0.5;
	transition: opacity 0.3s;
	border:none;
}

#thumbnail-slider .splide__slide:hover {
	cursor: pointer;
	opacity: 1;
}

.thumbnail-grid .splide__slide:before{
    padding-top: 65%;
}

#thumbnail-slider .splide__slide.is-active {
	opacity: 1;
}

#thumbnail-slider .splide__track--nav>.splide__list>.splide__slide,
#thumbnail-slider .splide__track--nav>.splide__list>.splide__slide.is-active{
    border:none;
}

.kaso .information{
	padding:60px 20px;
	background:#0D0D0D;
}

.kaso .information .box{
	max-width:920px;
	margin:0 auto;
}

.kaso .information .box .box-in{
	padding:60px 0;
}

.kaso .information .box dl{
	display:flex;
	padding:25px 0;
	border-top:1px solid rgba(255,255,255,0.4);
	line-height:1.6;
}

.kaso .information .box dl:last-child{
	border-bottom:1px solid rgba(255,255,255,0.4);
}

.kaso .information .box dl dt{
	font-size:12px;
	font-weight:300;
	min-width:140px;
}

.kaso .information .box dl dd{
	font-size:14px;
	font-weight:300;
}

.kaso .information .box dl dd a{
	color:#fff;
}

.kaso .information .map iframe{
	width:100%;
	height:390px;
}

.kaso .reserve{
	padding:60px 20px;
	background:#0D0D0D;
	text-align:center;
}

.kaso .reserve ul{
	padding:20px 0 0 0;
}

.kaso .reserve ul li{
	display:inline-block;
	padding:10px;
}

.kaso .reserve ul li a{
	display:inline-block;
	padding:15px 50px;
	color:#fff;
	font-size:14px;
	border:1px solid rgba(255,255,255,0.4);
	letter-spacing:0.1em;
}

.kaso .reserve ul li:nth-child(2) a{
	background:#FFFFFF;
	color:#0D0D0D;
}

.kaso .reserve ul li:nth-child(2) a:hover{
	background:none;
	color:#fff;
}

.kaso .store-list{
	padding:60px 20px 120px 20px;
	background:#0D0D0D;
}

.kaso .store-list ul{
	padding:40px 0 0 0;
	max-width:920px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.kaso .store-list ul:after{
	content:"";
	width:33%;
	display:block;
}

.kaso .store-list ul li{
	width:33%;
	margin:0 0 0.5% 0;
}

.kaso .store-list ul li a{
	position:relative;
	display:block;
	overflow: hidden;
}

.kaso .store-list ul li a:after{
	content:"";
	width:72px;
	height:70px;
	background:url(../img/store/logo2.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index:3;
}

.kaso .store-list ul li a:hover img {
	transform: scale(1.1);
}

.kaso .store-list ul li a .name{
	position:absolute;
	right:0;
	bottom:0;
	font-size:14px;
	display:inline-block;
	padding:5px 10px;
	background:#fff;
	color:#0D0D0D;
	transition: all 0.3s;
	letter-spacing:0.1em;
	line-height:1.6;
}

.kaso .store-list ul li a:hover .name{
	background:#0D0D0D;
	color:#fff;
}

.kaso .store-list ul li a .coverimg:before{
    padding-top: 70%;
}

@media screen and (max-width: 960px) {
.wrap {
	min-width:inherit;
	box-sizing:border-box;
}

header .header_content_menu{
	flex-direction: row !important;
}
	
.kaso .mv .scroll{
	left:20px;
	bottom:10px;
}
	
.kaso .wd{
	max-width:inherit;
}

.kaso .m-tit{
	font-size:20px;
	padding:30px 0 20px 0;
}

.kaso .m-tit:after,
.kaso .m-txt2:after{
	height:26px;
}

.kaso .m-txt{
	font-size:13px;
}

.kaso .m-txt2{
	padding:50px 0 0 0;
}

.kaso .mv{
	height: 100svh;
	min-height:500px;
}

.kaso .mv .logo{
	padding:200px 0 0 0;
	width:110px;
	margin:0 auto;
}

.kaso .mv h1{
	font-size:20px;
	padding:10px 0 30px 0;
}

.kaso .mv h2{
	font-size:12px;
}

.kaso .explanation{
	padding:40px 20px;
}

.kaso .explanation ul{
	display:block;
	padding:30px 0;
}

.kaso .explanation ul li{
	width:100%;
	margin:0 0 10px 0;
	line-height:0;
}

.kaso .explanation .m-txt2{
	margin:30px 0 40px 0;
}

.kaso .explanation .btn a{
	width:100%;
	max-width:380px;
	background:url(../img/store/btn-ico.png) no-repeat 95% center;
	font-size:14px;
	padding:20px 0;
}

.kaso .explanation .btn a:hover{
	background:url(../img/store/btn-ico.png) no-repeat 95% center #fff;
	color:#0D0D0D;
}

.kaso .explanation .btn a span{
	font-size:12px;
}

.kaso .space{
	padding:40px 20px;
}

#main-slider{
	padding:20px 0 0 0;
}

#main-slider .coverimg:before{
    padding-top: 70%;
}

.thumbnail-grid {
	margin-top: 1.24%;
}

.thumbnail-grid .splide__list {
	gap: 1.24% !important;
}

.thumbnail-grid .splide__slide {
	flex: 0 0 24% !important; 
	max-width: 24% !important;
	margin: 0 0 1.24% 0 !important;
}

.kaso .information{
	padding:40px 20px;
}

.kaso .information .box{
	max-width:inherit;
}

.kaso .information .box .box-in{
	padding:40px 0;
}

.kaso .information .box dl{
	display:block;
	padding:20px 0;
}

.kaso .information .box dl dt{
	min-width:inherit;
}

.kaso .information .box dl dd{
	padding:10px 0 0 0;
}

.kaso .information .map iframe{
	width:100%;
	height:190px;
}

.kaso .reserve{
	padding:40px 20px;
}

.kaso .reserve ul{
	padding:20px 0 0 0;
}

.kaso .reserve ul li{
	display:block;
	padding:10px;
}

.kaso .reserve ul li a{
	display:block;
	padding:15px 40px;
	max-width:360px;
	margin:0 auto;
}

.kaso .store-list{
	padding:40px 20px 80px 20px;
}

.kaso .store-list ul{
	padding:30px 0 0 0;
	max-width:inherit;
}

.kaso .store-list ul:after{
	display:none;
}

.kaso .store-list ul li{
	width:49%;
	margin:0 0 2% 0;
}
	
@media screen and (max-width: 600px) {
.kaso .store-list ul li{
	width:100%;
}
}

.kaso .store-list ul li a:after{
	width:35px;
	height:34px;
}

.kaso .store-list ul li a .name{
	font-size:12px;
	padding:3px 15px;
}

}

/* FOOTER
-------------------------------------------------------------------*/
footer .footer_recruit_title{
	font-size:50px;
	font-weight:500;
	color:#fff;
}
@media screen and (max-width: 960px) {
footer .footer_recruit_title{
	font-size:30px;
}
}

#nbc-footer{
	padding:100px 0 30px 0;
	background:#000000;
	border-top:1px solid rgba(255,255,255,0.4);
	text-align:center;
	color:#fff;
}

#nbc-footer .tit{
	font-size:12px;
	font-weight:300;
	padding:0 0 30px 0;
	letter-spacing:0.1em;
	line-height:1.6;
}

#nbc-footer a{
	color:#fff;
}

#nbc-footer .box{
	max-width:920px;
	margin:0 auto;
}

#nbc-footer .link1 li{
	width:100px;
	display:inline-block;
	margin:10px;
	vertical-align: top;
}

#nbc-footer .link1 li .name{
	font-size:12px;
	line-height:1.6;
	padding:10px 0 0 0;
}

#nbc-footer .link2{
	padding:40px 0 70px 0;
	font-size:12px;
}

#nbc-footer .link2 li{
	display:inline-block;
	margin:10px;
	line-height:1.6;
}

#nbc-footer .m-logo{
	width:56px;
	margin:0 auto 30px;
}

#nbc-footer .copy{
	font-size:10px;
	letter-spacing:0.1em;
}

@media screen and (max-width: 960px) {
#nbc-footer{
	padding:50px 0 20px 0;
}

#nbc-footer .tit{
	padding:0 0 25px 0;
}

#nbc-footer .box{
	max-width:inherit;
}


#nbc-footer .link2{
	padding:30px 0 50px 0;
}

#nbc-footer .link2 li{
	display:block;
}
}

a.opacity{
	display:block;
	text-decoration:none;
}

a:hover img.opacity,
.opaities a:hover img,
a.opacity:hover{
	opacity: 0.6;
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	transition: all 0.3s;
}

.f-btn{
	position:fixed;
	right:0;
	left:0;
	bottom:0;
	z-index:-1;
	opacity:0;
    transition: all 0.3s;
}

.f-btn a{
	display:block;
	background:url(../img/common/f-btn-arrow.png) no-repeat 95% center #fff;
	background-size:20px;
	padding:15px 20px 15px 50px;
	color:#3A180D;
	font-size:16px;
	max-width:280px;
	border-radius:5px 5px 0 0;
	margin:0 auto;
}

.f-btn a span{
	font-size:16px;
	padding:0 0 0 30px;
}

.f-btn.on.off{
    opacity: 0;
    z-index: -1;
}

.f-btn.on{
    opacity: 1;
    z-index: 99;
}

.sp{
	display:none !important;
}

@media screen and (max-width: 960px) {

.pc{
	display:none !important;
}

.sp{
	display:block !important;
}

}

/* RECRUIT
-------------------------------------------------------------------*/
.employee{
	padding:0 0 100px 0;
	display:flex;
	flex-wrap:wrap;
    gap: 0.62%;
}

.employee > li{
	width:19.5%;
	margin:0 0 0.62% 0;
}

@media screen and (max-width: 960px) {
.employee{
	padding:0 0 60px 0;
}

.employee > li{
	width:24.5%;
	margin:0 0 0.62% 0;
}
}