@charset 'UTF-8';

/* -------------------------------- common */
body > *:not(header, footer, .sec_04_03) {
	font-family: "Noto Sans JP", sans-serif !important;
	color: #2a221c;
    background-color: #f9f6f2;
}
.img_100 img {
	width: 100%;
}
.clearFix {
	overflow: hidden;
}
.fl {
	float: left;
}
.fr {
	float: right;
}
.txt_bold {
	font-weight: bold;
}
.red {
	display: block;
	font-weight: normal;
	color: red !important;
	line-height: 1;
}
.forPC,
.forSP {
	display: none !important;
}
@media not screen and (max-width:768px) {
	.forPC {
		display: block !important;
	}
}
@media screen and (max-width:768px) {
	.forSP {
		display: block !important;
	}
}
#header.close_bnr_after {
	position: fixed !important;
	top: 0 !important;
}
.reserve-bnr {
	position: fixed;
    top: var(--header-height);
    left: 0px;
    right: 0px;
    height: 36px;
    background: rgba(158, 12, 12, 0.95);
    border-width: medium medium 1px;
    border-style: none none solid;
    border-color: currentcolor currentcolor rgba(249, 232, 171, 0.25);
    border-image: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    z-index: 99;
    backdrop-filter: blur(4px);
    transition: background 0.2s, top 0.8s;
}
#header.close_bnr_after.hide + .forPC .reserve-bnr {
    top: 0;
}
.reserve-bnr:hover {
	background: rgba(178, 14, 14, 0.99);
    opacity: 1;
}
.mv-info svg,
.section-area svg,
.modal-cnt svg,
.reserve-bnr > svg {
	transform: none;
    position: relative;
    left: auto;
    top: auto;
}
.reserve-bnr > svg:first-child {
	flex-shrink: 0;
    opacity: 0.85;
}
.reserve-bnr > svg:last-child {
    opacity: 0.6;
}
.reserve-bnr .txt01 {
	font-family: "Shippori Mincho", serif;
    font-size: 12px;
    letter-spacing: 0.22em;
    color: rgb(255, 243, 217);
    font-weight: 600;
}
.reserve-bnr .txt02 {
	font-size: 10px;
    letter-spacing: 0.14em;
    color: rgba(249, 232, 171, 0.55);
    margin-left: 4px;
}
@media screen and (max-width:768px) {
	.reserve-bnr {
		position: fixed;
		left: -1px;
		top: 230px;
		width: 24px;
		height: 120px;
		background: rgba(158, 12, 12, 0.93);
		border-width: 1px 1px 1px medium;
		border-style: solid solid solid none;
		border-color: rgba(249, 232, 171, 0.15) rgba(249, 232, 171, 0.2) rgba(249, 232, 171, 0.15) currentcolor;
		border-image: none;
		border-radius: 3px;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		z-index: 101;
		padding: 0px;
		gap: 0px;
		box-shadow: rgba(0, 0, 0, 0.3) 2px 0px 12px;
	}
	.reserve-bnr > span {
		font-family: "Shippori Mincho", serif;
		font-size: 14px;
		letter-spacing: 0.18em;
		color: rgb(255, 243, 217);
		font-weight: 600;
		writing-mode: vertical-rl;
		text-orientation: mixed;
		white-space: nowrap;
	}
}
.section-mv-area {
	padding-top: 135px;
	position: relative;
}
.section-mv-area .mv-img {
	width: 100%;
    height: 90vh;
    min-height: 785px;
    object-fit: cover;
    display: block;
}
.section-mv-content {
	position: absolute;
    inset: 0px;
    background: radial-gradient(60% 55%, rgba(30, 14, 10, 0.52) 0%, rgba(20, 10, 6, 0.14) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 50px;
    padding-top: 135px;
    min-height: 785px;
}
.mv-top {
	display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 3;
}
.mv-txt01 {
	border: 1px solid rgba(200, 168, 107, 0.75);
    color: rgb(230, 211, 168);
    font-size: 10px;
    letter-spacing: 0.2em;
    padding: 7px 22px;
    display: inline-block;
    margin-bottom: 40px;
}
.mv-ttl {
	font-family: "Shippori Mincho", serif;
    font-size: clamp(16px, 2.28vw, 30px);
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.3;
    margin-bottom: 14px;
    padding-bottom: 15px;
    color: rgb(245, 239, 232);
    text-align: center;
    position: relative;
    text-transform: uppercase;
}
.mv-ttl::after {
    content: '';
    width: 32px;
    height: 1px;
    background: rgb(200, 168, 107);
    opacity: 0.8;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -16px;
}
.mv-ttl span {
    font-family: "bickham-script-pro-3", cursive;
    font-size: clamp(70px, 10vw, 150px);
    font-weight: 400;
    text-transform: capitalize;
    opacity: 0;
    transition: opacity .3s ease;
    line-height: 0.6;
    display: block;
    letter-spacing: 0.01em;
}
.mv-ttl span.is-loaded {
    opacity: 1;
}
.mv-txt02 {
    font-family: "Shippori Mincho", serif;
	font-size: clamp(13px, 1.4vw, 16px);
    letter-spacing: 0.1em;
    color: rgba(240, 234, 224, 0.82);
    font-weight: 300;
    text-align: center;
}
.mv-info {
    z-index: 3;
    display: flex;
    gap: 8px;
    align-items: stretch;
    width: min(478px, -32px + 100vw);
    margin-top: 50px;
}
.mv-info .col-left {
	flex: 1 1 0%;
	border: 1px solid rgba(249, 232, 171, 0.55);
    background: rgba(158, 12, 12, 0.92);
    box-shadow: rgba(158, 12, 12, 0.45) 0px 0px 24px;
    transition: background 0.2s, box-shadow 0.2s;
    cursor: pointer;
    width: calc(240 / 478 * 100%);
}
.mv-info .col-left:hover {
    background: rgba(178, 14, 14, 0.97);
    box-shadow: rgba(158, 12, 12, 0.65) 0px 0px 36px;
}
.mv-info .col-right {
    border: 1px solid rgba(197, 164, 105, 0.4);
    padding: clamp(12px, 2vw, 18px) clamp(8px, 2.5vw, 22px);
    background: rgba(32, 60, 48, 0.93);
    text-align: center;
    width: calc(230 / 478 * 100%);
}
.mv-info .col-left a {
    padding: clamp(12px, 2vw, 18px) clamp(12px, 3vw, 28px);
    text-align: center;
	height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.mv-info .col-left a:hover {
    opacity: 1;
}
.mv-info .mv-info-txt01 {
	font-size: 9px;
    letter-spacing: 0.16em;
    color: rgba(249, 232, 171, 0.9);
    padding-bottom: 9px;
    margin-bottom: 10px;
    white-space: nowrap;
    width: 100%;
    position: relative;
}
.mv-info .mv-info-txt01::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(249, 232, 171, 0.45), transparent);
    width: 100%;
}
.mv-info .mv-info-ttl {
	font-family: "Shippori Mincho", serif;
    font-size: clamp(12px, 3.2vw, 17px);
    font-weight: 600;
    letter-spacing: 0.08em;
    color: rgb(255, 243, 217);
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
.mv-info .col-right .mv-info-ttl {
    justify-content: center;
}
.mv-info .col-right .mv-info-ttl a {
	font-size: clamp(13px, 3.5vw, 20px);
    font-weight: 500;
    letter-spacing: clamp(0.06em, 0.8vw, 0.18em);
    color: rgb(250, 247, 242);
}
.mv-info .mv-info-ttl svg {
    flex-shrink: 0;
}
.mv-info .col-right .mv-info-ttl svg {
    opacity: 0.7;
}
.mv-info .mv-info-txt02 {
	font-size: 9px;
    letter-spacing: 0.1em;
    color: rgba(249, 232, 171, 0.6);
    margin-top: 7px;
}
.mv-info .col-right .mv-info-txt02 {
    color: rgba(250, 247, 242, 0.45);
}
.scroll-btn {
    text-align: center;
    z-index: 3;
    margin-top: 50px;
}
.scroll-btn p {
	font-size: 9px;
    letter-spacing: 0.18em;
    color: rgba(200, 168, 107, 0.65);
    margin-bottom: 8px;
}
.scroll-arrow {
	background: linear-gradient(#0000, #c8a86bb3);
    width: 1px;
    height: 60px;
    margin: 0 auto;
    position: relative;
}
.scroll-arrow::after {
	content: "";
    border-top: 5px solid #c8a86bb3;
    border-left: 3px solid #0000;
    border-right: 3px solid #0000;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
}
@keyframes snowFall {
    0% {
        opacity: 0;
        transform: translateY(-16px)translate(0)
    }

    8% {
        opacity: 1
    }

    92% {
        opacity: .6
    }

    to {
        opacity: 0;
        transform: translateY(90vh)translate(14px)
    }
}
.snow-particle {
	color: #fff;
    pointer-events: none;
    z-index: 1;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.4);
    line-height: 1;
    animation: linear infinite snowFall;
    position: absolute;
	top: 0;
}
.snow-particle01 {
	left: 6%;
    font-size: 24px;
    opacity: 0.7;
    animation-duration: 14s;
    animation-delay: 0s;
}
.snow-particle02 {
	left: 14%;
    font-size: 18px;
    opacity: 0.55;
    animation-duration: 11s;
    animation-delay: 4.2s;
}
.snow-particle03 {
	left: 23%;
    font-size: 26px;
    opacity: 0.65;
    animation-duration: 16s;
    animation-delay: 8s;
}
.snow-particle04 {
	left: 35%;
    font-size: 20px;
    opacity: 0.5;
    animation-duration: 13s;
    animation-delay: 1.8s;
}
.snow-particle05 {
	left: 48%;
    font-size: 24px;
    opacity: 0.65;
    animation-duration: 15s;
    animation-delay: 6s;
}
.snow-particle06 {
	left: 57%;
    font-size: 18px;
    opacity: 0.55;
    animation-duration: 12s;
    animation-delay: 10.5s;
}
.snow-particle07 {
	left: 68%;
    font-size: 28px;
    opacity: 0.6;
    animation-duration: 17s;
    animation-delay: 3s;
}
.snow-particle08 {
	left: 78%;
    font-size: 20px;
    opacity: 0.5;
    animation-duration: 14s;
    animation-delay: 7.5s;
}
.snow-particle09 {
	left: 87%;
    font-size: 24px;
    opacity: 0.65;
    animation-duration: 11s;
    animation-delay: 2.5s;
}
.snow-particle10 {
	left: 94%;
    font-size: 18px;
    opacity: 0.55;
    animation-duration: 16s;
    animation-delay: 5.5s;
}
@media screen and (max-width:1279px) {
	.section-mv-area {
		padding-top: calc(var(--header-height) + 36px);
	}
}
@media screen and (max-width: 768px) {
    .section-mv-area {
        padding-top: calc(var(--header-height));
    }
    .section-mv-content {
        padding-bottom: 35px;
        padding-top: calc(var(--header-height));
        min-height: 600px;
    }
    .mv-info,
    .scroll-btn {
        margin-top: 35px;
    }
    .mv-txt01 {
        margin-bottom: 30px;
    }
    .section-mv-area .mv-img {
        max-height: 600px;
    }
}
.section-area {
	padding: 96px 0;
}
.section-cnt {
	max-width: 1200px;
    margin: 0 auto;
	padding: 0 48px;
}
.section-ttl {
	text-align: center;
	max-width: 1200px;
    margin: 0 auto;
	position: relative;
	padding: 0 48px;
    font-family: "Noto Sans JP", sans-serif;
}
.section-ttl span {
	display: block;
}
.section-ttl span.en {
	font-size: 10px;
    letter-spacing: 0.22em;
    color: rgb(200, 168, 107);
    margin-bottom: 12px;
    text-transform: uppercase;
}
.section-ttl span.jp {
	font-family: "Shippori Mincho", serif;
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 600;
    letter-spacing: 0.08em;
    color: rgb(42, 34, 28);
}
@media screen and (max-width: 1024px) {
    .section-cnt {
        padding: 0 32px;
    }
    .section-ttl {
        padding: 0 32px;
    }
}
@media screen and (max-width: 768px) {
    .section-area {
        padding: 56px 0;
    }
    .section-cnt {
        padding: 0 20px;
    }
    .section-ttl {
        padding: 0 20px;
    }
}
body > .anchor-area {
	background: rgb(249, 246, 242);
    border-top: 3px solid rgb(44, 74, 56);
}
.anchor-list {
    margin-top: 56px;
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
    gap: 28px;
}
.anchor-list li {
	width: calc((100% - 56px) / 3);
}
.anchor-list li a {
	overflow: hidden;
	background: #fff;
    border: 1px solid #e8e0d6;
    border-top-width: 2px;
    display: block;
	transition: box-shadow 0.2s, transform 0.2s;
}
.anchor-list li.cl-mauve a {
	border-top-color: rgb(178, 139, 158);
}
.anchor-list li.cl-dancing a {
	border-top-color: rgb(197, 185, 161);
}
.anchor-list li.cl-saxon a {
	border-top-color: rgb(171, 194, 160);
}
.anchor-list li.cl-bamboo a {
	border-top-color: rgb(188, 171, 142);
}
.anchor-list li.cl-grey a {
	border-top-color: rgb(147, 172, 172);
}
.anchor-list li.cl-glossy a {
	border-top-color: rgb(169, 150, 177);
}
.anchor-list li a:hover {
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.10);
    transform: translateY(-3px);
	opacity: 1;
}
.anchor-list li .img {
	overflow: hidden;
}
.anchor-list li .img img {
	width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
	transition: transform .65s cubic-bezier(.25, .46, .45, .94);
}
.anchor-list a:hover .img img {
	transform: scale(1.04);
}
.corner-box > span {
	position: absolute;
    width: 16px;
    height: 16px;
    pointer-events: none;
    z-index: 2;
}
.corner-box {
	position: relative;
}
.corner-box .cor01 {
    top: 10px;
    left: 10px;
    border-top: 1px solid rgba(197, 164, 105, 0.55);
    border-left: 1px solid rgba(197, 164, 105, 0.55);
}
.corner-box .cor02 {
    top: 10px;
    right: 10px;
    border-top: 1px solid rgba(197, 164, 105, 0.55);
    border-right: 1px solid rgba(197, 164, 105, 0.55);
}
.corner-box .cor03 {
    top: 215px;
    left: 10px;
    border-bottom: 1px solid rgba(197, 164, 105, 0.55);
    border-left: 1px solid rgba(197, 164, 105, 0.55);
}
.corner-box .cor04 {
    top: 215px;
    right: 10px;
    border-bottom: 1px solid rgba(197, 164, 105, 0.55);
    border-right: 1px solid rgba(197, 164, 105, 0.55);
}
.anchor-txt {
	padding: 24px 24px 28px;
}
.anchor-txt .txt01 {
	font-size: 12px;
    letter-spacing: 0.18em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.cl-mauve .anchor-txt .txt01 {
	color: rgb(178, 139, 158);
}
.cl-dancing .anchor-txt .txt01 {
	color: rgb(197, 185, 161);
}
.cl-saxon .anchor-txt .txt01 {
	color: rgb(171, 194, 160);
}
.cl-bamboo .anchor-txt .txt01 {
	color: rgb(188, 171, 142);
}
.cl-grey .anchor-txt .txt01 {
	color: rgb(147, 172, 172);
}
.cl-glossy .anchor-txt .txt01 {
	color: rgb(169, 150, 177);
}
.anchor-txt .ttl {
	font-family: "Shippori Mincho", serif;
    font-size: 17px;
    font-weight: 600;
    color: rgb(42, 34, 28);
    letter-spacing: 0.06em;
    margin-bottom: 8px;
}
.anchor-txt .txt02 {
	font-size: 13px;
    color: rgb(90, 80, 72);
    margin-bottom: 4px;
}
.anchor-txt .price {
	font-size: 16px;
    font-weight: 600;
    color: rgb(42, 34, 28);
    letter-spacing: 0.04em;
    margin-bottom: 24px;
    font-family: "Shippori Mincho", serif;
}
.anchor-txt .txt03 {
	display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.08em;
    padding-bottom: 2px;
}
.cl-mauve .anchor-txt .txt03 {
	color: rgb(178, 139, 158);
	border-bottom: 1px solid rgb(178, 139, 158);
}
.cl-dancing .anchor-txt .txt03 {
	color: rgb(197, 185, 161);
	border-bottom: 1px solid rgb(197, 185, 161);
}
.cl-saxon .anchor-txt .txt03 {
	color: rgb(171, 194, 160);
	border-bottom: 1px solid rgb(171, 194, 160);
}
.cl-bamboo .anchor-txt .txt03 {
	color: rgb(188, 171, 142);
	border-bottom: 1px solid rgb(188, 171, 142);
}
.cl-grey .anchor-txt .txt03 {
	color: rgb(147, 172, 172);
	border-bottom: 1px solid rgb(147, 172, 172);
}
.cl-glossy .anchor-txt .txt03 {
	color: rgb(169, 150, 177);
	border-bottom: 1px solid rgb(169, 150, 177);
}
@media screen and (max-width: 1024px) {
    .anchor-list li {
        width: calc((100% - 28px) / 2);
    }
}
@media screen and (max-width: 768px) {
    body > .anchor-area {
        display: none;
    }
    .anchor-list li {
        width: 100%;
    }
}
body > .info-area {
	background: rgb(44, 74, 56);
}
.info-cnt {
	display: flex;
	justify-content: space-between;
	align-items: center;
    flex-wrap: wrap;
}
.info-img {
	width: calc(512 / 1104 * 100%);
	overflow: hidden;
}
.info-img img {
	width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
}
.info-content {
	width: calc(512 / 1104 * 100%);
}
.info-ttl {
	position: relative;
	padding-bottom: 19px;
	margin-bottom: 18px;
}
.info-ttl::after {
	content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background: #c8a86b;
    width: 36px;
    height: 1px;
}
.info-ttl .en {
	display: block;
    font-size: 10px;
    letter-spacing: 0.22em;
    color: rgb(200, 168, 107);
    margin-bottom: 12px;
    text-transform: uppercase;
}
.info-ttl .jp {
	font-family: "Shippori Mincho", serif;
    font-size: clamp(22px, 2.4vw, 32px);
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.5;
    color: rgb(245, 238, 230);
    margin-bottom: 0px;
}
.info-list {
	display: flex;
    flex-direction: column;
    gap: 28px;
}
.info-list li {
	border-bottom: 1px solid rgba(200, 168, 107, 0.15);
    padding-bottom: 20px;
}
.info-list li .ttl {
	font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: rgb(230, 211, 168);
    margin-bottom: 8px;
    font-family: "Shippori Mincho", serif;
}
.info-list li .txt {
	font-size: 14px;
    color: rgba(230, 220, 210, 0.78);
    line-height: 1.85;
}
@media screen and (max-width: 768px) {
    .info-img,
    .info-content {
        width: 100%;
    }
    .info-content {
        margin-top: 40px;
    }
}
.section-area.product-area {
	padding: 80px 0 0;
}
.product-list {
	margin-top: 18px;
}
.product-list > li {
	background: rgb(255, 252, 249);
    padding: 80px 0px;
    border-top: 3px solid;
}
.product-list > li.product01 {
	border-top-color: rgb(178, 139, 158);
}
.product-list > li.product02 {
	border-top-color: rgb(197, 185, 161);
}
.product-list > li.product03 {
	border-top-color: rgb(171, 194, 160);
}
.product-list > li.product04 {
	border-top-color: rgb(188, 171, 142);
}
.product-list > li.product05 {
	border-top-color: rgb(147, 172, 172);
}
.product-list > li.product06 {
	border-top-color: rgb(169, 150, 177);
}
.product-list > li .anchor-pos {
    position: relative;
    top: calc((var(--header-height) + 119px) * -1);
    display: block;
    height: 0;
}
.product-list > li .section-cnt {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.product-list > li .img-slider {
	width: calc(568 / 1104 * 100%);
}
.product-list > li .product-content {
	width: calc(464 / 1104 * 100%);
    padding-top: 16px;
}
.product-list > li video {
	max-width: 100%;
}
.product-content .product-num {
	font-size: 10px;
    letter-spacing: 0.22em;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.product01 .product-content .product-num {
	color: rgb(178, 139, 158);
}
.product02 .product-content .product-num {
	color: rgb(197, 185, 161);
}
.product03 .product-content .product-num {
	color: rgb(171, 194, 160);
}
.product04 .product-content .product-num {
	color: rgb(188, 171, 142);
}
.product05 .product-content .product-num {
	color: rgb(147, 172, 172);
}
.product06 .product-content .product-num {
	color: rgb(169, 150, 177);
}
.product-content .ttl {
	font-family: "Shippori Mincho", serif;
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 600;
    letter-spacing: 0.08em;
    color: rgb(42, 34, 28);
    margin-bottom: 4px;
}
.product-content .cap {
	font-size: 13px;
    color: rgb(90, 80, 72);
    letter-spacing: 0.06em;
    font-style: italic;
    font-family: "Shippori Mincho", serif;
    border-left: 3px solid rgb(178, 139, 158);
    padding-left: 12px;
    opacity: 0.85;
	margin-bottom: 0;
}
.product01 .product-content .cap {
	border-left-color: rgb(178, 139, 158);
}
.product02 .product-content .cap {
	border-left-color: rgb(197, 185, 161);
}
.product03 .product-content .cap {
	border-left-color: rgb(171, 194, 160);
}
.product04 .product-content .cap {
	border-left-color: rgb(188, 171, 142);
}
.product05 .product-content .cap {
	border-left-color: rgb(147, 172, 172);
}
.product06 .product-content .cap {
	border-left-color: rgb(169, 150, 177);
}
.product-content .txt {
	font-size: 14px;
    color: rgb(90, 80, 72);
    line-height: 1.9;
    margin-bottom: 28px;
	padding-top: 14px;
    margin-top: 14px;
    position: relative;
}
.product-content .txt::before {
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: #c8a86b;
    width: 36px;
    height: 1px;
}
.product-content .product-info {
	border-top: 1px solid rgb(232, 224, 214);
    border-bottom: 1px solid rgb(232, 224, 214);
    padding: 20px 0px;
    margin-bottom: 28px;
}
.product-content .product-info dl {
	display: flex;
    justify-content: space-between;
	align-items: center;
    flex-wrap: wrap;
	gap: 12px;
}
.product-content .product-info dt {
	width: 72px;
	font-size: 10px;
    letter-spacing: 0.14em;
    color: rgb(178, 139, 158);
    flex-shrink: 0;
    text-transform: uppercase;
    font-weight: 600;
}
.product01 .product-content .product-info dt {
	color: rgb(178, 139, 158);
}
.product02 .product-content .product-info dt {
	color: rgb(197, 185, 161);
}
.product03 .product-content .product-info dt {
	color: rgb(171, 194, 160);
}
.product04 .product-content .product-info dt {
	color: rgb(188, 171, 142);
}
.product05 .product-content .product-info dt {
	color: rgb(147, 172, 172);
}
.product06 .product-content .product-info dt {
	color: rgb(169, 150, 177);
}
.product-content .product-info dd {
	width: calc(100% - 92px);
	font-size: 13px;
    color: rgb(42, 34, 28);
}
.product-list > li .gallery-wrap > .swiper {
	display: block;
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0 0 20px;
    position: relative;
    z-index: 1;
}
.js-slider .is-image {
    cursor: zoom-in;
}
.is-video,
.video-play {
    cursor: pointer;
}
.gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: rgba(6, 4, 2, 0.95);
    backdrop-filter: blur(10px);
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
}
.gallery-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.modal-close {
    width: 40px;
    height: 40px;
    background: transparent;
    border: 1px solid rgba(200, 168, 107, 0.3);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s;
}
.modal-main {
    width: 100%;
    margin: 0 auto;
    height: calc(100vh - 138px);
}
.modal-main .swiper-slide {
    display: flex;
    align-items: center;
}
.modal-main img,
.modal-main video {
    display: block;
    width: 100%;
    max-height: calc(100vh - 138px);
    object-fit: contain;
}
.slide-counter {
    font-size: 11px;
    letter-spacing: 0.2em;
    color: rgb(200, 168, 107);
    opacity: 0.75;
}
.img-slider.corner-box .cor03,
.img-slider.corner-box .cor04 {
	top: 394px;
}
.js-slider .swiper-slide img {
	width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
}
.js-slider .swiper-slide.is-video {
	position: relative;
    width: 100%;
    height: 420px;
    background: rgb(10, 10, 10);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.js-slider .swiper-slide.is-video video {
	object-fit: cover;
    display: block;
	width: 100%;
	height: 100%;
}
.swiper-slide.is-video button {
	position: absolute;
	inset: 0px;
	background: transparent;
	border-width: medium;
	border-style: none;
	border-color: currentcolor;
	border-image: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.swiper-slide.is-video button div {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(10, 8, 6, 0.55);
	border: 2px solid rgb(200, 168, 107);
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(6px);
	transition: transform 0.18s, background 0.18s;
}
.swiper-slide.is-video button div svg {
	margin-left: 3px;
}
.js-slider.swiper-container-horizontal > .swiper-pagination-bullets {
    right: 50%;
    bottom: 0;
    transform: translateX(50%);
}
.js-slider.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
	width: 6px;
    height: 6px;
    background: rgb(208, 196, 180);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    cursor: pointer;
    padding: 0px;
    transition: width 0.3s, background 0.3s;
	border-radius: 0;
    margin: 0 4px;
}
.js-slider.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet-active {
	width: 20px;
	background: rgb(200, 168, 107);
}
.js-slider .swiper-button-prev,
.js-slider .swiper-container-rtl .swiper-button-next,
.js-slider .swiper-button-next,
.js-slider .swiper-container-rtl .swiper-button-prev {
    background-size: 10px 16px;
	position: absolute;
    top: 55%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background-color: rgba(249, 246, 242, 0.88);
    border: 1px solid rgba(200, 168, 107, 0.4);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    backdrop-filter: blur(2px);
    transition: background 0.2s;
}
.js-slider .swiper-button-next,
.js-slider .swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%232A221C'%2F%3E%3C%2Fsvg%3E");
    right: 14px;
}
.js-slider .swiper-button-prev,
.js-slider .swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%232A221C'%2F%3E%3C%2Fsvg%3E");
    left: 14px;
}
.gallery-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(200, 168, 107, 0.12);
}
.product-list > li .swiper.modal-thumb {
    display: block;
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    position: relative;
    z-index: 1;
    width: 100%;
}
.modal-thumb .swiper-wrapper {
    display: flex;
    height: auto;
    gap: 8px;
    justify-content: center;
    align-items: center;
    padding: 14px 20px;
    flex-shrink: 0;
    border-top: 1px solid rgba(200, 168, 107, 0.1);
    box-sizing: border-box;
}
.modal-thumb .swiper-slide {
    cursor: pointer;
    width: 56px !important;
    height: 40px;
    padding: 0px;
    flex-shrink: 0;
    overflow: hidden;
    border: 2px solid rgba(200, 168, 107, 0.2);
    cursor: pointer;
    background: rgb(17, 17, 17);
    transition: border-color 0.2s;
    margin-right: 0 !important;
}
.modal-thumb .swiper-slide.swiper-slide-active {
    opacity: 1;
    border: 2px solid rgb(200, 168, 107);
}
.modal-thumb .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.modal-main .swiper-button-prev,
.modal-main .swiper-container-rtl .swiper-button-next,
.modal-main .swiper-button-next,
.modal-main .swiper-container-rtl .swiper-button-prev {
    background-size: 10px 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(200, 168, 107, 0.35);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s;
    margin-top: 0;
}
.modal-main .swiper-button-next,
.modal-main .swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23C8A86B'%2F%3E%3C%2Fsvg%3E");
    right: 12px;
}
.modal-main .swiper-button-prev,
.modal-main .swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23C8A86B'%2F%3E%3C%2Fsvg%3E");
    left: 12px;
}
.gallery-modal .swiper-button-disabled {
    opacity: 1;
    pointer-events: auto;
}
@media screen and (min-width: 901px) {
    .product-list > li:nth-child(2n) .img-slider {
        order: 2;
    }
    .product-list > li:nth-child(2n) .product-content {
        order: 1;
    }
}
@media screen and (max-width: 900px) {
    .product-list > li .section-cnt {
        flex-direction: column;
        gap: 40px;
    }
    .product-list > li .img-slider,
    .product-list > li .product-content {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .product-list > li .anchor-pos {
        top: calc((var(--header-height) + 80px) * -1);
    }
}
body > .section-area.additional-area {
    background: rgb(139, 0, 0);
    padding: 20px;
}
.additional-inner {
    padding: 44px 0;
    border: 1px solid rgba(249, 232, 171, 0.2);
}
.additional-inner .section-ttl span.en,
.additional-inner .section-ttl span.jp {
    color: rgb(249, 232, 171);
}
.additional-inner .section-ttl span.jp {
    font-size: clamp(20px, 2vw, 26px);
}
.additional-list {
    margin-top: 48px;
}
.additional-list > li {
    display: flex;
    border: 1px solid rgba(249, 232, 171, 0.22);
    justify-content: space-between;
    flex-wrap: wrap;
    font-weight: 700;
}
.additional-list > li + li {
    margin-top: 32px;
}
.additional-list > li .left {
    width: calc(100% - 260px);
    padding: 28px 32px;
}
.additional-list > li .left .ttl {
    font-size: 18px;
    letter-spacing: 0.2em;
    color: rgb(249, 232, 171);
    margin-bottom: 14px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: "Shippori Mincho", serif;
}
.additional-list > li .left .txt {
    font-size: 13px;
    color: rgba(255, 243, 217, 0.82);
    letter-spacing: 0.04em;
    line-height: 1.85;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 16px;
}
.additional-list > li .left .note {
    border-top: 1px solid rgba(249, 232, 171, 0.25);
    padding-top: 12px;
    font-size: 12px;
    color: rgba(255, 243, 217, 0.75);
    letter-spacing: 0.04em;
    line-height: 1.8;
    font-family: "Shippori Mincho", serif;
}
.price-list {
    border-top: 1px solid rgba(249, 232, 171, 0.25);
}
.price-list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 14px 0px;
    border-bottom: 1px solid rgba(249, 232, 171, 0.25);
    gap: 16px;
}
.price-list:has(+ .note) li {
    border-bottom: none;
}
.price-list li > span:first-child {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex: 1 1 0%;
    font-family: "Shippori Mincho", serif;
    font-size: 18px;
    font-weight: 700;
    color: rgb(249, 232, 171);
    letter-spacing: 0.06em;
}
.price-list li > span:first-child .sm {
    font-size: 12px;
    color: rgba(249, 232, 171, 0.75);
    letter-spacing: 0.06em;
    font-family: Noto Sans JP, sans-serif;
}
.price-list li > span:last-child {
    font-size: 18px;
    font-weight: 700;
    color: rgb(249, 232, 171);
    letter-spacing: 0.06em;
    flex-shrink: 0;
    font-family: "Shippori Mincho", serif;
}
.additional-list > li .right {
    width: 260px;
}
.additional-list > li .right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 160px;
}
@media screen and (max-width:1280px) {
    .additional-area .section-cnt {
        padding: 0 28px;
    }
    .additional-area .section-ttl {
        padding: 0 28px;
    }
}
@media screen and (max-width:768px) {
    .additional-area .section-cnt {
        padding: 0 20px;
    }
    .additional-area .section-ttl {
        padding: 0 20px;
    }
    .additional-list > li .left {
        width: 100%;
        padding: 28px 32px;
    }
    .additional-list > li .left .img {
        margin: 0px -32px 20px;
        height: 200px;
        overflow: hidden;
        border-top: 1px solid rgba(249, 232, 171, 0.18);
        border-bottom: 1px solid rgba(249, 232, 171, 0.18);
    }
    .additional-list > li .left .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .price-list li {
        align-items: flex-start;
        gap: 4px;
        flex-direction: column;
    }
}
body > .section-area.comparison-area {
    background: rgb(240, 235, 227);
    border-top: 3px solid rgb(74, 20, 37);
}
.comparison-table {
    margin-top: 56px;
}
.comparison-table .wf-table {
    width: 100%;
}
.comparison-table .wf-table th {
    color: #f0ebe3;
    letter-spacing: .1em;
    text-align: left;
    background: #2c4a38;
    border: 1px solid #224035;
    padding: 13px 16px;
    font-size: 13px;
    font-weight: 400;
}
.comparison-table .wf-table td {
    color: #383028;
    vertical-align: top;
    background: #fff;
    border: 1px solid #eae2d8;
    padding: 14px 16px;
    font-size: 14px;
}
.comparison-table .wf-table td:first-child {
    font-weight: 500;
    font-family: "Shippori Mincho", serif;
}
.comparison-table .wf-table tr:nth-child(even) td {
    background: #FAF8F5;
}
@media (max-width: 767px) {
    .comparison-table {
        position: relative;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .comparison-table::before {
        content: "↔";
        position: absolute;
        right: 12px;
        top: 55%;
        transform: translateY(-50%);
        z-index: 2;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: rgba(44,74,56,.65);
        color: #fff;
        font-size: 18px;
        line-height: 32px;
        text-align: center;
        pointer-events: none;
        animation: swipeHint 1.5s ease-in-out infinite;
    }
    .comparison-table .wf-table {
        width: 770px;
    }
}

@keyframes swipeHint {
  0%,100% {
    transform: translateY(-50%) translateX(0);
  }
  50% {
    transform: translateY(-50%) translateX(-8px);
  }
}
body > .section-area.reservation-area {
    background: rgb(249, 246, 242);
    border-top: 3px solid rgb(44, 74, 56);
}
.reservation-area .reservation-list {
    margin: 56px auto 0;
    max-width: 720px;
    border-top: 1px solid rgb(232, 224, 214);
}
.reservation-area .reservation-list li {
    display: flex;
    gap: 40px;
    padding: 18px 0px;
    border-bottom: 1px solid rgb(232, 224, 214);
    align-items: baseline;
}
.reservation-area .reservation-list li > span:first-child {
    width: 120px;
    flex-shrink: 0;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: rgb(44, 74, 56);
    font-weight: 500;
}
.reservation-area .reservation-list li > span:last-child {
    font-size: 14px;
    color: rgb(42, 34, 28);
    line-height: 1.7;
}
body > .section-area.howto-area {
    background: rgb(44, 74, 56);
    padding: 20px;
}
.howto-area .howto-inner {
    border: 1px solid rgba(197, 164, 105, 0.15);
    padding: 76px 0;
}
.howto-area .section-ttl span.jp {
    font-size: clamp(20px, 2vw, 26px);
    color: rgb(250, 247, 242);
}
.howto-list {
    margin: 48px auto 0;
    max-width: 760px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.howto-list li {
    width: calc(370 / 760 * 100%);
}
.howto-list .col-left {
    border: 1px solid rgba(249, 232, 171, 0.5);
    background: rgba(158, 12, 12, 0.88);
    text-align: center;
    box-shadow: rgba(158, 12, 12, 0.4) 0px 0px 32px;
    transition: background 0.25s, box-shadow 0.25s;
    cursor: pointer;
}
.howto-list .col-left:hover {
    background: rgba(178, 14, 14, 0.96);
    box-shadow: rgba(158, 12, 12, 0.6) 0px 0px 48px;
}
.howto-list .col-left a {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 36px 32px;
}
.howto-list .col-right {
    border: 1px solid rgba(197, 164, 105, 0.35);
    padding: 40px 36px;
    background: rgba(0, 0, 0, 0.18);
    text-align: center;
}
.howto-txt01 {
    font-size: 12px;
    letter-spacing: 0.22em;
    color: rgba(249, 232, 171, 0.9);
    padding-bottom: 15px;
    margin-bottom: 20px;
    text-transform: uppercase;
    position: relative;
}
.howto-txt01::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(249, 232, 171, 0.4), transparent);
}
.howto-ico svg {
    display: block;
    margin: 0px auto 16px;
}
.col-right .howto-ico svg {
    opacity: 0.65;
}
.howto-ttl {
    font-family: "Shippori Mincho", serif;
    font-size: clamp(17px, 1.8vw, 22px);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: rgb(255, 243, 217);
    margin-bottom: 12px;
}
.col-right .howto-ttl a {
    font-family: "Shippori Mincho", serif;
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 500;
    letter-spacing: 0.22em;
    color: rgb(250, 247, 242);
    margin-bottom: 12px;
}
.howto-txt02 {
    font-size: 13px;
    color: rgba(249, 232, 171, 0.65);
    letter-spacing: 0.12em;
}
.col-right .howto-txt02 {
    color: rgba(197, 164, 105, 0.7);
}
@media screen and (max-width:1280px) {
    .howto-area .section-ttl {
        padding: 0 28px;
    }
}
@media screen and (max-width:768px) {
    .howto-area .howto-inner {
        padding: 36px 0;
    }
    .howto-list {
        gap: 20px;
    }
    .howto-list li {
        width: 100%;
    }
}
.modal-area {
	display: none;
}
#xmascake-page #cboxOverlay {
    background: rgba(10, 10, 10, 0.72);
    backdrop-filter: blur(4px);
    opacity: 1 !important;
}
.modal-cnt {
    background: rgb(26, 5, 5);
    border: 1px solid rgba(249, 232, 171, 0.4);
    padding: 44px 48px;
    width: 420px;
    text-align: center;
    box-shadow: rgba(0, 0, 0, 0.7) 0px 8px 60px;
}
.modal-cnt .modal-ttl {
    font-size: 10px;
    letter-spacing: 0.22em;
    color: rgba(249, 232, 171, 0.75);
    margin-bottom: 24px;
    padding-bottom: 17px;
    text-transform: uppercase;
    position: relative;
}
.modal-cnt .modal-ttl::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(249, 232, 171, 0.3), transparent);
    width: 100%;
}
.modal-cnt svg {
    display: block;
    margin: 0px auto 20px;
}
.modal-cnt .modal-txt01 {
    font-family: "Shippori Mincho", serif;
    font-size: 17px;
    color: rgb(255, 243, 217);
    letter-spacing: 0.06em;
    line-height: 1.75;
    margin-bottom: 28px;
}
.modal-cnt .modal-txt02 {
    font-size: 12px;
    color: rgba(255, 243, 217, 0.5);
    letter-spacing: 0.06em;
    margin-bottom: 32px;
}
.modal-cnt button {
    font-family: "Shippori Mincho", serif;
    font-size: 13px;
    letter-spacing: 0.1em;
    color: rgba(255, 243, 217, 0.55);
    background: transparent;
    border: 1px solid rgba(249, 232, 171, 0.25);
    padding: 10px 32px;
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    #xmascake-page #colorbox #cboxLoadedContent {
        min-width: 90%;
        margin: 0 auto;
    }
    .modal-cnt {
        width: 100%;
        padding: 20px;
    }
}
.sec_04_03 {
	padding: 75px 0 60px;
}
.sec_04_03 .about_detail_area {
	margin-top: 0;
	background: url('/dining/sweets/img/bg_about_detail.jpg') no-repeat center top;
    background-size: cover;
    background-color: #000000;
}
.sec_04_03 ._chef .info_detail_area .bnr {
	margin-top: 0;
}
.sec_04_03 .info_detail_area .bnr_text {
	padding: 10px;
	width: 60%;
}
.sec_04_03 .info_detail_area .bnr_text {
	padding: 10px;
	width: 60%;
}
.sec_04_03 ._chef .info_detail_area .bnr:hover {
	opacity: 1;
	cursor: auto;
}
.sec_04_03 ._chef .info_detail_area .bnr::after {
	display: none;
}
.sec_04_03 .about_detail_area .about_detail_block .about._chef {
	padding: 15px 0;
	color: #333;
	border-bottom: none;
}
.sec_04_03 ._chef .info {
	padding: 0;
}
.sec_04_03 ._chef .info_detail_area .bnr_block {
	margin-bottom: 0;
}

.sec_04_03 .info_detail_area .bnr_img {
	width: 40%;
	vertical-align: top;
}
.sec_04_03 .info_detail_area .bnr_img img {
	max-width: 230px;
}

@media screen and (max-width:768px) {
	.sec_04_03 ._chef .info_detail_area .bnr {
		display: table !important;
	}
	.sec_04_03 {
		padding: 35px 0 100px;
	}
	.sec_04_03 .about_detail_area .about_detail_block {
		margin-top: 15px;
	}
	.sec_04_03 .info_detail_area .bnr_text .text::after {
		display: none;
	}
	.sec_04_03 .about_detail_area .about_detail_block .info {
		padding: 20px 0;
	}
	.sec_04_03 .about_detail_area .about_detail_block .tag {
		margin-right: 13px;
	}
    .sec_04_03 .info_detail_area .bnr_img img,
    .sec_04_03 .info_detail_area .bnr_text {
		width: 100%;
	}
}