@charset "UTF-8";

:root{
	--grayColor: #a4a5a5;
}

/* ---------------------------------------------
	common styles
---------------------------------------------- */
/* Font */
body .site {
	font-family: hot-kaishokk, sans-serif;
	font-family: a-otf-midashi-mi-ma31-pr6n, serif;
	font-family: 'Nuosu SIL', "HG正楷書体-PRO", a-otf-midashi-mi-ma31-pr6n, serif;
	font-weight: normal;
	font-style: normal;
	/* font-size: 14px; */
}

.f12{ font-size: 12px; }

/* breadcrumb */
.aioseo-breadcrumb{ color: #cccc66; }

/* table */
.module table{ margin-bottom: 1em; }

/*layout adjust*/
#body #layout .inner_max_730 .row_inner{ width: 100%; max-width: 730px; margin-right: auto; margin-left: auto; }
#body #layout .inner_max_680 .row_inner{ width: 100%; max-width: 680px; margin-right: auto; margin-left: auto; }
#body #layout .inner_max_620 .row_inner{ width: 100%; max-width: 620px; margin-right: auto; margin-left: auto; }
#body #layout .inner_max_580 .row_inner{ width: 100%; max-width: 580px; margin-right: auto; margin-left: auto; }

/* row adjust */
#body .mw900 .row_inner{ max-width: 900px; width: 100%; }

/* link */
.image-wrap a{ transition: .3s linear; }
.image-wrap a:hover{ opacity: .7; }

/* title normalize ----------------------------------------- */
/* h1,h2,h3,h4,h5,h6{ font-weight: normal; } */
body .module .module-title{
	font-size: 23px;
	font-weight: normal;
	margin: 0 auto;
    border-bottom: 1px solid var(--grayColor);
    padding: 0px 0 2px;
}

body .fancy-heading{ font-weight: normal; }

/* title normal ----------------------------------------- */

/* title plum ----------------------------------------- */
.module.title-plum .module-title{
	font-size: 26px;
	text-align: center;
	font-weight: normal;
	border: none;
}
.module.title-plum .module-title::before,
.module.title-plum .module-title::after{
	content: url(../../uploads/plum-flower.svg);
	width: 28px;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
	padding: 0 5px;
}

/* title add icon titles ----------------------------------------- */
.module.add-icon-titles .module-title::before{
	content: url(../../uploads/plum-flower.svg);
	width: 27px;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
	padding-right: 20px;
}

.module-buttons.bw820 .builder_button{
	max-width: 820px;
	position: relative;
}
.module-buttons.bw820 .builder_button::before{
	content: url(../../uploads/bn-logo.png);
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	right: 8px;
	top: 8px;
	z-index: 10;
}

/* header ----------------------------------------- */
#headerwrap{
	background-size: contain;
	position: relative;
}
#headerwrap::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: /*rgb(35 24 21)*/black;
    background: -moz-linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(255, 255, 255, 0) 73%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(90deg, rgb(0 0 0) 0%, rgba(255, 255, 255, 0) 73%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(90deg, rgb(0 0 0) 0%, rgba(255, 255, 255, 0) 73%, rgba(255, 255, 255, 0) 100%);
}
#header.header, #main-menu-container{ position: relative; z-index: 1; }
#main-menu-container #site-logo{ display: none; margin: 0 auto 30px; text-align: center; }

#header .header-brand-container{ display: none; }

.aioseo-breadcrumbs{ padding: 5px 1em 1px; }

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

/* nav ----------------------------------------- */
#main-menu{
	margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 230px 1fr 1fr;
    list-style: none;
    text-align: center;
    column-gap: 30px;
    max-width: 800px;
    font-size: 18px;
    align-items: end;
}
#main-menu li a{ font-size: 18px; }
#main-menu .nav01 a{
	display: block;
	padding: 80px 0 0 0;
	color: transparent!important;
	font-size: 0;
	line-height: 0;
	background: url(../../uploads/logo.png) center center no-repeat;
}
/* grid cell 整理 */
#main-menu .nav01{ grid-area: 1/3; }
#main-menu .nav02{ grid-area: 1/1; }
#main-menu .nav03{ grid-area: 1/2; }

/* nav ----------------------------------------- */

/* footer ----------------------------------------- */
#footer{
	text-align: center;
	border-top: 1px solid var(--grayColor);
	padding: 20px 0 0px;
}
#foot-links{ margin: 4px 0 0 0; border-top: 1px solid #a4a5a5; padding: 5px 0 0 0; display: flex; justify-content: space-between; list-style: none; align-items: center; }
#foot-links li{ width: 106px; text-align: center; }
#foot-links li:first-child{ text-align: left; }
.operating-by a{
    display: block;
    padding: 4px 5px 0px 3px;
    border: 1px solid #8f8f8f;
    white-space: nowrap;
}
.operating-by a img{
	width: 24px;
    height: auto;
    vertical-align: text-top;
    padding-right: 6px;
    /* display: inline-block; */
    box-sizing: content-box;
}


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

/* =============================================
	mobile menu settings
=============================================　*/
#menu-button{
	visibility:hidden;
	opacity:0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 900;
	top: 0;
	right: 0;
	width: 48px;
	height: 48px;
	background-color: black;
	color: #a4a5a5;
}
#menu-button.nav-on {
	visibility:visible;
	opacity:1;
}
#menu-button .ham-lines {
	position: relative;
	margin: 0 auto;
	width: 32px;
	height: 32px;
}
#menu-button .ham-lines span,
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	position: absolute;
	display: block;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 28px;
	height: 2px;
	background-color: #a4a5a5;
	border-radius: 1px;
}
#menu-button .ham-lines span {
	bottom: 15px;
	transition: all .25s .25s;
	opacity: 1;
}
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	content: "";
}
#menu-button .ham-lines::before{
	bottom: 24px;
	animation: menu-bar01 .75s forwards;
}
#menu-button .ham-lines::after {
	bottom: 6px;
	animation: menu-bar03 .75s forwards;
}
#menu-button .ham-text {
	font-size: 12px;
	line-height: 1;
}
#menu-button.is-active .ham-lines span {
	opacity: 0;
}
#menu-button.is-active .ham-lines::before {
	animation: active-menu-bar01 .5s forwards;
}
#menu-button.is-active .ham-lines::after {
	animation: active-menu-bar03 .5s forwards;
}
@keyframes menu-bar01 {
	0% {
		transform: translateY(9px) rotate(45deg);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes menu-bar03 {
	0% {
		transform: translateY(-9px) rotate(-45deg);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes active-menu-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(9px) rotate(45deg);
	}
}
@keyframes active-menu-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(-9px) rotate(-45deg);
	}
}
 
@media screen and (max-width: 1024px) { 

	#menu-button{
		visibility:visible;
		opacity:1;
	}
	
	#main-menu-container {
        position: fixed;
        z-index: -1;
        top: 0;
        left: 0vw;
        right: auto;
        bottom: auto;
        overflow-y: auto;
        background-color: rgba(0, 0, 0, .88);
        display: block;
        width: 100vw;
        height: 100vh;
        transition: .3s linear;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
		opacity: 0;
	}
	#main-menu-container.is-active{
		z-index: 700;
		opacity: 1;	
	}
}

/* === mobile menu end === */

/*ページ内リンク　各所にて使用*/
#body .headline-links{ transition: .3s ease; position: relative; }
body .headline-links:hover{ opacity: .7; }
body .headline-link .fancy-heading{
	margin-bottom: 0; 
	display: grid;
    column-gap: 30px;
	grid-template-columns: 180px 1fr;
    align-items: center;
}
body .headline-link.alp_add .fancy-heading .main-head span{ letter-spacing: -1.5px; font-family: 'Nuosu SIL'; }
body .headline-link .fancy-heading .sub-head{ padding-top: 0; }
/* body .headline-links::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-left: 16px solid #ffffff44;
    border-top: 0px solid transparent;
    border-bottom: 16px solid transparent;
} */
/*ページ内リンク　各所にて使用*/

/*レイアウトパーツ用　Applyへのリンク*/
.btn_kazari{
	max-width: 223px;
    margin: 0 auto;
    display: block;
    text-align: center;
	text-decoration: none!important;
	transition: .3s ease;
}
.btn_kazari:hover{ opacity: .7; }
.btn_kazari h2{ font-weight: normal; line-height: 1.6; }
.btn_kazari h2 span{ display: block; }
.btn_kazari h2 .main-head{ font-size: 20px; line-height: 1.4; }
.btn_kazari h2 .sub-head{
	border-top: 1px solid #a4a5a5;
	font-size: 15px;
	background: url(../../uploads/storeinfo-banner-bg-s170.png) center top no-repeat;
	padding-bottom: 120px;
}
/*レイアウトパーツ用　Applyへのリンク*/
/* 同デザイン送信ボタン用 */
.submit_btn.btn_kazari h2{
	position: relative;
}
.submit_btn.btn_kazari h2 [type="submit"]{
    background: none;
    position: absolute;
    left: 0;
    top: 0;
    padding: 30px 82px 92px;
}

/* =============================================
top
============================================= */
body .headline-link.top_page_shiyou .fancy-heading .main-head{ font-family: "HG正楷書体-PRO", a-otf-midashi-mi-ma31-pr6n, serif; }

/* =============================================
company,history,recruite
============================================= */
body .headline-link.company-links .fancy-heading{ grid-template-columns: 80px 1fr; }
body .headline-link.recruiting-links .fancy-heading,
body .headline-link.recruiting-links-lgbtq .fancy-heading{ grid-template-columns: 150px 1fr; column-gap: 18px; }
body .headline-link.company-links .fancy-heading .main-head{ display: flex; width: 80px; letter-spacing: -2px; justify-content: space-between; }
body .headline-link.recruiting-links .fancy-heading .main-head,
body .headline-link.recruiting-links-lgbtq .fancy-heading .main-head{ display: flex; width: 150px; letter-spacing: -2px; justify-content: space-between; }
body .headline-link.recruiting-links.merchandise-links .fancy-heading{ grid-template-columns: 130px 1fr; }
body .headline-link.recruiting-links.merchandise-links .fancy-heading .main-head{ width: 130px; }

/* グレーのタイトル類　Base */
#pagewrap .gray-contents{
    display: grid;
	grid-template-columns: auto 1fr;
    column-gap: 14px;
    background: var(--grayColor);
    padding: 14px 10px 0px 18px;
    width: 100%;
}
#pagewrap .gray-contents .module-title{
	border: none;
    font-size: 22px;
    letter-spacing: -1px;
    padding-right: 10px;
    position: relative;
    display: flex;
    justify-content: space-between;
}
#pagewrap .gray-contents .module-title::after{
	content: "";
	display: block;
	height: 20px;
	border-left: 2px solid white;
	position: absolute;
	top: 5px;
	right: 0;
}
#pagewrap .gray-contents .tb_text_wrap{
	padding-top: 3px;
}

/* flex-type */
#pagewrap .gray-flex-contents{
	display: flex;
	justify-content: center;
}
#pagewrap .gray-flex-contents .module-title{
	margin-right: 0;
	margin-left: 0;
}
#pagewrap .gray-flex-contents .tb_text_wrap p{
	margin-bottom: 0.7em;
}

/* profile */
#pagewrap .profile-tables .module-title{ width: 84px; }

/*history*/
#pagewrap .history-tables .module-title{ padding-right: 20px; }

/*philosophy*/
.clamp-texts16to22 h3{ font-size: clamp(16px, 0.67rem + 1.2vw, 22px)!imporatant; }

/*表*/
.profile-tables.shop-list table{
	margin-top: 5px;
	line-height: 1.7;
}
.voice_table table{
	width: 100%;
}
.voice_table table tr td:first-child{
	padding-right: 16px;
	white-space: nowrap;
}

/* タイトルありメイン画像 */
.add-title-main .image-content{
	position: absolute;
    top: 32.2%;
    width: 100%;
    text-align: center;
    background: rgb(0,0,0);
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
    padding: 5px 0 3px 0;
}
.add-title-main .image-content h2{ font-size: 23px; }

/* sitemap */
.sitemap-modules{
    padding: 22px 0 0 33px;
    max-width: 380px;
    margin-bottom: 26px;
}
.sitemap-modules h3{
	border-bottom: 1px solid white;
	font-weight: normal;
	font-size: 12px;
}
.sitemap-modules ul{ list-style: none; margin: 0 auto; padding: 13px 0 0 30px; }
.sitemap-modules ul ul{ padding: 0 0 10px 30px; }

/* blog関連 */
#body .module-post .post-image{ max-width: 170px; }
#body .module-post .post-date{ display: inline; padding-right: 0.6em; border-right: 1px solid var(--grayColor) }
#body .module-post .post-meta{ display: inline; padding-left: 0.6em; }
#body .module-post .post-meta a{ text-decoration: underline; }
#body .module-post .post-title{ margin: 12px auto; }

body .blog-cat-links .widgettitle{ display: none; }
body .blog-cat-links ul li{ padding: 2px 10px 3px; }
body .blog-cat-links ul li::before{ content: "・"; }

.history-back-container,
.rtb{ text-align: center; margin-top: 52px; }

.archive .page-title{
	text-align: center;
	font-size: 27px;
	font-weight: normal;
    margin: 0 auto 13px;
    border-bottom: 1px solid var(--grayColor);
    padding: 0px 0 2px;
}

.archive .post .post-image img{ max-width: 170px; border: 1px solid var(--grayColor); }
.single .post .post-image{ text-align: center; }
.archive #footer,
.single #footer{ margin-top: 105px; }

.archive .post-title{ font-size: 18px; margin: 12px auto; }
.single .post-title{ font-size: 27px; margin: 12px auto; }

.post-image a:hover{ opacity: .7; }

/* =============================================

	Media Query

============================================= */

@media screen and (max-width: 1200px){
	.pagewidth, .module_row > .row_inner{
		max-width: 98%;
	}
}
@media screen and (max-width: 1100px){
	#pagewrap .pagewidth{ max-width: 100%; }
	.pagewidth, .module_row > .row_inner{
		max-width: 98%;
	}
	.module-buttons.bw820 .builder_button{
		max-width: 90%;
	}
	#foot-links{
		padding-left: 6px;
		padding-right: 6px;
	}
}

@media screen and (max-width: 1024px){
	#header .header-brand-container{ display: block; }
	/* grid cell 整理 */
	#main-menu{ display: block; }
	#main-menu .nav01{grid-area: 1/1; }
	#main-menu .nav01 a{
		display: inline;
		padding: 0 0 0 0;
		color: white!important;
		font-size: inherit;
		line-height: inherit;
		background: none;
	}
	#main-menu-container #site-logo{ display: block; }
}

@media screen and (max-width: 768px) {
	.sp-nowrap .tb_text_wrap br { display: none; }
	.profile-tables table td{ display: block; }

	/* 取扱店 */
	.shop-list table tr{ display: block; padding-bottom: 8px; }
	.shop-list table a::after{ content: '\f0da'; padding-left: .6em; font-family: Fontawesome, serif; font-size: 11px; }
/* 	.shop-list table tr:nth-child(odd){ background: gray; } */

	/* スマホでボタンと分からせるよう */
	.headline-links{ position: relative; }
	.headline-links::after{
		content: "";
		display: block;
		width: 12px;
		border-top: 12px solid transparent;
		border-right: 12px solid rgba(255,255,255,.72);
		position: absolute;
		right: 0;
		bottom: 0;

	}
}

@media screen and (max-width: 730px){
	/* layout adjust */
	#body #layout .inner_max_730 .row_inner{ max-width: 88%; }
	
	/* top */
	body .headline-link .fancy-heading .sub-head{ padding-top: 8px; }

	/*philosophy*/
	#pagewrap .gray-contents{
		flex-direction: column;
		justify-content: center;
		align-items: start;
	}
}

@media screen and (max-width: 480px){
	body .module-fancy-heading .fancy-heading,
	body .headline-link.company-links .fancy-heading{
		grid-template-columns: 1fr;
	}
	.add-title-main .image-content h2{ font-size: 18px; }
}





