/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

.mod_main {
	margin-top: .8rem;
}

.pivot {
	position: relative;
}

#winter2025 {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: normal;
	font-style: normal;
	color: #231815;
}
.winter2025 {
	color: #231815;
}

.winter2025_header {
	width: 100%;
	height: calc( 603px * ( 1024 / 1280 ));
	background-image: url("../img/mv.jpg");
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
}

@media (min-width: 1025px) {
	.winter2025_header {
		height: calc(100vw * ( 603 / 1280 ));
	}
}
@media (max-width: 767px) {
	.winter2025_header {
		height: calc(100vw * ( 461 / 390 )); 
		background-image: url("../img/mv-sp.jpg");
	}
}

.winter2025_header .logo {
	width: 267px;
	position: absolute; 
	top: calc( 83px * ( 1024 / 1280 ));
	left: calc( 261px * ( 1024 / 1280 ));
}
.winter2025_header .logo img {
	width: calc( 267px * ( 1024 / 1280 ));
}
.winter2025_header .lp_title {
	width: calc( 515px * ( 1024 / 1280 ));
	position: absolute;
	bottom: calc( 32px * ( 1024 / 1280 ));
	right: calc( 195px * ( 1024 / 1280 ));
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.winter2025_header .lp_title .pattern_01,
.winter2025_header .lp_title .pattern_01 img {
	width: calc( 190px * ( 1024 / 1280 ));
}
.winter2025_header .lp_title h1,
.winter2025_header .lp_title h1 img {
	width: calc( 304px * ( 1024 / 1280 ));
}
@media (min-width: 1025px) {
	.winter2025_header .logo {
		width: calc(100vw * ( 267 / 1280 ));
		top: calc(100vw * ( 83 / 1280 ));
		left: calc(50vw - (100vw * ( 375 / 1280 )));
	}
	.winter2025_header .logo img {
		width: calc(100vw * ( 267 / 1280 ));
	}
	.winter2025_header .lp_title {
		width: calc(100vw * ( 515 / 1280 ));
		bottom: calc(100vw * ( 32 / 1280 ));
		left: calc(50vw + (100vw * ( -70 / 1280 )));
	}
	.winter2025_header .lp_title .pattern_01,
	.winter2025_header .lp_title .pattern_01 img {
		width: calc(100vw * ( 190 / 1280 ));
	}
	.winter2025_header .lp_title h1,
	.winter2025_header .lp_title h1 img {
		width: calc(100vw * ( 304 / 1280 ));
	}
}

@media (max-width: 767px) {
	.winter2025_header .logo {
		width: calc(100vw * ( 109 / 390 ));
		top: calc(100vw * ( 44 / 390 ));
		left: auto;
		right: calc(100vw * ( 35 / 390 ));
	}
	.winter2025_header .logo img {
		width: calc(100vw * ( 109 / 390 ));
	}
	
	.winter2025_header .lp_title {
		width: 100%;
		bottom: calc(100vw * ( 30 / 390 ));
		left: auto;
		right: auto;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.winter2025_header .lp_title .pattern_01,
	.winter2025_header .lp_title .pattern_01 img {
		width: calc(100vw * ( 141 / 390 ));
	}
	.winter2025_header .lp_title h1,
	.winter2025_header .lp_title h1 img {
		width: calc(100vw * ( 225 / 390 ));

	}
	.winter2025_header .lp_title h1 {
		margin-top: calc(100vw * ( 20 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	
}

/* sec_christmas
---------------------------------------------------------------*/
.sec_christmas .sec_header {
	margin-top: 30px;
	margin-bottom: 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 190px;
	background-image: url("../img/pattern_02.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 182px;
}
.sec_christmas .sec_header h2 {
	font-size: 32px;
	margin: 0;
	line-height: 1;
	margin-top: 30px;
	margin-bottom: 10px;
}
.sec_christmas .sec_header .date {
	font-size: 24px;
	line-height: 1;
	margin-bottom: 25px;
}
.sec_christmas .sec_header .date span:not([class="dot"]) {
	font-size: 14px;
}
.sec_christmas .sec_header p {
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
}

@media (max-width: 767px) {
	.sec_christmas .sec_header {
		margin-top: calc(100vw * ( 20 / 390 ));
		margin-bottom: calc(100vw * ( 50 / 390 ));
		height: auto;
		background-size: calc(100vw * ( 72 / 390 ));
	}
	.sec_christmas .sec_header h2 {
		font-size: calc(100vw * ( 20 / 390 ));
		margin-top: calc(100vw * ( 20 / 390 ));
		margin-bottom: 10px;
	}
	.sec_christmas .sec_header .date {
		font-size: calc(100vw * ( 15 / 390 ));
		line-height: 1;
		margin-bottom: 25px;
	}
	.sec_christmas .sec_header .date span:not([class="dot"]) {
		font-size: calc(100vw * ( 8 / 390 ));
	}
	.sec_christmas .sec_header p {
		font-size: calc(100vw * ( 10 / 390 ));
	}

}

/* christmas_lunch_dinner
---------------------------------------------------------------*/
.christmas_dinner,
.christmas_lunch {
	width: 760px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}

.christmas_dinner .title-line,
.christmas_lunch .title-line {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 460px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 25px;
}
.christmas_dinner .title-line h3,
.christmas_lunch .title-line h3 {
	font-size: 28px;
}
.christmas_dinner .title-line h3 {
	color: #692938;
}
.christmas_lunch .title-line h3 {
	color: #2d4f1d;
}
.christmas_dinner .title-line:before,
.christmas_dinner .title-line:after,
.christmas_lunch .title-line:before,
.christmas_lunch .title-line:after{
	flex: 1;
	display: block;
	width: auto;
	content: '　';
	height: 0;
	margin: 0 1em;
}
.christmas_dinner .title-line:before,
.christmas_dinner .title-line:after{
	border-top: 1px solid #692938;
}
.christmas_lunch .title-line:before,
.christmas_lunch .title-line:after{
	border-top: 1px solid #2d4f1d;
}

.christmas_lunch_intro {
	margin-bottom: 25px;
}
.christmas_dinner_intro {
	padding-bottom: 60px;
}
.christmas_dinner_intro figure,
.christmas_lunch_intro figure {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 50%;
	
	padding: 20px 0 0 0;
	/*display: none;*/
}

.christmas_dinner_intro figure img.right,
.christmas_lunch_intro figure img.right {
	margin: 35px 0 0 -20px;
}
.christmas_dinner_intro figure figcaption,
.christmas_lunch_intro figure figcaption {
	padding-top: 1em;
	width: 100%;
	text-align: right;
	font-size: 7px;
	letter-spacing: 0;
	padding-right: 20px;
}

@media (max-width: 767px) {
	.christmas_dinner,
	.christmas_lunch {
		width: 100%;
		margin-bottom: 50px;
	}
	.christmas_dinner .title-line,
	.christmas_lunch .title-line {
		width: calc(100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 25px;
	}
	.christmas_dinner .title-line h3,
	.christmas_lunch .title-line h3 {
		font-size: calc(100vw * ( 20 / 390 ));
	}
	.christmas_dinner_intro figure,
	.christmas_lunch_intro figure {
		width: 100%;
		position: relative;
		left: 0;
		top: 0;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
		padding: 20px 0 0 0;
	}
	.christmas_dinner_intro figure img.right,
	.christmas_lunch_intro figure img.right {
		margin: 0 0 0 0;
	}
	.christmas_dinner_intro figure img,
	.christmas_lunch_intro figure img {
		width: auto;
		height: calc(100vw * ( 166 / 390 ));
	}
	.christmas_dinner_intro figure figcaption,
	.christmas_lunch_intro figure figcaption {
		font-size: calc(100vw * ( 8 / 390 ));
		color: #fff;
	}
	
}

/* schedule */
.christmas_dinner_schedule,
.christmas_lunch_schedule {
	background-color: #2d4f1d;
	color: #fff;
	display: flex;
	margin-left: 20px;
}
.christmas_dinner_schedule {
	background-color: #692938;
}
.christmas_lunch_schedule {
	background-color: #2d4f1d;
}
.christmas_dinner_schedule::before,
.christmas_lunch_schedule::before {
	content: '　';
	display: block;
	width: 50%;
}
.christmas_dinner_schedule_text,
.christmas_lunch_schedule_text {
	display: flex;
	width: 50%;
	flex-direction: column;
	padding: 15px 0 8px 0;
}
.christmas_dinner_schedule_text .date,
.christmas_lunch_schedule_text .date {
	letter-spacing: 0;
	width: 342px;
	font-size: 24px;
	line-height: 1;
	padding: 0 0 0.4em 0;
	border-bottom: 1px solid #fff;
}
.christmas_dinner_schedule_text .date span:not([class="dot"]),
.christmas_lunch_schedule_text .date span:not([class="dot"]) {
	font-size: 13.5px;
}
.date span.dot {
	margin-left: -0.4em;
	letter-spacing: -0.1em;
}

.christmas_dinner_schedule_text dl,
.christmas_lunch_schedule_text dl {
	width: 342px;
	padding: 0.4em 0 0;
}
.christmas_dinner_schedule_text dl div,
.christmas_lunch_schedule_text dl div {
	margin: 0.75em 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	flex: 1;
	line-height: 1.4;
}
.christmas_dinner_schedule_text dl dt,
.christmas_lunch_schedule_text dl dt {
	letter-spacing: 0.5px;
	color: #fff;
	background-color: #cc9600;
	display: inline-block;
	border-radius: 5px;
	width: 57px;
	text-align: center;
	font-size: 11px;
}
.christmas_dinner_schedule_text dl dd,
.christmas_lunch_schedule_text dl dd {
	letter-spacing: 0;
	margin-left: 0.5em;
	font-size: 13px;
}

.christmas_dinner_text,
.christmas_lunch_text {
	display: flex;
}
.christmas_dinner_text::before,
.christmas_lunch_text::before {
	content: '　';
	display: block;
	width: 50%;	
}
.christmas_dinner_text p,
.christmas_lunch_text p {
	margin-top: 1em;
	width: 50%;
	font-size: 14px;
	line-height: 1.8;
}
.christmas_dinner_course,
.christmas_lunch_course {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 745px;
	margin-left: auto;
	margin-right: auto;
}

.christmas_dinner_course_item,
.christmas_lunch_course_item {
	width: 316px;
	margin: 20px 0;
}
.christmas_dinner_course_item.wide,
.christmas_lunch_course_item.wide {
	width: 440px;
}

.christmas_dinner_course_item h4,
.christmas_lunch_course_item h4 {
	font-size: 22px;
	display: flex;
	align-items: center;
}
.christmas_lunch_course_item h4 {
	color: #2d4f1d;
}
.christmas_dinner_course_item h4 {
	color: #692938;
}

.add_drink {
	display: inline-block;
	color: #fff;
	background-color: #3a3a4c;
	border-radius: 5px;
	font-size: 13px;
	padding: 0 0.5em;
	margin-left: 1em;
}

.christmas_dinner_course_item .price,
.christmas_lunch_course_item .price {
	font-size: 24px;
	border-bottom: 1px solid #231815;
	letter-spacing: 0.01em;
	padding-bottom: 0.2em;
	margin-bottom: 0.5em;
}
.christmas_dinner_course_item .price span,
.christmas_lunch_course_item .price span {
	font-size: 11px;
}
.christmas_dinner_course_item .price span.yen,
.christmas_lunch_course_item .price span.yen {
	font-size: 18px;	
}
.menu_list {
	font-size: 12px;
	overflow: auto;
}
.menu_list li {
	display: inline-block;
}

.menu_list li {
	float: left;
}
.menu_list li.br + li {
	clear: both;
}
.christmas_dinner_course_item .btn_reserve,
.christmas_lunch_course_item .btn_reserve {
	padding-top: 40px;
}
.btn_reserve a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 18px;
	border-radius: 5px;
	padding: 0.2em;
}
.christmas_dinner_course_item .btn_reserve a {
	background-color: #692938;
}
.christmas_lunch_course_item .btn_reserve a {
	background-color: #274f2f;
}
.btn_reserve a::after {
	content: '';
	width: 16px;
	height: 16px;
	background-image: url("../img/ico_open1.svg");
	background-size: 16px;
	margin-left: 0.8em;
}

.christmas_lunch_child {
	display: flex;
	justify-content: space-around;
	align-items: center;
	background-color: #e6dacd;
	border-radius: 5px;
	letter-spacing: 0;
	padding: 5px;
}
.christmas_lunch_child h4 {
	font-size: 18px;
	color: #2d4f1d;
}
.christmas_lunch_child .price {
	font-size: 24px;
}
.christmas_lunch_child .price span {
	font-size: 11px;
}
.christmas_lunch_child .price span.yen {
	font-size: 18px;	
}
.christmas_lunch_child p {
	font-size: 8px;
}

.christmas_dinner_course_item .btn_soldout,
.christmas_lunch_course_item .btn_soldout {
	padding-top: 20px;
}
.btn_soldout span {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #231815;
	color: #fff;
	font-size: 18px;
	border-radius: 5px;
	padding: 0.2em;
}

.sold_out_ico {
	width: 63px;
	position: absolute;
	top: 0;
	right: 35px;
}
.sold_out_ico img {
	width: 63px;
}

.christmas_dinner_course figure {
	position: absolute;
	top: 0;
	right: 0;
	margin: 20px 0;
}
.christmas_dinner_course figure .overlap {
	margin: -15px -30px 0 62px;
}
.christmas_dinner_course figure figcaption {
	padding-top: 1em;
	width: 100%;
	text-align: right;
	font-size: 7px;
	letter-spacing: 0;
	padding-right: 20px;
}

@media (max-width: 767px) {
	
	.christmas_dinner_schedule,
	.christmas_lunch_schedule {
		margin-left: 0;
		margin-top: calc(100vw * ( -40 / 390 ));
		padding-top:  calc(100vw * ( 35 / 390 ));
		position: relative;
		z-index: -1;
	}
	.christmas_dinner_schedule::before,
	.christmas_lunch_schedule::before {
		display: none;
	}

	.christmas_dinner_schedule_text,
	.christmas_lunch_schedule_text {
		width: calc(100vw * ( 318 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	
	.christmas_dinner_schedule_text .date,
	.christmas_lunch_schedule_text .date {
		width: calc(100vw * ( 318 / 390 ));
		font-size: calc(100vw * ( 24 / 390 ));
	}
	.christmas_dinner_schedule_text .date span:not([class="dot"]),
	.christmas_lunch_schedule_text .date span:not([class="dot"]) {
		font-size: calc(100vw * ( 13.5 / 390 ));
	}
	.christmas_dinner_schedule_text dl,
	.christmas_lunch_schedule_text dl {
		width: 100%;
	}
	.christmas_dinner_schedule_text dl dt,
	.christmas_lunch_schedule_text dl dt {
		border-radius: calc(100vw * ( 5 / 390 ));
		width: calc(100vw * ( 50 / 390 ));
		font-size: calc(100vw * ( 8.5 / 390 ));
	}
	
	.christmas_dinner_schedule_text dl dd,
	.christmas_lunch_schedule_text dl dd {
		font-size: calc(100vw * ( 10 / 390 ));
	}
	.christmas_dinner_text,
	.christmas_lunch_text {
		display: block;
	}
	.christmas_dinner_text::before,
	.christmas_lunch_text::before {
		display: none;
	}
	.christmas_dinner_text p,
	.christmas_lunch_text p {
		margin-top: 1em;
		width: calc(100vw * ( 320 / 390 ));
		font-size: calc(100vw * ( 11 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}

	.christmas_dinner_course,
	.christmas_lunch_course {
		width: calc(100vw * ( 320 / 390 ));
	}
	.christmas_dinner_course figure,
	.christmas_lunch_course figure {
		display: none;	
	}
	.christmas_dinner_course_item,
	.christmas_lunch_course_item {
		width: 100%;
	}
	.christmas_dinner_course_item.wide,
	.christmas_lunch_course_item.wide {
		width: 100%;
	}
	.christmas_dinner_course_item h4,
	.christmas_lunch_course_item h4 {
		font-size: calc(100vw * ( 20 / 390 ));
	}
	.christmas_dinner_course_item h4.tsume {
		letter-spacing: -0.08em;
	}
	.add_drink {
		border-radius: calc(100vw * ( 5 / 390 ));
		font-size: calc(100vw * ( 13 / 390 ));
	}
	

	.christmas_dinner_course_item .price,
	.christmas_lunch_course_item .price {
		font-size: calc(100vw * ( 21 / 390 ));
	}
	.christmas_dinner_course_item .price span,
	.christmas_lunch_course_item .price span {
		font-size: calc(100vw * ( 11 / 390 ));
	}
	.christmas_dinner_course_item .price span.yen,
	.christmas_lunch_course_item .price span.yen {
		font-size: calc(100vw * ( 13.7 / 390 ));	
	}
	.christmas_dinner_course_item .price span.tax,
	.christmas_lunch_course_item .price span.tax {
		font-size: calc(100vw * ( 8 / 390 ));	
	}
	.menu_list {
		font-size: calc(100vw * ( 10 / 390 ));
	}
	.menu_list li.sp-nobr + li {
    	clear: none;
	}
	
	.btn_reserve a {
		font-size: calc(100vw * ( 18 / 390 ));
		border-radius: calc(100vw * ( 5 / 390 ));
	}
	.btn_soldout span {
		font-size: calc(100vw * ( 18 / 390 ));
		border-radius: calc(100vw * ( 5 / 390 ));
	}

	
	.sold_out_ico {
		width: 63px;
		position: absolute;
		top: 0;
		right: 0;
	}
	.sold_out_ico img {
		width: calc(100vw * ( 51 / 390 ));
	}

	.btn_reserve a::after {
		content: '';
		width: calc(100vw * (16 / 390));
		height: calc(100vw * (16 / 390));
		background-image: url("../img/ico_open1.svg");
		background-size: calc(100vw * (16 / 390));
		margin-left: 0.8em;
	}
	
	.christmas_lunch_child {
		display: block;
		background-color: #e6dacd;
		border-radius: 0;
		letter-spacing: 0;
		padding: calc(100vw * ( 14 / 390 )) calc(100vw * ( 45 / 390 ));
	}
	.christmas_lunch_child h4 {
		font-size: calc(100vw * ( 18 / 390 ));
		margin-bottom: 0;
		color: #2d4f1d;
	}
	.christmas_lunch_child .price {
		font-size: calc(100vw * ( 25 / 390 ));
		padding: 0;
		margin-bottom:  calc(100vw * ( 14 / 390 ));
	}
	.christmas_lunch_child .price span {
		font-size: calc(100vw * ( 12 / 390 ));
	}
	.christmas_lunch_child .price span.yen {
		font-size: calc(100vw * ( 18 / 390 ));
	}
	.christmas_lunch_child .price span.tax {
		font-size: calc(100vw * ( 10 / 390 ));
	}
	.christmas_lunch_child p {
		font-size: calc(100vw * ( 8 / 390 ));
	}

}

/* sec_osechi
---------------------------------------------------------------*/
.sec_osechi {
	background-color: #f6ece1;
	padding-top: 90px;
	background-image: url("../img/pattern_03.svg");
	background-repeat: no-repeat;
	background-size: 387px;
	background-position: top -100px left calc(50% - 400px);
}
.sec_osechi .sec_header {
	padding: 0 0 50px 0;
}
.sec_osechi .sec_header h2 {
	font-size: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sec_osechi .sec_header h2 span {
	margin-right: 0.2em;
}
.sec_osechi .sec_header h2 img {
	width: 213px;
}
.sec_osechi .sec_header p {
	text-align: center;
	font-size: 16px;
	line-height: 1.8;
	margin: 30px 0;
}
dl.osechi_schedule {
	width: 380px;
	margin-left: auto;
	margin-right: auto;
}
dl.osechi_schedule div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 1em;
}
dl.osechi_schedule dt {
	letter-spacing: 0.5px;
	color: #fff;
	background-color: #4a6925;
	display: inline-block;
	border-radius: 5px;
	width: 81px;
	text-align: center;
	font-size: 13px;
	margin-right: 0.5em;
}
dl.osechi_schedule dd {
	font-size: 16px;
}
dl.osechi_schedule dd.kome {
	width: 100%;
	text-align: right;
	font-size: 8.5px;
	padding-right: 2em;
}

.osechi_products {
	display: flex;
	justify-content: space-between;
	width: 740px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 50px;
}
.osechi_product_item {
	width: 325px;
}
.osechi_product_item figure figcaption {
	color: #88780c;
	font-size: 12px;
	padding: 1em 0;
}
.osechi_product_item figure::after {
	position: absolute;
	top: 0;
	left: 0;
}
.osechi_product_item figure.soldout::after {
	/*content: url("../img/kanbai.svg");*/
	content: '';
	width: 63px;
	height: 63px;
	margin: -14px 0 0 -20px;
	background-image: url("../img/kanbai.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 63px auto;
}
.osechi_product_item figure.limit110::after {
	/*content: url("../img/limit110.svg");*/
	content: '';
	width: 87px;
	height: 87px;
	margin: -25px 0 0 -25px;
	background-image: url("../img/limit110.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 87px auto;
}

.osechi_product_item h3 {
	font-size: 19px;
	color: #001400;
}

.osechi_product_item .price {
	font-size: 25px;
	text-align: right;
	/*
	display: flex;
	justify-content: flex-end;
	align-items: center;
	*/
	background-image: linear-gradient(0deg, #c0880026, transparent);
}
.osechi_product_item .price span{
	font-size: 12px;	
}
.osechi_product_item .price span.yen{
	font-size: 18px;	
}
.osechi_product_item .btn_reserve {
	margin-top: 15px;
}
.osechi_product_item .btn_reserve a {
	background-color: #274f2f;
}
.osechi_product_item .btn_soldout {
	margin-top: 15px;
}

.osechi_product_contents {
	margin-top: 30px;
}
.osechi_product_contents dt {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #88780c;
	margin-bottom: 0.5em;
	font-size: 12px;
}
.osechi_product_contents dt::after {
	flex: 1;
	content: '';
	display: block;
	width: auto;
	height: 0;
	border-top: 1px solid #231815;
	margin-left: 0.5em;
}

.osechi_product_contents ul {
	margin-bottom: 1.5em;
	overflow: hidden;
}
.osechi_product_contents ul li {
	display: inline-block;
	font-size: 11px;
}
.osechi_product_contents ul li {
	float: left;
}
.osechi_product_contents ul li::after {
		content: '/';
		padding: 0 0.2em;
}
.osechi_product_contents ul li.br::after {
	content: '';
}
.osechi_product_contents ul li:last-child::after {
	content: '';
}
.osechi_product_contents ul li.br + li {
	clear: both;
}

.break-sp {
	display: none;
}

@media (max-width: 767px) {
	
	.sec_osechi {
		background-color: #f6ece1;
		padding-top: calc(100vw * ( 68 / 390 ));
		background-image: url("../img/pattern_03.svg");
		background-repeat: no-repeat;
		background-size: calc(100vw * ( 202 / 390 ));
		background-position: top calc(100vw * ( -77  / 390 )) left calc(100vw * ( -35  / 390 ));
	}

	.sec_osechi .sec_header {
		width: calc(100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.sec_osechi .sec_header h2 {
		font-size: calc(100vw * ( 18 / 390 ));
	}
	.sec_osechi .sec_header h2 span {
		margin-right: 0.2em;
	}
	.sec_osechi .sec_header h2 img {
		width: calc(100vw * ( 130 / 390 ));
	}
	.sec_osechi .sec_header p {
		font-size: calc(100vw * ( 11 / 390 ));
		line-height: 1.8;
		margin: 30px 0;
	}
	dl.osechi_schedule {
		width: calc(100vw * ( 300 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	dl.osechi_schedule div {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-bottom: 1em;
	}
	dl.osechi_schedule dt {
		letter-spacing: 0.05em;
		border-radius: calc(100vw * ( 5 / 390 ));
		width: auto;
		text-align: center;
		font-size: calc(100vw * ( 10 / 390 ));
		margin-right: 0.5em;
		padding-left: 0.5em;
		padding-right: 0.5em;
	}
	dl.osechi_schedule dd {
		font-size: calc(100vw * ( 12 / 390 ));
	}
	dl.osechi_schedule dd.kome {
		width: 100%;
		text-align: right;
		font-size: calc(100vw * ( 8.5 / 390 ));
		padding-right: 2em;
	}

	.osechi_products {
		width: 100%;
		display: block;
	}
	.osechi_product_item {
		width: 100%;
	}
	.osechi_product_item figure,
	.osechi_product_item figure img{
		width: 100%;
	}
	.osechi_product_item figure figcaption {
		width: calc(100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
		font-size: calc(100vw * ( 12 / 390 ));
		padding: 1em 1em;
		box-sizing: border-box;
	}
	.osechi_product_item figure::after {
		position: absolute;
		top: 0;
		left: 0;
	}
	.osechi_product_item figure.soldout::after {
		width: calc(100vw * ( 54 / 390 ));
		height: calc(100vw * ( 54 / 390 ));
		background-size: calc(100vw * ( 54 / 390 )) auto;
		margin: calc(100vw * ( 20 / 390 )) 0 0 calc(100vw * ( 35 / 390 ));
	}
	.osechi_product_item figure.limit110::after {
		width: calc(100vw * ( 68 / 390 ));
		height: calc(100vw * ( 68 / 390 ));
		background-size: calc(100vw * ( 68 / 390 )) auto;
		margin: calc(100vw * ( 30 / 390 )) 0 0 calc(100vw * ( 30 / 390 ));
	}
	.osechi_product_item h3 {
		font-size: calc(100vw * ( 20 / 390 ));
		color: #c08800;
		width: calc(100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
		padding-left: 1em;
	}
	.osechi_product_item h3 span {
		font-size: calc(100vw * ( 16 / 390 ));
		display: block;
	}
	.osechi_product_item .price {
		width: calc(100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
		font-size: calc(100vw * ( 16 / 390 ));
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}
	.osechi_product_item .price span{
		font-size: calc(100vw * ( 11 / 390 ));
	}
	.osechi_product_item .price span.yen{
		font-size: calc(100vw * ( 16 / 390 ));
	}
	.osechi_product_item .btn_reserve {
		width: calc(100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
		margin-top: calc(100vw * ( 18 / 390 ));
	}
	.osechi_product_item .btn_reserve a {
		background-color: #274f2f;
		font-size: calc(100vw * ( 18 / 390 ));
	}
	.osechi_product_item .btn_soldout {
		width: calc(100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
		margin-top: calc(100vw * ( 18 / 390 ));
	}
	.osechi_product_item .btn_soldout span {
		font-size: calc(100vw * ( 18 / 390 ));	
	}
	.osechi_product_contents {
		width: calc(100vw * ( 372 / 390 ));
		margin-left: auto;
		margin-right: auto;
		margin-top: calc(100vw * ( 30 / 390 ));
	}
	.osechi_product_contents dt {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #88780c;
		margin-bottom: 0.5em;
		font-size: calc(100vw * ( 13 / 390 ));
	}
	.osechi_product_contents dt::before,
	.osechi_product_contents dt::after {
		flex: 1;
		content: '';
		display: block;
		width: auto;
		height: 0;
		border-top: 1px solid #231815;
		margin-left: 0.5em;
	}
	.osechi_product_contents dt::before {
		margin-right: 0.5em;
	}
	.osechi_product_contents dt::after {
		margin-left: 0.5em;
	}
	.osechi_product_contents ul {
		margin-bottom: 1.5em;
		overflow: hidden;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.osechi_product_contents ul li {
		font-size: calc(100vw * ( 10 / 390 ));
		float: none;
		display: inline-block;
		float: none;
	}
	.osechi_product_contents ul li.br::after,
	.osechi_product_contents ul li::after {
		content: '/';
		padding: 0 0.2em;
	}
	.osechi_product_contents ul li.br::after {
		clear: none;
	}

	.osechi_product_contents ul li.spbr::after,
	.osechi_product_contents ul li:last-child::after {
		display: none;
	}
	
	.break-sp {
		display: inline-block;
		height: 0;
		width: 100%;
	}
	.break-sp::after {
		display: none;
	}

}

/* sec_yukiakari
---------------------------------------------------------------*/
.sec_yukiakari {
	background-image: url("../img/bg_yukiakari.jpg");
	background-size: cover;
	background-position: center center;
	padding-top: 125px;
	padding-bottom: 75px;
	color: #fff;
}
.yukiakari_video_wrap {
	padding: 0 0 80px 0;
}
.yukiakari_video_wrap .video {
	width: 740px;
	margin-left: auto;
	margin-right: auto;
}
.yukiakari_video_wrap .video video {
	width: 100%;
}

.sec_yukiakari .sec_header {
	text-align: center;	
}
.sec_yukiakari .sec_header h2 {
	font-size: 29px;
	margin-bottom: 1em;
}
.sec_yukiakari .sec_header p {
	font-size: 15px;
	line-height: 1.8;
	line-height: 1.8;
	margin-bottom: 1.5em;
}

.yukiakari_schedule {
	display: flex;
	width: 325px;
	margin-left: auto;
	margin-right: auto;
	flex-direction: column;
	padding: 15px 0 8px 0;
}
.yukiakari_schedule .date {
	letter-spacing: 0;
	width: 335px;
	font-size: 28px;
	line-height: 1;
	padding: 0 0 0.4em 0;
	border-bottom: 1px solid #fff;
	text-align: center;
}
.yukiakari_schedule .date span {
	font-size: 15px;
}

.yukiakari_schedule dl {
	width: 335px;
	padding: 0.4em 0 0;
}
.yukiakari_schedule dl div {
	margin: 0.75em 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	flex: 1;
	line-height: 1.4;
}
.yukiakari_schedule dl dt {
	letter-spacing: 0.5px;
	color: #fff;
	background-color: #cc9600;
	display: inline-block;
	border-radius: 5px;
	width: 65px;
	text-align: center;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.yukiakari_schedule  dl dd {
	letter-spacing: 0;
	margin-left: 0.5em;
	font-size: 15.5px;
}

.yukiakari_price {
	display: flex;
	width: 325px;
	margin-left: auto;
	margin-right: auto;
	flex-direction: column;
	padding: 0 0 8px 0;
}
.yukiakari_price .price {
	font-size: 25px;
	letter-spacing: 0.02em;
	padding-bottom: 0;
	margin-bottom: 0;
	text-align: center;
}
.yukiakari_price .price span {
	font-size: 12px;
}
.yukiakari_price .price span.yen {
	font-size: 18px;	
}

.btn_detail a {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	border-radius: 5px;
	padding: 0.2em;
	width: 325px;
	margin-left: auto;
	margin-right: auto;
	color: #231815;
}
.sec_yukiakari .btn_detail a {
	background-color: #c9bc00;
}
.btn_detail a::after {
	content: '';
	width: 16px;
	height: 16px;
	background-image: url("../img/ico_open2.svg");
	background-size: 16px;
	margin-left: 0.8em;
}

@media (max-width: 767px) {
	.sec_yukiakari {
		background-image: url("../img/bg_yukiakari-sp.jpg");
	}
	.yukiakari_video_wrap .video {
		width: calc(100vw * (324 / 390));
		margin-left: auto;
		margin-right: auto;
	}
	.sec_yukiakari .sec_header h2 {
		font-size: calc(100vw * (22 / 390));
	}
	.sec_yukiakari .sec_header p {
		font-size: calc(100vw * (12 / 390));
	}

	.yukiakari_schedule {
		width: calc(100vw * (320 / 390));
	}
	.yukiakari_schedule .date {
		width: calc(100vw * (320 / 390));
		font-size: calc(100vw * (26 / 390));
	}
	.yukiakari_schedule .date span {
		font-size: calc(100vw * (14.5 / 390));
	}

	.yukiakari_schedule dl {
		width: calc(100vw * (324 / 390));
		margin-left: auto;
		margin-right: auto;
		padding: 0.4em 0 0;
	}
	.yukiakari_schedule dl dt {
		letter-spacing: 0.5px;
		color: #fff;
		background-color: #cc9600;
		display: inline-block;
		border-radius: calc(100vw * (5 / 390));
		width: calc(100vw * (60 / 390));
		text-align: center;
		font-size: calc(100vw * (12 / 390));
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.yukiakari_schedule  dl dd {
		letter-spacing: 0;
		margin-left: 0.5em;
		font-size: calc(100vw * (15 / 390));
	}


	.yukiakari_price {
		display: flex;
		width: calc(100vw * (324 / 390));
		margin-left: auto;
		margin-right: auto;
		flex-direction: column;
		padding: 0 0 calc(100vw * (24 / 390)) 0;
	}
	.yukiakari_price .price {
		font-size: calc(100vw * (25 / 390));
		letter-spacing: 0;
		padding-bottom: 0;
		margin-bottom: 0;
		text-align: center;
	}
	.yukiakari_price .price span {
		font-size: calc(100vw * (12 / 390));
	}
	.yukiakari_price .price span.yen {
		font-size: calc(100vw * (18 / 390));
	}

	.btn_detail a {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: calc(100vw * (18 / 390));
		border-radius: calc(100vw * (5 / 390));
		padding: 0.2em;
		width: calc(100vw * (324 / 390));
		margin-left: auto;
		margin-right: auto;
	}
	.btn_detail a::after {
		content: '';
		width: calc(100vw * (16 / 390));
		height: calc(100vw * (16 / 390));
		background-image: url("../img/ico_open2.svg");
		background-size: calc(100vw * (16 / 390));
		margin-left: 0.8em;
	}
	
}

/* sec_yearend_newyear
---------------------------------------------------------------*/
.sec_yearend_newyear {
	
}
.newyear_lunch,
.yearend_plan {
	width: 740px;
	margin-top: 135px;
	margin-left: auto;
	margin-right: auto;
}
.yearend_plan .elm_logo {
	width: 202px;
	height: 202px;
	background-image: url("../img/pattern_04.svg");
	background-repeat: no-repeat;
	background-size: 202px;
	background-position: center center;
	
	position: absolute;
	top: -60px;
	left: -60px;
}
.newyear_lunch .elm_logo {
	width: 196px;
	height: 142px;
	background-image: url("../img/pattern_05.svg");
	background-repeat: no-repeat;
	background-size: 196px;
	background-position: center center;
	
	position: absolute;
	top: -20px;
	left: -60px;
}
.yearend_plan .elm_logo_img {
	width: 162px;
	
	position: absolute;
	bottom: 15px;
	right: 10px;
}
.newyear_lunch .elm_logo_img {
	width: 162px;
	
	position: absolute;
	bottom: 0px;
	right: 10px;
}
.newyear_lunch .elm_logo_img img,
.yearend_plan .elm_logo_img img {
	width: 162px;
}
.newyear_lunch_index,
.yearend_plan_index {
	margin-left: 160px;
}
.newyear_lunch h2,
.yearend_plan h2 {
	font-size: 32px;
	margin-bottom: 0.5em;
}
.newyear_lunch dl.index_list,
.yearend_plan dl.index_list {
	width: 435px;
	padding: 0.4em 0 0;
}
.newyear_lunch dl.index_list div,
.yearend_plan dl.index_list div {
	margin: 0 0 1.5em 0;
	padding: 0;
	display: flex;
	align-items: flex-start;
	flex: 1;
	line-height: 1.4;
}
.newyear_lunch dl.index_list dt,
.yearend_plan dl.index_list dt {
	letter-spacing: 0.5px;
	color: #fff;
	background-color: #4a6925;
	display: inline-block;
	border-radius: 5px;
	width: 50px;
	text-align: center;
	font-size: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1em;
}
.newyear_lunch dl.index_list dd,
.yearend_plan dl.index_list dd {
	display: block;
	line-height: 1.5;
}
.yearend_plan dl.index_list dd .price {
	display: flex;
	align-items: center;
	font-size: 25px;
	letter-spacing: 0.02em;
	padding-bottom: 0;
	margin-top: -14px;
	margin-bottom: 0;
	text-align: left;
	
}
.yearend_plan dl.index_list dd .price span {
	font-size: 12px;
	padding-top: 0.5em;
}
.yearend_plan dl.index_list dd .price span.yen {
	font-size: 18px;
	padding-top: 0.5em;
}
.yearend_plan dl.index_list dd p {
	font-size: 11px;
}
.newyear_lunch dl.index_list dd .date,
.yearend_plan dl.index_list dd .date {
	display: inline-block;
	font-size: 13px;
	margin-top: -0.2em;
	margin-right: 0.5em;
}
.yearend_plan dl.index_list dd .kome {
	font-size: 12px;	
}
.yearend_plan .side_img {
	width: 216px;
	height: 216px;
	position: absolute;
	top: -60px;
	right: -60px;
}
.newyear_lunch .side_img {
	width: 249px;
	height: 249px;
	position: absolute;
	top: 0px;
	right: -60px;
}
.yearend_plan_bg_wrap {
	width: 740px;
	background-color: #f0e7cf;
	border-radius: 10px;
	padding: 10px 15px;
	
	display: flex;
	justify-content: space-between;
}
.yearend_plan .yearend_plan_bg_wrap dl {
	width: 350px;
}
.yearend_plan .yearend_plan_bg_wrap dl div {
	margin: 0 0 0 0;
	padding: 0.2em 0;
}
.yearend_plan .yearend_plan_bg_wrap dl dt {
	background-color: #bba693;
}
.yearend_plan .yearend_plan_bg_wrap dl dd {
	font-size: 13px;
}
.yearend_plan_bg_wrap .image_wrap {
	width: 312px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.newyear_lunch_text p {
	font-size: 14px;
	line-height: 1.8;	
}

.newyear_lunch_products {
	padding: 50px 0 80px 0;
}
.newyear_lunch_products dl {
	display: flex;
	justify-content: space-between;
}
.newyear_lunch_products dl div {
	width: 207px;	
}
.newyear_lunch_products dl dt {
	color: #834916;
	font-size: 23px;
	border-bottom: 1px solid #c13a24;
}
.newyear_lunch_products dl dd .price {
	width: auto;
	font-size: 25px;
	letter-spacing: 0.02em;
	margin-right: 0.2em;
	text-align: right;
}
.newyear_lunch_products dl dd .price span {
	font-size: 12px;
}
.newyear_lunch_products dl dd .price span.yen {
	font-size: 18px;
}
.newyear_lunch_products dl dd .tax {
	width: auto;
	font-size: 12px;
	text-align: right;
}

@media (max-width: 767px) {
	
	.sec_yearend_newyear {
		overflow: hidden;
	}
	
	.newyear_lunch,
	.yearend_plan {
		width: calc(100vw * (340 / 390));
		margin-top: calc(100vw * (60 / 390));
		margin-left: auto;
		margin-right: auto;
	}
	.newyear_lunch h2,
	.yearend_plan h2 {
		font-size: calc(100vw * (26 / 390));
	}
	.newyear_lunch .sp-image img,
	.newyear_lunch .sp-image,
	.yearend_plan .sp-image img,
	.yearend_plan .sp-image {
		width: 100%;
		margin-bottom: calc(100vw * (20 / 390));
	}
	
	.yearend_plan .elm_logo {
		width: calc(100vw * (161.5 / 390));
		height: calc(100vw * (161.5 / 390));
		background-image: url("../img/pattern_04.svg");
		background-repeat: no-repeat;
		background-size: calc(100vw * (161.5 / 390));
		background-position: center center;
		position: absolute;
		top: calc(100vw * (155 / 390));
		right: calc(100vw * (-105 / 390));
		left: auto;
		z-index: -1;
	}
	.newyear_lunch .elm_logo {
		width: calc(100vw * (140 / 390));
		height: calc(100vw * (102 / 390));
		background-image: url("../img/pattern_05.svg");
		background-repeat: no-repeat;
		background-size: 196px;
		background-position: center center;
		position: absolute;
		top: calc(100vw * (160 / 390));
		right: calc(100vw * (-55 / 390));
		left: auto;
		z-index: -1;
	}
	.newyear_lunch_index,
	.yearend_plan_index {
		margin-left: 0;
	}

	.newyear_lunch dl.index_list,
	.yearend_plan dl.index_list {
		width: calc(100vw * (340 / 390));
		margin-left: auto;
		margin-right: auto;
		padding: 0.4em 0 0;
	}

	.yearend_plan_bg_wrap {
		width: 100%;
		background-color: #fff;
		border-radius: none;
		padding: 0 0;
		display: block;
	}
	
	.newyear_lunch dl.index_list div,
	.yearend_plan dl.index_list div {
		margin: 0 0 1em 0;
		padding: 0;
		display: flex;
		align-items: flex-start;
		flex: 1;
		line-height: 1.4;
	}
	.yearend_plan .yearend_plan_bg_wrap dl {
		width: calc(100vw * (340 / 390));
		margin-left: auto;
		margin-right: auto;
		border-top: 1px solid #000;
	}
	.yearend_plan .yearend_plan_bg_wrap dl div {
		margin: 0 0 0 0;
		padding: 0.8em 0;
		border-bottom: 1px solid #000;
	}
	.yearend_plan .yearend_plan_bg_wrap dl dt,
	.newyear_lunch dl.index_list dt,
	.yearend_plan dl.index_list dt {
		letter-spacing: 0.5px;
		color: #fff;
		background-color: #4a6925;
		display: inline-block;
		border-radius: calc(100vw * (5 / 390));
		width: calc(100vw * (45 / 390));
		text-align: center;
		font-size: calc(100vw * (8.5 / 390));
		display: flex;
		align-items: center;
		justify-content: center;
		margin-right: 1em;
	}
	.yearend_plan .yearend_plan_bg_wrap dl dd,
	.newyear_lunch dl.index_list dd,
	.yearend_plan dl.index_list dd {
		display: block;
		line-height: 1.5;
		font-size: calc(100vw * (12 / 390));
		position: relative;
	}
	.yearend_plan dl.index_list dd .price {
		display: flex;
		align-items: center;
		font-size: calc(100vw * (21 / 390));
		letter-spacing: 0.02em;
		padding-bottom: 0;
		margin-top: calc(100vw * (-14 / 390));;
		margin-bottom: 0;
		text-align: left;

	}
	.yearend_plan dl.index_list dd .price span {
		font-size: calc(100vw * (9 / 390));
		padding-top: 0.5em;
	}
	.yearend_plan dl.index_list dd .price span.yen {
		font-size: calc(100vw * (14 / 390));
		padding-top: 0.5em;
	}
	.yearend_plan dl.index_list dd p {
		font-size: calc(100vw * (9 / 390));
	}
	.newyear_lunch dl.index_list dd .date,
	.yearend_plan dl.index_list dd .date {
		display: inline-block;
		font-size: calc(100vw * (13 / 390));
		margin-top: -0.2em;
		margin-right: 0.5em;
	}
	.yearend_plan dl.index_list dd.sp-pos {
		padding-bottom: calc(100vw * (15 / 390));
	}
	.yearend_plan dl.index_list dd.sp-pos p {
		position: absolute;
		left: calc(100vw * (-50 / 390));
		width: calc(100vw * (340 / 390));
	}
	.newyear_lunch dl.index_list dd .kome,
	.yearend_plan dl.index_list dd .kome {
		display: block;
		font-size: calc(100vw * (8.5 / 390));
	}

	.yearend_plan_bg_wrap .image_wrap {
		display: none;
	}


	.newyear_lunch_text p {
		font-size: calc(100vw * (11 / 390));
		line-height: 1.8;	
	}
	
	.newyear_lunch_products {
		padding: 50px 0 80px 0;
	}
	.newyear_lunch_products dl {
		display: block;
	}
	.newyear_lunch_products dl > div {
		width: calc(100vw * (340 / 390));
		margin-left: auto;
		margin-right: auto;
		display: flex;
		border-bottom: 1px solid #c13a24;
		justify-content: space-between;
		padding-bottom: calc(100vw * (10 / 390));
		margin-bottom: calc(100vw * (15 / 390));
	}
	.newyear_lunch_products dl dt {
		color: #834916;
		font-size: calc(100vw * (22 / 390));
		border-bottom: none;
	}
	.newyear_lunch_products dl dd .price {
		width: auto;
		font-size: calc(100vw * (22 / 390));
		letter-spacing: 0.02em;
		margin-right: 0.2em;
		text-align: right;
	}
	.newyear_lunch_products dl dd .price span {
		font-size: calc(100vw * (11 / 390));
	}
	.newyear_lunch_products dl dd .price span.yen {
		font-size: calc(100vw * (16 / 390));
	}
	.newyear_lunch_products dl dd .tax {
		width: auto;
		font-size: calc(100vw * (10 / 390));
		text-align: right;
	}

}

.elm_gift {
	width: 740px;
	margin-left: auto;
	margin-right: auto;
	
	padding-top: 50px;
	
	border-top: 1px solid #231815;
}

.elm_gift .sec_header {
	text-align: center;
}
.elm_gift .sec_header h2 {
	font-size: 32px;
	margin-bottom: 20px;
}
.elm_gift .sec_header p {
	font-size: 14px;
	margin-bottom: 45px;
}

.gift_products_list {
	display: flex;
	justify-content: space-between;
}
.gift_products_list .gift_product {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.gift_products_list .gift_product .upper {
	
}
.gift_products_list .gift_product .upper h3 {
	font-size: 15px;
}
.gift_products_list .gift_product .upper .size {
	font-size: 13px;
}

.gift_products_list .gift_product .price {
	width: auto;
	font-size: 24px;
	letter-spacing: 0.02em;
	margin-right: 0.2em;
	text-align: right;
}
.gift_products_list .gift_product .price span {
	font-size: 11px;
}
.gift_products_list .gift_product .price span.set {
	font-size: 15px;
}
.gift_products_list .gift_product .price span.yen {
	font-size: 20px;
}

.elm_gift_reserve {
	display: flex;
	align-items: center;
	padding: 30px 0;
}
.elm_gift_reserve h3 {
	font-size: 15px;
	color: #fff;
	background-color: #647c00;
	display: inline-block;
	padding: 0.2em 0.4em;
	margin-right: 0.5em;
}
.elm_gift_reserve p {
	font-size: 14px;
}

@media (max-width: 767px) {
	.elm_gift {
		width: calc(100vw * (340 / 390));
		margin-left: auto;
		margin-right: auto;
		padding-top: 50px;
		border-top: none;
	}

	.elm_gift .sec_header h2 {
		font-size: calc(100vw * (25 / 390));
		margin-bottom: calc(100vw * (20 / 390));
	}
	.elm_gift .sec_header p {
		font-size: calc(100vw * (11 / 390));
		margin-bottom: calc(100vw * (30 / 390));
	}
	
	.gift_products_list {
		display: block;
		width: calc(100vw * (270 / 390));
		margin-left: auto;
		margin-right: auto;
	}
	.gift_products_list .gift_product {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		margin-bottom: calc(100vw * (30 / 390));
	}
	.gift_products_list .gift_product .image {
		width: 100%;
	}
	.gift_products_list .gift_product .image img {
		width: 100%;
	}
	.gift_products_list .gift_product .upper h3 {
		margin-top: 0.2em;
		font-size: calc(100vw * (12 / 390));
	}
	
	.gift_products_list .gift_product .price {
		font-size:  calc(100vw * (20 / 390));
	}
	.gift_products_list .gift_product .price span.set,
	.gift_products_list .gift_product .price span.size {
		font-size: calc(100vw * (13.5 / 390));
	}
	.gift_products_list .gift_product .price span {
		font-size:  calc(100vw * (11 / 390));
	}
	.gift_products_list .gift_product .price span.yen {
		font-size:  calc(100vw * (18 / 390));
	}
	
	.elm_gift_reserve {
		width: calc(100vw * (320 / 390));
		margin-left: auto;
		margin-right: auto;
		display: block;
		padding: 30px 0;
	}
	.elm_gift_reserve h3 {
		width: 100%;
		font-size: calc(100vw * (16 / 390));
		color: #fff;
		background-color: #647c00;
		display: inline-block;
		padding: 0.2em 0.4em;
		margin-right: 0.5em;
		text-align: center;
	}
	.elm_gift_reserve p {
		font-size: calc(100vw * (12 / 390));
		padding: 0.5em 1em;
	}
	
}

/* sec_information
---------------------------------------------------------------*/
.sec_information {
	background-color: #f6ece1;
	padding-top: 90px;
}
.sec_information .sec_header {
	text-align: center;
}
.sec_information .sec_header h2 {
	font-size: 40px;
	margin-bottom: 20px;
}
.sec_information .sec_header ul {
	display: inline-block;
	width: auto;
	margin-left: auto;
	margin-right: auto;
}
.sec_information .sec_header ul li {
	text-align: left;
	font-size: 15px;
}

.schedule_list {
	width: 740px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 50px;
	padding-bottom: 50px;
}
.schedule_list div {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.schedule_list div dt {
	width: 100%;
	font-size: 25px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 0;
}
.schedule_list div dt::before,
.schedule_list div dt::after {
	content: '';
	display: inline-block;
	width: 282px;
	height: 5px;
	background-image: url("../img/gift_line.svg");
	background-repeat: no-repeat;
	background-position: center center;
}
.schedule_list div dd {
	width: 50%;
	font-size: 20px;
	text-align: center;
	padding: 15px 0 20px 35px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	box-sizing: border-box;
}
.schedule_list div dd.yearend::before {
	content: '年内';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 37px;
	height: 37px;
	margin-right: 0.5em;
	border-radius: 999px;
	background-color: #30667c;
	color: #fff;
	font-size: 14px;
}
.schedule_list div dd.newyear::before {
	content: '年始';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 37px;
	height: 37px;
	margin-right: 0.5em;
	border-radius: 999px;
	background-color: #7b4e62;
	color: #fff;
	font-size: 14px;
}

@media (max-width: 767px) {
	
	.sec_information .sec_header h2 {
		font-size: calc(100vw * (20 / 390));
		margin-bottom: calc(100vw * (20 / 390));
	}
	.sec_information .sec_header ul {
		width: calc(100vw * (320 / 390));	
	}
	.sec_information .sec_header ul li {
		font-size: calc(100vw * (12 / 390));
	}
	
	.schedule_list {
		width: calc(100vw * (215 / 390));
		margin-left: auto;
		margin-right: auto;
	}
	.schedule_list div dt {
		font-size: calc(100vw * (17 / 390));
	}
	.schedule_list div dd {
		width: 100%;
		font-size: calc(100vw * (14 / 390));
		padding: calc(100vw * (10 / 390)) 0;
	}
	
	.schedule_list div dt::before,
	.schedule_list div dt::after {
		width: calc(100vw * (54 / 390));
		height: calc(100vw * (3.6 / 390));
		background-image: url("../img/gift_line-sp.svg");
	}
	.schedule_list div dd.yearend {
		border-bottom: 2px solid #3e6815;
	}
	.schedule_list div dd.yearend::before {
		width: calc(100vw * (24 / 390));
		height: calc(100vw * (24 / 390));
		font-size: calc(100vw * (9 / 390));
	}
	.schedule_list div dd.newyear::before {
		width: calc(100vw * (24 / 390));
		height: calc(100vw * (24 / 390));
		font-size: calc(100vw * (9 / 390));
	}

}
