@import url('https://fonts.googleapis.com/css2?family=Jost:wght@200;300;400;500;600&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

/*------------------------------------------------------------
	margin padding
------------------------------------------------------------*/
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt25{margin-top:25px;}
.mt30{margin-top:30px;}
.mt35{margin-top:35px;}
.mt40{margin-top:40px;}
.mt45{margin-top:45px;}
.mt50{margin-top:50px;}

.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb25{margin-bottom:25px;}
.mb30{margin-bottom:30px;}
.mb35{margin-bottom:35px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb100{margin-bottom:100px;}

.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.ml20{margin-left:20px;}

.mr10{margin-right:10px;}
.mr20{margin-right:20px;}

.pt5{padding-top:5px;}
.pt10{padding-top:10px;}
.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt25{padding-top:25px;}
.pt30{padding-top:30px;}

.pl10{padding-left:10px;}
.pl15{padding-left:15px;}
.pl20{padding-left:20px;}

.pr15{padding-right:15px;}
.pr20{padding-right:20px;}

.float_0{float:left;}
.float_mr5{float:left;margin-right:5px;}
.float_mr10{float:left;margin-right:10px;}
.float_mr20{float:left;margin-right:20px;}

.float_r{float:right;}

/*クリアフィックス*/
.clearfix:after{content:"."; display:block; clear:both; height:0; visibility:hidden;}
.clearfix{min-height:1px;}
.clear{clear:both;}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/

a{
	text-decoration:none;
	color:#000;
}

strong{
	font-family:monospace;
}

p.attention {
	font-family: '游明朝', 'YuMincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', serif;
	font-size: 12px;
	text-align: center;
	letter-spacing: 4px;
	width: 100%;
	margin: 10px 0;
}

body{
	font-size: 10px;
	line-height: 160%;
	text-align: left;
	padding: 0px;
	margin: 0px auto;
	color: #fff;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-color:#000;
	-webkit-text-size-adjust: 100%;
	width: 100%;
	overflow-x: hidden;
}

header{
	position:fixed;
	z-index:10000;
}

#stage{
	z-index:1000;
}

#logo{
	position:fixed;
	top:40px;
}

#menu_list{
	position:fixed;
	top:0;
	right:0;
}

#menu_pull{
	position:fixed;
	top:40px;
	width:100%;
}

.menu_pull_wrap li{
	background-color:#000;
	border-bottom:solid 1px #999;
	width:100%;
}

.menu_pull_wrap li a{
	display:block;
}

#main{
	background:url(../images/fks_main.jpg) no-repeat top center;
	height:386px;
	width:100%;
	background-size:568px 386px;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: -1;
}

.main-box{
	background-color: #000;
	padding-bottom: 60px;
}

.fks_tit{
	position:absolute;
	right:10%;
	bottom:30px;
}

.fks_obi{
	background:url(../images/fks_obi.png) repeat-x;
	width:100%;
	height:36px;
	background-size:132px 36px;
}

.w300{
	width:300px;
	margin:100px auto 30px;
	padding-top:20px;
}

.btn_wrap{
	border:solid 1px #eee;
	border-right:none;
	margin-left:27%;
	display:block;
	margin-bottom:10px;
}

.copy01{
	font-size:10px;
	margin-bottom:10px;
}

.tit_wrap{
	text-align:center;
	margin-bottom:20px;
}

.midashi{
	font-size:15px;
	margin-bottom:5px;
	line-height:140%;
}

/*********** CONCEPT ************/

#concept{
	width:300px;
	margin:50px auto 30px;
	padding-top:20px;
}

.concept_midashi{
	font-size:12px;
	margin-bottom:10px;
}

ul.gallery {
	width: 100%;
	margin: 10px 0 ;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

ul.gallery li {
	width: calc(100% / 3) !important;
	transition: 0.6s;
}

ul.gallery li img {
	width: 100%;
}

ul.gallery li:hover{
	opacity: 0.6;
}

/*********** MENU ************/

#fks_menu_wrap{
	position:relative;
	height:500px;
}

.fks_menu_btn01{
	position:absolute;
	top:0;
	left:0;
}

.fks_menu_btn02{
	position:absolute;
	top:102px;
	left:102px;
}

.fks_menu_btn03{
	position:absolute;
	top:204px;
	left:0;
}

.fks_menu_btn04{
	position:absolute;
	top:306px;
	left:102px;
}

/*********** BRIDAL ************/

.bridal_wrap{
	background:url(../images/fks_bridal_bg.png) no-repeat;
	background-size:305px 305px;
	width:305px;
	height:255px;
	text-align:center;
	margin:0 auto 10px;
	color:#000;
	padding-top:50px;
}

/*********** STAFF ************/

.staff_wrap01{
	text-align:center;
	margin-bottom:30px;
}

.staff_wrap02{
	margin-bottom:30px;
}

/*********** SHOP ************/
.shop_tit{
	text-align:left;
	margin-bottom:20px;
}

.shop_wrap{
	widows:280px;
	margin:0 auto;
}

.shop_wrap td{
	padding-bottom:5px;
}

.shop_name{
	font-size:11px;
	margin-bottom:10px;
}

.shop_sub {
	text-align: center;
	border: solid 1px #bbb;
	padding: 3px 5px;
}

.access{
	width:300px;
	margin:40px auto 20px;
}

.access_map{
	text-align:center;
	margin-bottom:20px;
}

/* オリジナルブランド
============================== */
#brand{
	overflow: hidden;
	width: 300px;
	margin: 0 auto;

	h2 {
		font-family: 'Cinzel', serif;
		margin: 50px 0 20px;
		font-size: 16px;

		span {
			display: block;
			font-size: 16px;
		}
	}

	ul#project-list {
		width: 100%;
	}

	ul#project-list li {
		text-align: center;
	}

	ul#project-list li figcaption {
		letter-spacing: 1px;
		padding: 16px 0 20px;
		color: #fff;
		background-color: #111;
		position: relative;
		z-index: 10;
	}

	ul#project-list li h3 {
		font-family: 'Cinzel', serif;
		font-size: 12px;
		line-height: 150%;
		margin-bottom: 10px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}

	ul#project-list li h3 span {
		font-size: 12px;
	}

	ul#project-list li span.en {
		font-family: 'Cinzel', serif;
		font-size: 14px;
		font-weight: 300;
	}

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

	.slide {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		transition: all 0.275s ease-in-out, visibility 0s 0.275s;
		visibility: hidden;
		will-change: transform;
		transform: translateY(100%);
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.slide p {
		font-family: 'Cinzel', serif;
		font-size: 20px;
		line-height: 120%;
		letter-spacing: 3px;
		text-align: center;
		color: #fff;
		z-index: 10;
	}

	.slide p span {
		font-size: 16px;
	}

	.row {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px;
	}

	.row:hover ~ .row .slide {
		transform: translateY(-100%);
	}

	.row:hover .slide {
		transform: translateX(100%);
	}

	.row:hover .col:hover ~ .col .slide {
		transform: translateX(-100%);
	}

	.row:hover .col:hover .slide {
		transform: none;
		visibility: visible;
		transition-delay: 0s;
	}

	.fixed {
		background: rgba(0, 0, 0, 0.75);
		padding: 0 1.5rem;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.fixed p {
		font-size: 28px;
		font-weight: 800;
		line-height: 120%;
		letter-spacing: 3px;
		text-align: center;
		color: #fff;
		z-index: 10;
	}

	.fixed p span {
		font-size: 16px;
	}

	.col {
		color: #fff;
		min-height: 260px;
		position: relative;
		max-width: 500px;
		margin: 0 auto;
	}
	.col h2 {
		font-weight: 300;
		font-size: 1.33333rem;
		line-height: 1.25;
		color: #000;
		background-color: #fff;
		margin: 0;
		position: relative;
		bottom: 1.5rem;
		right: 1.5rem;
		z-index: 0;
	}
	
	.photo-container {
		background: #0f0523 50% 50%/cover;
		position: relative;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		transition: 1s;
	}
	
	.col:hover .photo-container {
		transform: scale(1.15);
	}
	
	.photo-container  img {
		width: 100%;
	}
	
	.slide {
		background: rgba(0, 0, 0, 0.75);
		padding: 0 1.5rem;
	}
	
}

/* 会社概要
============================== */
#company{
	padding: 50px 0;
	width: 300px;
	margin: 0 auto;

	h2 {
		font-family: 'Cinzel', serif;
		line-height: 1.4;
		margin: 50px 0 10px;
		font-size: 16px;

		span {
			display: block;
			font-size: 16px;
		}
	}

	dl {
		font-size: 11px;
		letter-spacing: 1px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	
	dl > dt,
	dl > dd {
		width: 100%;
		display: flex;
		align-items: center;
	}
	
	dl > dt {
		color: #bbb;
		margin-bottom: 4px;
		position: relative;
		display: inline-block;
		width: fit-content;
	}
	
	/* dt::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 100%;
		transform: translateY(-50%);
		width: 20px;
		height: 1px;
		background-color: #333;
		margin-left: 10px;
	} */

	dl > dd {
		margin-bottom: 16px;
		line-height: 1.4;
	}

	dl > dd.business-box {
		display: block;

		span{
			display: block;
		}
	}

	dl > dd.shop-box {
		flex-direction: column;
		align-items: start;
	}

	dl > dd .shop-name {
		display: block;
		border-left: solid 1px #ccc;
		padding-left: 0.5em;
		margin-bottom: 0.4em;
	}

	dl > dd:nth-of-type(6) {
		flex-direction: column;
		justify-content: center;
		align-items: start;
	}
	

}
/*********** FOOTER ************/

footer{
	background-color:#050505;
	font-size:9px;
	line-height:140%;
	color:#FFF;
}

#footer_stage{
	width:300px;
	margin:0 auto;
	padding:50px 0 20px;
	position:relative;
}

.footer_logo{
	position:absolute;
	top:-30px;
	left:50%;
	margin-left:-30px;
}

.footer_sns{
	width:90px;
	margin:0 auto 20px;
}

address{
	text-align:center;
}

.company-btn{
	display: block;
	border: solid 1px #747474;
	width: 200px;
	height: 36px; 
	margin: 10px auto 20px;
	text-align: center;
	line-height: 36px;
	font-size: 12px;
	color: #fff;
}

.company-btn a{
	color: #c8c8c8;
	display: block;
}

/*==============================
 シャドウボックス用 */
#sb-title-inner,#sb-info-inner,#sb-loading-inner,div.sb-message{font-family:"HelveticaNeue-Light","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:200;color:#fff;}
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:110000;text-align:left;visibility:hidden;display:none;}
#sb-overlay{position:relative;height:100%;width:100%;}
#sb-wrapper{position:absolute;visibility:hidden;width:100px;}
#sb-wrapper-inner{position:relative;border:none;overflow:hidden;height:100px;}
#sb-body{position:relative;height:100%;}
#sb-body-inner{position:absolute;height:100%;width:100%;}
#sb-player.html{height:100%;overflow:auto;}
#sb-body img{border:none;}
#sb-loading{position:relative;height:100%;}
#sb-loading-inner{position:absolute;font-size:14px;line-height:24px;height:24px;top:50%;margin-top:-12px;width:100%;text-align:center;}
#sb-loading-inner span{background:url(../images/loading.gif) no-repeat;padding-left:34px;display:inline-block;}
#sb-body,#sb-loading{background-color:#060606;}
#sb-nav{float:right;height:16px;padding:2px 0;width:45%;}
#sb-nav a{display:block;float:right;height:20px;width:20px;margin-left:3px;cursor:pointer;background-repeat:no-repeat;}
#sb-nav-close{background-image:url(../images/close.png);}
/* シャドウボックス用
============================== */

#imagelightbox
{
    position: fixed;
    z-index: 9999;
    -ms-touch-action: none;
    touch-action: none;
	top: 50% !important;
	margin-top: -120px;
	width: 340px !important;
	left: 0 !important;
	right: 0 !important;
	margin: -130px auto;
	height: auto !important;
}

.imagelightbox-arrow
{
	width: 3.75em; /* 60 */
	height: 7.5em; /* 120 */
	background-color: #444;
	background-color: rgba( 0, 0, 0, .5 );
	vertical-align: middle;
	display: none;
	position: fixed;
	z-index: 10001;
	top: 50%;
	margin-top: -50px; /* 60 */
}
.imagelightbox-arrow:hover,
.imagelightbox-arrow:focus
{
	background-color: #666;
	background-color: rgba( 0, 0, 0, .75 );
}
.imagelightbox-arrow:active
{
	background-color: #111;
}
.imagelightbox-arrow-left
{
	left: 1em; /* 40 */
}
.imagelightbox-arrow-right
{
	right: 1em; /* 40 */
}
.imagelightbox-arrow:before
{
	width: 0;
	height: 0;
	border: 1em solid transparent;
	content: '';
	display: inline-block;
	margin-bottom: -0.125em; /* 2 */
}
.imagelightbox-arrow-left:before
{
	border-left: none;
	border-right-color: #fff;
	margin-left: -0.313em; /* 5 */
}
.imagelightbox-arrow-right:before
{
	border-right: none;
	border-left-color: #fff;
	margin-right: -0.313em; /* 5 */
}

#special #main{
	height: auto;
	position: relative;
	overflow: hidden;
	z-index: 0;

	.special-box{
		position: relative;
		width: 330px;
		margin: 70px auto 60px;

		.sns-box{
			display: flex;
			position: absolute;
			left: 0;
			right: 0;
			margin: auto;
			justify-content: space-between;
			top: 120px;
			width: 200px;
			
			a{
				width: 80px;

				img{
					width: 100%;
				}
			}
		}

		.special-img {
			display: block;
			width: 100%;
		}
	}
}

.special-ban{
	width: 300px;
	display: block;
	margin: 20px auto -20px;

	img{
		width: 100%;
	}
}

footer {
	height: auto;
}

footer aside.banner{
	width: 70%;
	margin: 10px auto 0;
	padding-top: 10px;
	padding-bottom:50px;

	.ban{
		margin-top: 10px;
		display: block;

		>em{
			color: #fff;
			font-size: 12px;
			text-align: center;
			display: block;
			line-height: 1.4em;
			text-decoration:underline;
			margin-top: 0.5em;
		}

		img{
			width: 130px;
			display: block;
			margin: 0 auto;
		}
	}
}