/* ============================================
   会社概要
============================================ */

.company-page_about{
  padding: 120px 0 0 0;
}
@media screen and (max-width: 768px) {
	.company-page_about{
  padding: 80px 0 0 0;
}
}
.company-page_about__inner{
	margin:80px 0 0 0;
}
@media screen and (max-width: 768px) {
	.company-page_about__inner{
	margin:40px 0 0 0;
}
}
.top-page_company__table{
	border-top:solid 1px #9F9F9F;
	width:100%;
}
.top-page_company__table tr{
    display: flex;
	padding:24px 20px;
	gap:120px;
	border-bottom:solid 1px #9F9F9F;
}
@media screen and (max-width: 768px) {
	.top-page_company__table tr{
		gap:16px;
		flex-direction:column;
	padding:12px;
	}
}
.top-page_company__table tr th{
	display:block;
	width:160px;
}
@media screen and (max-width: 768px) {
	.top-page_company__table tr th{
	width:100%;
}
}
.top-page_company__table tr td{
	display:block;
	flex:1;
	line-height:1.5;
}

/* ============================================
   メッセージ
============================================ */
.company-page_message {
}

.company-page_message__inner {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}
@media screen and (max-width: 1024px) {
	.company-page_message__inner {
		gap: 24px;
	}
}
@media screen and (max-width: 768px) {
	.company-page_message__inner {
		flex-direction:column;
	}
}

.company-page_message__ph {
    flex: 0 0 480px;
	border-radius:10px;
}
@media screen and (max-width: 1024px) {
	.company-page_message__ph {
    flex: 0 0 360px;
}
}
@media screen and (max-width: 768px) {
	.company-page_message__ph {
		flex:1;
		width:100%;
	}
}

.company-page_message__ph img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
	border-radius:10px;
}
@media screen and (max-width: 1024px) {
.company-page_message__ph img {
    height: 240px;
}
}
@media screen and (max-width: 768px) {
	.company-page_message__ph img {
    height: auto;
}
}

.company-page_message__txt {
    flex: 1;
    font-size: 18px;
    line-height: 2;
}
@media screen and (max-width: 768px) {
}	.company-page_message__txt {
	font-size: 16px;
}
/* ============================================
   店舗紹介
============================================ */
.top-page_shop {
  padding: 120px 0 0 0;
}
@media screen and (max-width: 768px) {
    .top-page_shop {
        padding: 80px 0 0 0;
    }
}
.top-page_shop .l-inner{
}
.top-page_shop__list {
  display: flex;
  flex-direction: row;
  gap: 40px;
padding: 0 40px;
}
@media screen and (max-width: 1024px) {
	.top-page_shop__list{
		justify-content:space-between;
		flex-wrap: wrap;
		gap:24px;
		padding: 0;
	}
}
.top-page_shop__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
	position:relative;
	border-radius:20px;
}
@media screen and (max-width: 1024px) {
	.top-page_shop__item{
		width:calc(50% - 12px);
		flex:unset;
	}
}
.top-page_shop__item:after{
	content:"";
	display:block;
	width:100%;
	height:100%;
	background:#000;
	opacity:0.4;
	position:absolute;
	left:0;
	top:0;
	pointer-events:none;
	border-radius:20px;
	z-index: 1;
	transition:all 0.3s;
	
}

.top-page_shop__image {
  width: 100%;
	
}

.top-page_shop__image img,
.top-page_shop__image--empty {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  background: #ddd;
	object-position: top;
	border-radius:20px;
	
}


.top-page_shop__name {
  font-size: 18px;
  font-weight: 700;
  margin-top: 12px;
	position: absolute;
    bottom: 72px;
    left: 16px;
	color:#fff;
	z-index: 3;
	margin:0;
	
}
.top-page_shop__item .c-btn{
		position: absolute;
    bottom: 24px;
    left: 16px;
	color:#fff;
	width:160px;
	height:32px;
	display:flex;
	align-items:center;
	padding:8px;
	border:solid 1px #fff;
	border-radius:20px;
	z-index: 3;
	font-size:12px;
}
.top-page_shop__item .c-btn:hover{
	background:unset;
}
.top-page_shop__item .c-btn:after{
	content:"→";
	display:block;
	position:absolute;
	right:8px;
	top:0;
	bottom:0;
	margin:auto;
width: fit-content;
    height: fit-content;
}
.top-page_shop__item:hover:after{
	background:#fff;
	transition:all 0.3s;
	opacity:0.1;
}
@media screen and (max-width: 768px) {
	.top-page_shop__list {
		gap: 16px;
		padding: 0;
		flex-wrap: wrap;
		justify-content: center;
	}
	.top-page_shop__item {
		width: calc(50% - 16px);
		flex: unset;
	}
	.top-page_shop__image img,
	.top-page_shop__image--empty {
		height: 160px;
	}
	.top-page_shop__name {
		font-size: 16px;
		bottom: 52px;
		left: 0;
		right: 0;
		margin: auto;
		width: fit-content;
		text-align: center;
	}
	.top-page_shop__item .c-btn {
		width: 90%;
		height: 28px;
		bottom: 12px;
		left: 0;
		right: 0;
		margin: auto;
	}
}