@charset "utf-8";
/* ------------------------------
oc おせち2027_商品 sz 2026/07/22-
------------------------------ */

/* 商品ページ全体 ***********************************/

.lp_main.product_page .sec_box{ margin: 20px 10px; padding: 0;}
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main.product_page{ margin: 40px 0px;}
	.lp_main.product_page .sec_box{ margin: 20px 10px 50px;}
}/*△*/






/* 汎用部品 ***********************************/
.lp_main .information_title{
	position: relative;
	margin-top: 70px; padding: 7px 5px; text-align: center;
	font-size: 16px;
	font-family: var(--font-mincho); font-weight: var(--font-weight-bold);
	color: var(--color-accent-offwhite); background: var(--color-accent-black);
}

.lp_main .information_title::before{
	content: "";
	position: absolute; top: -40px; left: calc((100% - 140px) / 2);
	display: block; width: 140px; height: 40px;
	background: url("/html/content_image/order/osechi_parts/osechi_infomation_title_bg.svg") center bottom / 100% auto no-repeat;
}
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main .information_title{ font-size: 30px; margin-top: 120px; padding: 15px 0;}
	.lp_main .information_title::before{ top: -62px; left: calc((100% - 214px) / 2); width: 214px; height: 62px;}
}/*△*/


/* コーナー毎に異なる部分 ***********************************/

/* ▼▽▽▽▼ リピーター向け割り込みお知らせ ▼▽▽▽▼ *****************/
body.osechi-saletype-repeater .ec-layoutRole__mainWithColumn::before{
	content: "ご愛顧様限定 おせちご注文ページ";
	display: block; padding: 10px 5px; text-align: center;
	background-color: var(--gold-gradient-base); background-image: var(--gold-gradient);
	font-family: var(--font-mincho); font-weight: var(--font-weight-bold);
}
/* PC▽ */ @media only screen and (min-width: 768px) {
body.osechi-saletype-repeater .ec-layoutRole__mainWithColumn::before{ font-size: 24px;}
}/*△*/




/* ▼▽▽▽▼ 早割案内 ▼▽▽▽▼ *****************/
.lp_main .sec_early{}

/* ▼▼▼▼ 早割バナー *****************/
.lp_main .info_early{}


/* ▼▽▽▽▼ カート_導入 ▼▽▽▽▼ *****************/
.lp_main .sec_product_intro{}

/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main.product_page .sec_product_intro .firstview_catch{ padding: 30px 10px;}
}/*△*/



/* ▼▽▽▽▼ リピーター様特典 ▼▽▽▽▼ *****************/
.lp_main .sec_repeater_benefit{}

/* ▼▼▼▼ 特典内容説明 *****************/
.lp_main .repeater_benefit{}





/* ▼▽▽▽▼ 内容紹介 ▼▽▽▽▼ *****************/
.lp_main.product_page .sec_menuinfo{ margin-bottom: 30px; padding-bottom: 30px;}
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main.product_page .sec_menuinfo{ margin-bottom: 60px;}
}/*△*/

/* ▼▼▼▼ 内容紹介冒頭 *****************/
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main .menuinfo_lead{ text-align: center;}
}/*△*/


/* ▼▼▼▼ お品書きギャラリー *****************/
	/*初期設定*/
.lp_main .menu_gallery{
	--gallery-gap: 10px; /*間隔*/
	--gallery-size: 32vw; /*大きさ*/
	--gallery-speed: 110s; /*早さ*/
	overflow: hidden;
}
/* PC */@media only screen and (min-width: 769px){
	.lp_main .menu_gallery{
		--gallery-gap: 14px;
		--gallery-size: 180px;
		--gallery-speed: 130s;
	}
}/*△*/

/* 見出し */
.lp_main .menu_gallery .menu_gallery_head{ padding: 0 20px; text-align: center;}
/* PC */@media only screen and (min-width: 769px){
	.lp_main .menu_gallery .menu_gallery_head{ padding-right: 40px; padding-left: 40px; }
}/*△*/

.lp_main .menu_gallery .menu_gallery_head .title{
	margin: 0; text-align: center;
	font-family: var(--font-mincho); font-weight: var(--font-weight-bold);
}
.lp_main .menu_gallery .menu_gallery_head .text{ margin: 10px 0 0;}

/* ギャラリー全体 */
.lp_main .menu_gallery .menu_gallery_slider{ margin-top: 20px;}
.lp_main .menu_gallery .menu_gallery_row{ width: 100%; overflow: hidden;}
.lp_main .menu_gallery .menu_gallery_row + .menu_gallery_row{ margin-top: var(--gallery-gap);}

/* 横に移動する部分 */
.lp_main .menu_gallery .menu_gallery_track{ display: flex; width: max-content; will-change: transform;}


/* 1周分の画像リスト */
.lp_main .menu_gallery .menu_gallery_set{
	display: flex; flex: none; gap: var(--gallery-gap);
	margin: 0; padding: 0 var(--gallery-gap) 0 0; list-style: none;
}

/* 各画像 */
.lp_main .menu_gallery .menu_gallery_item{ flex: none; width: var(--gallery-size);}
.lp_main .menu_gallery .menu_gallery_item .photo{
	display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover;
}
/* 上段：左へ */
.lp_main .menu_gallery .row_1 .menu_gallery_track{
	animation: menu-gallery-left var(--gallery-speed) linear infinite;
}
/* 下段：右へ */
.lp_main .menu_gallery .row_2 .menu_gallery_track{
	transform: translateX(-50%);
	animation: menu-gallery-right var(--gallery-speed) linear infinite;
}
/* PC */@media only screen and (min-width: 769px){
	.lp_main .menu_gallery:hover .menu_gallery_track{ animation-play-state: paused;}
}/*△*/

/* アニメーション */
@keyframes menu-gallery-left{ from{ transform: translateX(0);} to{ transform: translateX(-50%);} }
@keyframes menu-gallery-right{ from{ transform: translateX(-50%);} to{ transform: translateX(0);} }
/* 動きを減らす設定の端末 */
@media (prefers-reduced-motion: reduce){
	.lp_main .menu_gallery .menu_gallery_track{ animation-play-state: paused;}
}

/* ▲▲▲▲ お品書きギャラリー *****************/




/* ▼▼▼▼ お品書きページへのリンク *****************/
.lp_main .menuinfo_link_menu{ margin-top: 30px;}
/* PC */@media only screen and (min-width: 769px){
	.lp_main .menuinfo_link_menu{ margin-top: 60px;}
}/*△*/


/* ▼▽▽▽▼ おせちドキュメント ▼▽▽▽▼ *****************/
.lp_main .sec_cart_documents{ margin-top: 20px; background-color: #0b0b0b;}
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main .sec_cart_documents{ margin-bottom: 40px;}
}/*△*/
.lp_main .sec_cart_documents .sec_head{ color: #fff;}


/* ▼▼▼▼ 長年愛される理由 *****************/
.lp_main.product_page .reason,
.lp_main.product_page .reason .reason_box .line{ background: unset;}

.lp_main.product_page .reason_title{ display: block;}
.lp_main.product_page .reason_title .text{ display: inline;}
.lp_main.product_page .reason .reason_box .line{ background: unset;}
.lp_main.product_page .reason .reason_box .line::before,
.lp_main.product_page .reason .reason_box .line::after{ content: unset;}
/* sp▽ */ @media only screen and (max-width: 768px) {
	.lp_main.product_page .reason{ padding: 10px;}
	.lp_main.product_page .reason_title { margin-bottom: 0.5em; padding: 1.5em 0 0;}
	.lp_main.product_page .reason_title::before{ height: 20px;}
	.lp_main.product_page .reason_box{ display: block; padding: 10px 20px 0;}
	.lp_main.product_page .reason_box .line{
		display: block; min-height: unset;
		margin-bottom: 5px; padding: 7px 0 0;
	}
	.lp_main.product_page .reason_box .reason_item{ scroll-snap-align: unset;}
}/*△*/
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main.product_page .reason{ padding-top: 20px; padding-bottom: 20px;}
	.lp_main.product_page .reason_title{ padding: 0;}
	.lp_main.product_page .reason_title::before{ transform: translateX(-160%) scaleY(-1);}
	.lp_main.product_page .reason_title::after{ transform: translateX(63%) scaleX(-1);}
	.lp_main.product_page .reason_box{ padding-bottom: 0;}
	.lp_main.product_page .reason_box .title{ margin: unset;}
	.lp_main.product_page .reason_box .line{ padding: 10px 0;}
}/*△*/

/* ▼▼▼▼ こだわりポイント *****************/
.lp_main .feature_thisyear_box{
	color: #d9b56c;
	font-family: var(--font-mincho); font-weight: var(--font-weight-bold);
}
/* sp▽ */ @media only screen and (max-width: 768px) {
	.lp_main .feature_thisyear_box{ padding: 0 1em 0 2.0em;}
	.lp_main .feature_thisyear_box .line .text{ padding-left: 1em;}
	.lp_main .feature_thisyear_box .line .text::before{ content: "●　";}
}/*△*/
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main .feature_thisyear{ padding: 0 15px;}
	.lp_main .feature_thisyear_box{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;}
	.lp_main .feature_thisyear_box .line{
		display: flex; align-items: center; justify-content: center;
		padding: 10px 0; font-size: 18px;
		border: 1px solid rgba(210, 174, 98, .8); border-radius: 18px;
	}
}/*△*/


/* ▼▼▼▼ お客様の声 *****************/
.lp_main.product_page .customer_voice{ margin-top: 20px; padding-bottom: 10px;}
.lp_main.product_page .customer_voice .voice_list .voice_content{ line-height: 1.4;}
.lp_main.product_page .customer_voice .voice_list .voice_item{ padding: 0 16px;}
.lp_main .customer_voice .voice_list .voice_item::before,
.lp_main.product_page .customer_voice .voice_list .voice_balloon::before{ content: unset;}


/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main.product_page .customer_voice{ padding-bottom: 20px;}
	.lp_main.product_page .customer_voice{ margin-top: 30px;}
}/*△*/







/* ▼▽▽▽▼ リピーター様特典 ▼▽▽▽▼ *****************/
.lp_main.product_page .sec_repeater_benefit{ margin-top: 50px; margin-bottom: 50px;}
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main.product_page .sec_repeater_benefit{ margin-top: 80px;}
}/*△*/


.lp_main .repeater_benefit{}
.lp_main .repeater_benefit .sec_head{
	color: var(--color-accent-offwhite);
	background: var(--color-accent-deepred);
}

	/*導入*/
.lp_main .repeater_benefit .benefit_intro{}
.lp_main .repeater_benefit .benefit_intro .lead{
	padding: 1em 0 2em;
	color: var(--color-accent-deepred); text-align: center;
	font-family: var(--font-mincho); font-weight: var(--font-weight-bold);
}
.lp_main .repeater_benefit .benefit_intro .lead .icon{
	position: absolute; z-index: 1;
	right: 10px; bottom: 0;
}
.lp_main .repeater_benefit .benefit_intro .lead .text{
	z-index: 2;
}


.lp_main .repeater_benefit .benefit_intro .text{ text-align: center;}
	/*シェフコメント*/
.lp_main .repeater_benefit .chef_comment{ padding: 20px 0;}
	/*プレゼント紹介*/
.lp_main .repeater_benefit .benefit_item{}
.lp_main .repeater_benefit .benefit_item .title{
	margin: 0 10%; padding: 10px; text-align: center;
	font-family: var(--font-mincho); font-weight: var(--font-weight-bold);
	color: var(--color-accent-black);
	background-image: var(--gold-gradient-to-right);
	border-radius: 50px;
}
.lp_main .repeater_benefit .benefit_item .item_detail{}
/* sp▽ */ @media only screen and (max-width: 768px) {
	.lp_main .repeater_benefit .benefit_intro .lead .icon{ width: 60px;}
	.lp_main .repeater_benefit .benefit_item .item_detail .photo{ padding: 0 20%;}
}/*△*/
/* PC▽ */ @media only screen and (min-width: 768px) {
		.lp_main .repeater_benefit .benefit_intro .lead .icon{ right: 130px;}
	.lp_main .repeater_benefit .benefit_intro .benefit_banner{ margin-bottom: 1em;}
	.lp_main .repeater_benefit .chef_comment{ padding: 30px 60px;}
	.lp_main .repeater_benefit .benefit_item .title{ margin: 20px 70px 40px;}
	.lp_main .repeater_benefit .benefit_item .item_detail{ grid-template-columns: 30% 1fr;}
	.lp_main .repeater_benefit .benefit_item .item_detail .photo .w_p100{ position: absolute; left: 30px; top: -17px;}
	.lp_main .repeater_benefit .benefit_item .item_detail .desc{ min-height: 260px;}
}/*△*/



/* ▼▽▽▽▼ 選べる出荷日案内 ▼▽▽▽▼ *****************/

/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main.product_page .sec_shipping_date{ margin-bottom: 140px;}
}/*△*/





/* ▼▽▽▽▼ インフォメーション ▼▽▽▽▼ *****************/
.lp_main .sec_information{}
.lp_main .sec_information .article_box{ padding-bottom: 2em;}

/* ▼▼▼▼ 荷姿・お届けについて *****************/

.lp_main .product_info_delivery .product_info_delivery_box{ padding: 0 1.5em;}
.lp_main .product_info_delivery .info_box{
	display:grid; grid-template-columns:18% minmax(0,1fr); gap:1em; align-items: center;
	margin-top:1.5em;
}
.lp_main .product_info_delivery .packing{ margin: 0;}
.lp_main .product_info_delivery .title{ margin-bottom: 0.5em;}

/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main .product_info_delivery .product_info_delivery_box{ padding: 0 4em;}
}/*△*/



/* ▼▼▼▼ 熨斗・名入れ *****************/
.lp_main .info_noshi{}

.lp_main .info_noshi .noshi_image_box .noshi_image{ display:block; max-width:100%; margin-inline:auto;}

.lp_main .info_noshi .noshi .title{
	margin-bottom: 14px; padding: 0 21px;
	font-family: var(--font-mincho);
	font-weight: var(--font-weight-bold);
	color: var(--color-main);
}
.lp_main .info_noshi .noshi .caption{ padding: 0 1.5em;}
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main .info_noshi .noshi .title{ margin-bottom: 20px; font-size: 24px; text-align: center;}
	.lp_main .info_noshi .noshi .caption{ padding: 0 4em;}
}/*△*/


/* ▼▼▼▼ ご注意事項 *****************/
.lp_main .important_notice{}

.lp_main .important_notice .notice_list{ margin-bottom: 1em; padding-top: 1em;}
.lp_main .important_notice b{ color: #d31200;}
.lp_main .important_notice dt{ padding: 5px; background: #EAE8E3;}
.lp_main .important_notice .tri::before{ content: "▲"; color: #d31200;}
.lp_main .list_icon.kome { padding-left: 1em;}
.lp_main .list_icon.kome > li { padding-left: 0.2em;}

/* 注意情報 共通 */
.lp_main .important_notice .notice_detail{ margin-top: 1em;}
.lp_main .important_notice .notice_head{
	margin-bottom: 0.5em; padding: 5px;
	background: var(--color-accent-gray-light-t);
	font-weight: var(--font-weight-bold);
}
.lp_main .important_notice .notice_head::before{ content: "● ";}
.lp_main .important_notice .notice_body{ margin-bottom: 0.3em; padding-left:1.5em; padding-right: 1em;}
.lp_main .important_notice .info_text{ margin-bottom: 0.5em;}
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main .important_notice .notice_head{ padding-left: 2em;}
	.lp_main .important_notice .notice_body{ padding: 0 4em;}
	.lp_main .list_icon.kome { padding-left: 5em;}
}/*△*/


/* 注意事項リスト */
.lp_main .important_notice .notice_detail.attention .line{
	position:relative;
	margin-bottom: 0.5em; padding-left:1.5em;
}
.lp_main .important_notice .notice_detail.attention li::before{
	content:"※"; position:absolute; top:2px; left:.25em;
}
/* PC▽ */ @media only screen and (min-width: 768px) {
	.lp_main .important_notice  .important_notice_list dt{ margin-top: 10px;}
	.lp_main .important_notice  .important_notice_list dd{ padding: 8px;}
	.lp_main .important_notice .bow{ padding-right: 2em;}
}/*△*/





/* ▼▽▽▽▼ 関連ページリンク ▼▽▽▽▼ *****************/
.lp_main .sec_related_links{}

/* ▼▼▼▼ ワインセットページへ *****************/
.lp_main.product_page .link_wineset .link_btn{ min-height: 64px;}


/* ▼▼▼▼ 関連ページリンク ****************/

.lp_main .sec_related_links .link_wineset .link_btn{ margin: 0 auto 1em;}


.lp_main .related_links{
	display:grid; margin-top: 1em;
	grid-template-columns:1fr;
	gap:1em;
}
/* PC */
@media screen and (min-width:768px){
	.lp_main .related_links{ grid-template-columns:repeat(auto-fit, minmax(0, 1fr));}
}
.lp_main .related_links .link_box{ margin:0;}


	/*アイコン*/
.lp_main .related_links .link_btn{
	width: unset; margin-left: unset; min-height: 64px;
	padding-left: calc( 50px );
}
.lp_main .related_links .link_btn::before{
	content:"";
	position: absolute; left: 31px; transform: translate( -50% );
	display:block; width: 50px; height: 50px; aspect-ratio: 1;
	background: 0px center / cover no-repeat;
}
.lp_main .related_links .link_menu .link_btn::before{
	background-image: url("/html/content_image/order/osechi2027/common/osechi2027_osechi_contents_1.jpg");
}
.lp_main .related_links .link_chef .link_btn::before{
	background-image: url("/html/content_image/mlmg/staff/mlmg_chef_nemoto01.jpg");
}
.lp_main .related_links .link_LP .link_btn::before{
	background-image: url("/html/content_image/order/osechi2027/common/osechi2027_reason_1.jpg");
}






/* ▼▽▽▽▼ クロージング ▼▽▽▽▼ *****************/
.lp_main .sec_closing{}

/* ▼▼▼▼ ご挨拶 *****************/
.lp_main .closing_greeting{
	margin: 20px 0;
	font-size: 5vw; text-align: center; line-height: 1.7em;
	font-family: var(--font-mincho); font-weight: var(--font-weight-bold);
}
/* PC */ @media screen and (min-width:768px){
	.lp_main .closing_greeting{ margin: 100px 0 60px; font-size: 24px;}
}/*△*/


/* ▼▼▼▼ イメージ写真 *****************/
.lp_main .closing_visual{ overflow:hidden;}
.lp_main .closing_visual .photo_marquee{ width:100%; overflow:hidden;}
.lp_main .closing_visual .photo_track{ display:flex; width:max-content; animation:closing-photo-scroll 240s linear infinite;}
.lp_main .closing_visual .photo{
	display:block; flex-shrink:0; width:58vw; max-width:none;
	aspect-ratio:1.1 / 1; object-fit:cover; object-position:center; margin-right:1.2vw;
}
/* PC */ @media screen and (min-width:768px){
	.lp_main .closing_visual .photo{ width:min(46vw, 330px); aspect-ratio:1.3 / 1; margin-right:min(1.2vw, 14px);}
}/*△*/
@keyframes closing-photo-scroll{
	from{ transform:translateX(0);}
	to{ transform:translateX(-50%);}
}