@charset "utf-8";

/* --------------------------------------------------------------------------------
wrapper
-------------------------------------------------------------------------------- */
#wrapper {
	display: block;
	width: auto;
}

/* --------------------------------------------------------------------------------
トップページ
-------------------------------------------------------------------------------- */
#main {


}


/* ----------------------------------------
スライダー
---------------------------------------- */
#main .mv {
	padding: 0 0 100px;
}
#main .mv img {
	display: block;
	width: 100%;
	height: 700px;
	object-fit: cover;
}


/* ----------------------------------------
index-contents
---------------------------------------- */
#main .index-contents {
	width: 1240px;
	margin: 0 auto;
}


/* ----------------------------------------
About
---------------------------------------- */
#main section.about {
	padding: 0 0 113px;
}

#main section.about .about-wrapper {
	width: 1240px;
	margin: 0 auto;
	position: relative;
	padding: 0 180px 0 0px;
}

#main section.about .about-box {
	display: flex;
	align-items: flex-end;
	position: relative;
}

/* もっと見る */
#main section.about .about-link {
	position: absolute;
	left: 94px;
	top: 106px;
	transform: translateX(-100%);
	height: 100%;
	display: flex;
	align-items: center;
	z-index: 1;
}

#main section.about .about-link a {
	display: flex;
	align-items: center;
	position: relative;
	width: 46px;
	height: 150px;
	border: solid 1px #999;
	text-align: center;
	text-decoration: none;
	padding: 20px 0;
	font-size: 18px;
	background: url(../images/index-2025/icon-arr-down.png) no-repeat 50% 127px;
	background-size: 17px auto;
}

#main section.about .about-link a span {
	display: block;
	letter-spacing: 0.1em;
	position: absolute;
	writing-mode: vertical-rl;
	top: -4px;
	height: 130px;
	left: 6px;
}

#main section.about .about-content {
	width: 850px;
}

#main section.about .about-content .about-content-box {
	flex-grow: 1;
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	width: 100%;
	z-index: -1;
	margin: 0 0 0 210px;
}

#main section.about .about-content h2 {
	margin-top: 0;
	padding: 0 0 0 66px;
	writing-mode: vertical-rl;
	font-weight: 500;
	font-size: 32px;
	letter-spacing: 0.11em;
}

/* ロゴ */
#main section.about .about-logo {
	position: absolute;
	right: -20px;
	top: 112px;
	transform: translateX(calc(100% + 50px));
	width: 212px;
}

#main section.about .about-logo img {
	width: 100%;
	height: auto;
}

/* 文章 */
#main section.about .about-txt {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	padding: 5px 0 0;
}

#main section.about .about-txt .about-txt-box {
	margin-bottom: 0;
	padding-left: 0;
}
#main section.about .about-txt .about-txt-box-1 {
	padding: 0 0 0 52px;
}
#main section.about .about-txt .about-txt-box-2 {
	padding: 0 0 0 79px;
}
#main section.about .about-txt .about-txt-box-3 {
	padding: 0 0 0 79px;
}
#main section.about .about-txt .about-txt-box-4 {
	padding: 0 0 0 48px;
}
#main section.about .about-txt .about-txt-box-5 {
	padding: 0 0 0 79px;
}

#main section.about .about-txt .about-txt-box.last-box {
	padding-left: 0;
}

#main section.about .about-txt .about-txt-box p {
	margin: 0;
	writing-mode: vertical-rl;
	line-height: 2.6;
	max-width: calc(2.2em * 4);
	max-height: 100%;
	letter-spacing: 0.11em;
}


/* ----------------------------------------
img-shop
---------------------------------------- */
#main .img-shop {
	padding: 0 0 174px;
}
#main .img-shop img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}


/* ----------------------------------------
お知らせ・ボタン
---------------------------------------- */
#main .oshirase-btns-links {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0 0 59px;
}

#main section.oshirase {
	width: 590px;
	margin: 0 0 0 21px;
}

#main section.oshirase h2 {
	padding: 0px 0 23px;
	font-size: 38px;
	position: relative;
	margin: -10px 0 0 -2px;
	letter-spacing: 0.11em;
}

#main section.oshirase .oshirase-list {
	padding: 0 0 24px;
}
#main section.oshirase .oshirase-list ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#main section.oshirase .oshirase-list ul li {
	display: flex;
	padding: 18px 0;
	line-height: 1.7;
}

#main section.oshirase .oshirase-list ul li:last-child {
	border-bottom: none;
}

/* 各お知らせのリンク */
#main section.oshirase .oshirase-list ul li a {
	display: flex;

	width: 100%;
	text-decoration: none;
	flex-grow: 1;
	position: relative;
	padding: 0 58px 0 0;
	font-size: 16px;
}

#main section.oshirase .oshirase-list ul li a::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url("../images/index-2025/icon-arr-1.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px 16px;
	width: 8px;
	height: 16px;
}

/* 日付 */
#main section.oshirase .oshirase-list ul li .datetime {
	width: 128px;
	letter-spacing: 0.04em;
	flex-shrink: 0;
}

/* タイトル */
#main section.oshirase .oshirase-list ul li .title {
	width: calc(100% - 128px);
	text-decoration: underline;
}



/* お知らせ：一覧ボタン */
#main section.oshirase .oshirase-box .btn-oshirse-list {
}

#main section.oshirase .oshirase-box .btn-oshirse-list a {
	display: block;
	text-decoration: none;
	width: 190px;
	height: 40px;
	margin: 0 0 0 auto;
	padding: 0 26px 0 0;

	line-height: 40px;
	text-align: center;
	border: 1px solid #999;
	position: relative;
	overflow: hidden;
}

#main section.oshirase .oshirase-box .btn-oshirse-list a::after {
	content: "";
	position: absolute;
	right: 35px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url("../images/index-2025/icon-arr-1.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px 16px;
	width: 8px;
	height: 16px;
}


/* ----------------------------------------
共通：ボタンのスタイル
---------------------------------------- */
#main .btn-common {
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	border: 1px solid #999;
	position: relative;
	overflow: hidden;
}

#main .btn-common .label {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

#main .btn-common .label .label-1 {
	font-size: 26px;
	line-height: 1;
	letter-spacing: 0.15em;
}

#main .btn-common .label .label-2 {
	font-size: 16px;
	line-height: 1;
}

#main .btn-common .label {
	padding: 37px 0;
}

#main .btn-common::after {
	content: "";
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url("../images/index-2025/icon-arr-2.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 19px;
	width: 10px;
	height: 19px;
}


/* ----------------------------------------
案内・サイト
---------------------------------------- */
#main .btns-links {
	flex-shrink: 0;
	width: 516px;
}

#main .btns-links ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#main .btns-links ul li {
	margin-bottom: 10px;
}

#main .btns-links ul li:last-child {
	margin-bottom: 0;
}

#main .btns-links ul li a {
	width: 100%;
	height: 110px;
}

/* 背景：左上に三角テクスチャー */
#main .btns-links ul li a {
	background-image: url("../images/index-2025/bg-link-1.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 155px 40px;
}


/********** 宅配受付サイト **********/
#main .btns-links ul li.li-takuhai a .label-takuhai-row {
	display: flex;
	justify-content: center;
}
#main .btns-links ul li.li-takuhai a .label-takuhai-catch {
	display: block;
	padding: 4px 9px 0 0px;
	letter-spacing: 0.1em;
	font-size: 20px;
}
#main .btns-links ul li.li-takuhai a .label-takuhai-website {
	display: block;
	font-size: 26px;
	padding: 0px  0 0;
	letter-spacing: 0.1em;
}
#main .btns-links ul li.li-takuhai a .label-takuhai-att {
	display: block;
	font-size: 16px;
	letter-spacing: 0.1em;
}




/* ----------------------------------------
お問い合わせボタン
---------------------------------------- */
#main .btns-contact {
}

#main .btns-contact ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: space-between;
}

#main .btns-contact ul li a {
	width: 600px;
	height: 110px;

	background-image: url("../images/index-2025/bg-link-1.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 155px 40px;
}


/* 電話ボタン固有のスタイル上書き */
#main .btns-contact ul li.li-tel a .label {
	padding: 20px;
	align-items: center;
	text-align: left;
}

#main .btns-contact ul li.li-tel a .label .label-tel-row {
	display: flex;
	align-items: baseline;
	margin-bottom: 17px;
}

#main .btns-contact ul li.li-tel a .label .label-tel {
	font-size: 18px;
	line-height: 1;
	margin-right: 18px;
	letter-spacing: 0.02em;
}

#main .btns-contact ul li.li-tel a .label .label-tel-num {
	font-size: 28px;
	line-height: 1;
	letter-spacing: 0.05em;
	padding: 3px 0 0;
}

#main .btns-contact ul li.li-tel a .label .label-hours {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.05em;
}



/* メール */
#main .btns-contact ul li.li-mail a .label-1 {
	letter-spacing: 0.05em;
}


