@charset "UTF-8";
/* CSS Document */
/*
background: linear-gradient(90deg, rgba(220,28,28,1) 0%, rgba(235,44,44,1) 38%, rgba(255,106,0,1) 100%);
*/


.l-container .sub-main a ,.l-container .sub-main + div a { color: unset; }
.l-container .sub-main a, .l-container .sub-main + div a:hover { opacity: .5; transition: .3s; }
/* ****************** fair&event ************************* */
/* ------------------ sub-main ----------------------*/
.cloth{
	margin: 0 auto;
	width: 100%;
	background: url("../img/top/cloth@2x.jpg");
	height:auto;
	background-size: cover;
}
.sub-main .cloth { background: url("../img/fair/subpage-bg@2x.jpg"); background-size: contain; }
.sub-main h2 {
	color: #fff;
	padding-top: 119px;
	text-align: center;
	font-size: 96px;
	letter-spacing: -3px;
	padding-left: 10px;
	position: relative;
	z-index: 1;
}
.sub-main .img-box {
	width: 100%;
	margin-top: -33px;
	position: relative;
	z-index: 0;
	text-align: center;
}
.sub-main .white-bg { background: #fff; }
.text-center { text-align: center; }
.sub-main .text-center {
	letter-spacing: 1px;
	line-height: 1.85;
	padding: 70px 0 0;
	margin-bottom: 60px;
}
.sub-main .mark { text-align: center; }
.white-bg { background: #fff; }
.text-center {
	text-align: center;
	letter-spacing: 1px;
	line-height: 1.85;
	padding: 70px 0 0;
	margin-bottom: 60px;
}
.sub-main .mark { text-align: center; }

/* ------------------ event-field ----------------------*/
.event-box { background: #cbcbc7; }
.event-field {
	padding: 85px calc((75/480)*100%) 0;
	margin: 0 auto 0;
}
.event-title {
	color: #fff;
	letter-spacing: -1px;
	border-bottom: 1px solid #fff;
	padding-bottom: 5px;
	margin-bottom: 22px;
}
.event-daytime {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	color: #fff;
	margin-bottom: 12px;
}
.event-img { margin-bottom: 25px; }
.event-img img {
	aspect-ratio: 380/200;
	object-fit: cover;
}
.event-daytime .border-box {
	font-size: 14px;
	border: 1px solid #fff;
	padding: 2px 8px;
	margin-right: 15px;
	letter-spacing: -1px;
}
.event-daytime p { display: block; }
.event-daytime + .event-daytime {margin-bottom: 25px;}
.event-text {
	line-height: 1.7;
	color: #fff;
	margin-bottom: 30px;
}
.event-fleximg {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.event-fleximg div { width: calc((160/330)*100%); }
.event-field:last-of-type { padding-bottom: 125px; margin-bottom: 0;}

/* ------------------ contact-box ----------------------*/
.contact-area {
	margin: 60px auto 120px;
	width: 335px;
}
.reserve-form h2 {
	padding: 100px 0 0;
	position: relative;
	text-align: center;
	letter-spacing: -1px;
}
.reserve-form h2:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background: #5b1b3b;
	width: 1px;
	height: 10vh;
	animation: pathmove 2.5s ease-in-out infinite;
	opacity: 0;
}
.sub-title {
	text-align: center;
	margin-bottom: 35px;
	color: #5b1b3b;
}
.hissu:before {
	content: "必須";
	position: absolute;
	top: 0;
	right: 0;
	background: #5b1b3b;
	color: #fff;
	padding: 0px 5px;
	letter-spacing: 2px;
}
.hissu { position: relative; }
#form-box p {
	color: #5b1b3b;
	margin-bottom: 20px;
}
#form-box p > span:first-of-type {
	border: 1px solid #5b1b3b;
	padding: 8px;
	display: block;
	color: #333;
	margin-top: 5px;
}
#form-box p:nth-of-type(odd) { margin-bottom: 5px; }
#form-box p.policy { text-align: center; margin-bottom: 30px; }
#form-box p.policy a { color: #bebeb8; line-height: 1.7; }
#form-box p.policy a:hover { transition: 0.5s; }
#form-box p.policy a:after {
	content: "";
	display: block;
	background: #bebeb8;
	height: 1px;
	width: 36vw;
	max-width: 210px;
	margin: 4px auto 0;
}
#form-box p > span input[type="text"], #form-box p > span textarea, #form-box p > span select { width: 100%; }
#form-box p > span input[type="text"], #form-box p > span textarea, #form-box p > span select {border: none;color: #333;}
input.wpcf7-submit {
	aspect-ratio: 126/32;
	width: 126px;
	border-radius: 2px;
	border: none;
	margin: 0 auto;
	display: block;
	background: #cbcbc7;
	color: #fff;
}
input.wpcf7-submit:hover {
	background-color: #141c27;
	transition: 0.8s;
	cursor: pointer;
}
#form-box p > span input:focus-visible ,#form-box p > span textarea:focus-visible { outline: none;}
#form-box p > span input[type="checkbox"] {
	display: inline-block;
	margin-right: 5px;
}
#form-box p span.wpcf7-list-item {
	display: flex;
	align-items: center;
}
#form-box p.last-box { margin-bottom: 40px; }
@media (max-width:500px) {
	.sub-main h2 {
		font-size: calc((96 / 480)*100vw);
		letter-spacing: calc((-3 / 480)*100vw);
	}
	@media (max-width: 400px) {
		.event-field { padding: 85px 7% 0;}
		.contact-area { width : auto; margin: 60px 7% 120px;}
	}
}

/* ****************** Surprise Propose ************************* */
/* ------------------ propose-top ----------------------*/
.sub-main.propose h2 {
	font-size: 67px;
	padding-top: 135px;
	padding-left: 0;
	letter-spacing: -1px;
}
.sub-main.propose .img-box { margin-top: -20px; }
.sub-main.propose .text-center { padding: 67px 0 0; margin-bottom: 70px; line-height: 1.75; letter-spacing: 0.07em; }
.moment-top { position: relative; margin-bottom: 27px; }
#s-moment .bg1 { position: absolute; top: 19%; right: 0; }
#s-moment .bg2 { position: absolute; left: 0; bottom: 6%; }
.moment-top .img-box { text-align: center; padding-left: 30px; }

/* ------------------ Special Moment ----------------------*/
#s-moment h2 {
	font-size: 73px;
	letter-spacing: 1px;
	margin-bottom: 38px;
	color: #cbcbc7;
	text-align: center;
}
#s-moment .text-center {
	padding: 0;
	color: #333;
	margin-bottom: 81px;
}
#s-moment .text-center span {
	display: block;
	width: fit-content;
	margin: 0 auto 5px;
}
#s-moment .text-center span:after {
	content: "";
	display: block;
	background: #bebeb8;
	width: calc(100% + 1.5em);
	margin-left: -0.75em;
	margin-top: -2px;
	height: 2px;
	position: relative;
	left: 0;
	right: 0;
}
.m-point:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background: #5b1b3b;
	width: 1px;
	height: 10vh;
	animation: pathmove 2.5s ease-in-out infinite;
	opacity: 0;
}
.m-point { position: relative; }
.point-area {
	padding: 85px 0;
	margin: 0 auto;
}
.m-point .gray { background: #cbcbc7; }
.point-box {
	width: 360px;
	margin: 0 auto;
}
.point-box > p {
	font-size: 30px;
	font-family: 'Cormorant', serif;
	font-weight: 300;
	color: #bebeb8;
	letter-spacing: 1px;
}
.point-box > p span {
	font-size: 26px;
	font-family: serif;
	font-weight: initial;
	color: #bebeb8;
	margin-left: 2px;
}
.point-img {
	border: 1px solid #bebeb8;
	padding: 5px;
	margin: 0 auto 13px;
	width: fit-content;
}
.point-box h3 {
	font-size: 52px;
	color: #bebeb8;
	margin-bottom: 5px;
	text-indent: 5px;
}
.point-box .text-area {color: #bebeb8; padding-left: 10px; font-size: 11px; }
.point-box .text-area p { font-size: 12px;}
.gray .point-box:last-of-type .text-area {
	padding-left: 8px;
	width: calc(100% + 2em);
	line-height: 1.7;
}
.m-point .gray:last-of-type { padding-bottom: 85px; }


/*-------- 背景グレーの文字白 -------------------*/
.gray .point-box > p { color: #fff; }
.gray .point-box > p span { color: #fff;}
.gray .point-img { border-color: #fff; }
.gray .point-box h3 { color: #fff; }
.gray .point-box .text-area { color: #fff;}

/*--------- Special Price ------------------*/

.gray .point-box:last-of-type .text-area {
	padding-left: 8px;
	width: calc(100% + 2em);
}
.m-point .gray:last-of-type { padding-bottom: 85px; }
#s-price .bg3 { position: absolute; top: -16%; left: 0;}
#s-price {
	background: #141c27;
	position: relative;
	padding: 0 calc((100% - 360px)/2) 115px;
}
.price-title {
	padding-top: 75px;
	text-indent: -8px;
	margin-bottom: 10px;
}
.price-title h2 { color: #fff; font-size: 50px; letter-spacing: 0.01em; }



/*-------------- after propse追加ブロック------------------*/

#s-price::after {
	content: "";
	position: absolute;
	bottom: -16px; /* 三角形の位置調整 */
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 20px solid #141c27; /* ボックスの背景色と合わせる */
	z-index: 10;
	}

.after-p{
	margin: 0 auto 11rem;
    padding: 2% 0 17%;
    background: url(../footer/img/cloth-w.jpg) no-repeat;
    width: 100%;
    background-size: cover;
	position: relative;
    border-bottom: 2px solid #e1d1bf;
}
.after-p .en {
    font-size: 5.6rem;
    text-align: center;
    margin-top: 5rem;
    letter-spacing: -0.01em;
	color: #cbcbc7;
	margin-bottom:3rem;
}

.movie-p{
	width:100%;
}

.movie-p img{
	width: 100vw;
	object-fit: cover; /* 画像をトリミングして全画面にフィット */
	display: block;
	color:#cbcbc7;
}
.after-p .p.en {
    font-size: 5.8rem;
    text-align: center;
    margin-top: 5rem;
    letter-spacing: -0.01em;
    color: #ccad8b;
}
.flower-left {
    margin-top: -7rem;
	right:0;
}
.present-text {
    margin-top: -3rem;
}

.present-text p {
    text-align: center;
    margin-bottom: 70px;
    line-height: 1.75;
    letter-spacing: 0.07em;
}

.Present-img {
    width: 100%;
    text-align: center;
}
.flower-right {
	margin-top: -7rem;
    position: absolute;
    right: 0;
}

.after-p::after  {
    content: '';
    position: absolute;
    bottom: 1%;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #e1d1bf;
}

.caution{
    margin: 10% auto 0;
    text-align: center;
}

@media screen and (max-width:480px) {
.Present-img {
    width: 90%;
	margin:0 auto;
}
}


/*-------------- Special Memories ------------------*/
#s-memories .memories-top { position: relative; margin-bottom: 28px; }
#s-memories .memories-top .img-box {width: 397px;margin: -60px auto 0;text-indent: 5px;}
#s-memories .bg4 { position: absolute; top: 7%; }
#s-memories .bg5 { position: absolute; bottom: 4%; right: 0; }
#s-memories .text-area h2 {
	font-size: 67px;
	white-space: nowrap;
	margin-bottom: 25px;
	color: #cbcbc7;
	text-align: center;
}
#s-memories .text-box {
	text-align: center;
	line-height: 1.75;
	letter-spacing: 0.07em;
}
@media screen and (max-width: 480px) {
	.sub-main.propose h2 { font-size: calc((67/480)*100vw);}
	#s-memories .text-area h2 { font-size: calc((67/480)*100vw); }
	#s-moment h2 { font-size: calc((73 / 480)*100vw); }
}

/* ****************** Party-page ************************* */
/* ------------------ party-top ----------------------*/
.sub-main.party h2 {letter-spacing: 0.02em;text-indent: -13px;}
.sub-main.party .text-center {margin-bottom: 70px;}
/* ------------------ party-content ----------------------*/
.party-slide { width:100%; }
.party-slide img{ width: 100%; }
.party-slide .swiper-wrapper{ transition-timing-function: linear; }
.party-slide .swiper-slide { margin-right: 18px; }
#party-content h2 {
	font-size: 35px;
	letter-spacing: 0.025em;
	text-align: center;
}
.plan-box .bg1 {
	position: absolute;
	right: 0;
	top: -10%;
	z-index: -1;
}
.plan-box { position: relative; }
.plan-box .img-box {
	padding-top: 88px;
	width: 340px;
	margin: 0 auto 23px;
}
.title-box {
	width: 340px;
	margin: 0 auto 10px;
}
.title-text {
	text-indent: 4px;
	letter-spacing: 0.05em;
}
.plan-box .border-box {background: #bebeb8;height: 2px;width: 340px;margin: 2px 0;padding: 0;border: none;}
.plan-box p {
	text-indent: 4px;
	letter-spacing: 0.03em;
}
.plan-box .text-box {
	width: 340px;
	margin: 0 auto 17px;
}
.plan-box .price-box {
	border: 1px solid #bebeb8;
	width: 330px;
	margin: 0 auto 92px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.plan-box .price-box .en {
	width: 25%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	color: #bebeb8;
}
.plan-box .price-box .price-text {
	width: 75%;
	border-left: 1px solid #bebeb8;
	display: flex;
	justify-content: left;
	padding: 9px 0 10px 10px;
}
.plan-box .price-box .price-text span {
	display: block;
	font-size: 19px;
	text-indent: -4px;
}
.plan-box .price-box .price-text p {
	font-size: 13px;
	line-height: 1.7;
	text-indent: 0;
}
.plan-box .price-box .price-text span.s-text {
	font-size: 11px;
	letter-spacing: 0.02em;
}
.plan-box .bg2 { position: absolute; top: -6%; left: 0; }
.plan-box.gray {
	background: #bebeb8;
	padding-bottom: 85px;
}
.plan-box.gray .img-box { padding-top: 110px; }
.gray .title-box { color: #fff; }
.plan-box.gray .border-box { color: #fff; }
.plan-box.gray .text-box { color: #fff; }
.plan-box.gray .price-box {
	color: #fff;
	border-color: #fff;
	margin-bottom: 0;
}
.plan-box.gray .price-box .en { color: #fff; }
.plan-box.gray .price-box .price-text { border-color: #fff;}
#party-content .bg3 {
	position: absolute;
	top: -8%;
	right: 0;
}
.plan-area .plan-box:last-of-type .img-box { padding-top: 112px;}
.plan-area .plan-box:last-of-type .price-box { margin-bottom: 111px;}
.banner-area { margin-bottom: 77px; }
#party-content .last-text {
	text-align: center;
	line-height: 1.75;
	letter-spacing: 0.06em;
	margin-bottom: 60px;
}
@media screen and (max-width:480px) {
	#party-content h2 { font-size: calc((35/480)*100vw)}
	.after-p .en {font-size: calc((83 / 480)* 100vw);}
}


/* ****************** anni-birth_page ************************* */
.sub-main.anni-birth h2 {
	width: calc((425/480)*100%);
	margin: 0 auto;
	padding-top: 80px;
}
.sub-main.anni-birth h2 span {
	font-size: 76px;
	text-align: left;
	display: block;
	line-height: 1.45;
}
.sub-main.anni-birth h2 span:last-of-type {
	text-align: right;
	margin-top: -12%;
}
.sub-main.anni-birth .img-box { margin-top: -70px; }
.sub-main.anni-birth .text-center {
	padding-top: 62px;
	margin-bottom: 55px;
}
/* ------------------ anni-content ----------------------*/
#anni-content {
	margin-bottom: 68px;
}
/* ------------------ anni-top ----------------------*/
#anni-content .bg1 {
	position: absolute;
	top: 4%;
	right: 0;
}
.anni-top { position: relative; margin-bottom: 80px;}
.anni-top .img-box {
	margin-bottom: 22px;
	z-index: 1;
	position: relative;
}
.anni-top .img-box + .img-box {text-align: right;}
#anni-content .bg2 {
	position: absolute;
	bottom: -20%;
	left: 0;
}
/* ------------------ anni-area ----------------------*/
.anni-area { width: 354px; margin: 0 auto; margin-bottom: 130px; }
.anni-area h2 { font-size: 46px; letter-spacing: -0.02em; margin-bottom: 20px; }
.anni-area h2 span { display: block; text-indent: 4px; color: #bebeb8; }
.anni-area h2 span + span { text-align: right; }
.anni-area .img-box { margin-bottom: 30px; }
.anni-area.plan-box .border-box {background: #bebeb8;height: 2px;width: 340px;margin: 2px 0;padding: 0;border: none;}
.anni-area h2 span { display: block; text-indent: 4px;}
.anni-area h2 span + span { text-align: right;}
.anni-area .img-box { margin-bottom: 30px;}
.anni-area .border-box {
	background: #ccc;
	height: 2px;
	width: 340px;
	margin: 2px 0;
	padding: 0;
	border: none;
}
.anni-area .title-box p {
	text-indent: 4px;
	letter-spacing: 0.03em;
}
.anni-area .text-box p { letter-spacing: 0.03em;}
.anni-area .text-box {
	padding-left: 9px;
	line-height: 1.4;
	margin-bottom: 32px;
}
.anni-area .title-box { margin-bottom: 17px; }
.anni-area .price-box {
	border: 1px solid #bebeb8;
	width: 330px;
	margin: 0 auto 25px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background:#fff;
}
.anni-area .price-box .en {
	width: 25%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 25px;
	color: #bebeb8;
}
.anni-area .border-left { width: 75%; border-left: 1px solid #bebeb8;}
.anni-area .price-text {
	border-bottom: 1px solid #bebeb8;
	padding: 10px 0 10px 10px;
}
.anni-area .price-text + .price-text { border: none; }
.anni-area span.price {
	display: block;
	font-size: 16px;
	text-indent: 1px;
}
#anni-content .price-text p {letter-spacing: 0.08em;line-height: 1.4;}
/* ------------------ anni-bottom ----------------------*/
.anni-bottom .bg3 {
	position: absolute;
	top: -27%;
	left: 0;
	z-index: -1;
}
.anni-bottom {
	position: relative;
	margin-bottom: 85px;
}
.anni-bottom .img-box {
	text-align: right;
	margin-bottom: 30px;
	position: relative;
	z-index: 1;
}
.anni-bottom .img-box + .img-box {
	text-align: left;
	margin-bottom: 0;
}
.anni-bottom .bg4 {
	position: absolute;
	bottom: 25%;
	right: 0;
}
#anni-content .last-text {
	text-align: center;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
@media (max-width: 480px) {
	.sub-main.anni-birth h2 span { font-size: calc((76/480)*100vw);}
	@media (max-width: 400px) {
		.anni-area h2 { font-size: calc((46/480)*100vw); }
		.anni-top .img-box img { width: calc((338/500)*100%); aspect-ratio: 338/181;}
		#anni-content .bg1 { width: calc((152/500)*100vw); }
		#anni-content .bg2 { width: calc((117/500)*100vw); }
		.anni-area { width: auto; margin: 0 7%; }
	}
}

/* ****************** cuisine_page ************************* */
/* ------------------ anni-bottom ----------------------*/
#cuisine-content .bg-content {
	background: url("../img/cuisine/cuisine-bg01@2x.jpg") repeat-y;
	width: auto;
	background-size: 100%;
}
#cuisine-content .text-box {
	padding-top: 110px;
	text-align: center;
	line-height: 1.7;
	margin-bottom: 87px;
}
#cuisine-content .text-box .mb { margin-bottom: 42px; }
#cuisine-content .text-box p { font-size: 14px; }
#cuisine-content .img-box { text-align: left;}
#cuisine-content .img-box + .img-box {
	text-align: right;
	margin-top: -24%;
}
#cuisine-content .left-title { margin-bottom: 98px; }
#cuisine-content .left-title h2 {
	font-size: 47px;
	margin-top: -150px;
	letter-spacing: -0.03em;
	padding-left: 10px;
}
/*--- 料理スライド　css -------*/
.cuisine-slide { width:100%; margin-bottom: 165px; }
.cuisine-slide img{ width: 100%; }
.cuisine-slide .swiper-wrapper{ transition-timing-function: linear; }
.cuisine-slide .swiper-slide { margin-right: 5px; }
/*--------*/
#cuisine-content .vertical-text {
	writing-mode: vertical-rl;
	margin: 0 auto;
	line-height: 1.8;
	font-size: 15px;
	letter-spacing: 0.04em;
	margin-bottom: 178px;
}
#cuisine-content .last-title h2 {
	font-size: 73px;
	line-height: 1;
	text-align: center;
	color: #cbcbc7;
}
#cuisine-content .movie-box {
	margin-bottom: 20px;
	text-align: center;
}
#cuisine-content .movie-box video { vertical-align: bottom; }
#cuisine-content .bg-none {
	margin-bottom: 20px;
	margin-top: -14px;
}
.bg-none .cuisine-slide { margin-bottom: 0; }
.chef-area { background: #151b26; padding-top: 130px; }
.chef-area .inner { width: 315px; margin: 0 auto;}
.chef-area h3 {
	color: #fff;
	font-size: 30px;
	margin-bottom: 10px;
}
.border-img {
	border: 1px solid #fff;
	padding: 10px;
	margin-bottom: 30px;
}
.chef-area .name {
	color: #fff;
	text-align: center;
	margin-bottom: 30px;
}
#cuisine-content .chef-area .text-box {
	padding: 0;
	padding-bottom: 170px;
	text-align: left;
	color: #fff;
	margin-bottom: 0;
	padding-left: 6px;
}
.chef-area .name h4 { font-size: 20px; }
#cuisine-content .chef-area .text-box p {
	font-size: 12px;
	line-height: 1.75;
}
.border-none .restaurant-box { margin-top: 0;}
.border-none .restaurant-box h2::before { display: none; }
.sub-main.lunch .text-center {
	padding-top: 75px;
	margin-bottom: 85px;
}
#lunch-content .flex-img {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0 calc((10/480)*100%);
	margin-bottom: 65px;
}
#lunch-content .flex-img .img-box { width: calc((235/480)*100%); }
.field-box .img-box {
	text-align: center;
	margin-bottom: 30px;
}
.field-box .img-box img {
	aspect-ratio: 380/200;
	object-fit: cover;
}
.cuisine-news {
	width: 375px;
	margin: 0 auto;
	margin-bottom: 50px;
}
.cuisine-news .gray-box { background: #cbcbc7; padding: 35px 35px 30px; margin-bottom: 40px; }
.cuisine-news h3 {
	text-align: center;
	font-size: 15px;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-bottom: 3px;
}
.cuisine-news .border-box {
	background: #fff;
	margin: 0;
	padding: 0;
	margin-bottom: 25px;
}
.cuisine-news .box-white {
	background: #fff;
	width: 95px;
	text-align: center;
	line-height: 20px;
}
.cuisine-news .day-box .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 21px;
	margin-bottom: 18px;
}
.cuisine-news .text { font-size: 12px; width: 55%; }
.cuisine-news .day-box { padding-left: 33px; }
.field-area { width: 375px; margin: 0 auto; }
.field-box h3 {
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 5px;
	padding-left: 30px;
}
.field-box {margin-bottom: 56px;}
.field-box .border-box {
	background: #cbcbc7;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 2px;
	border: none;
	margin-bottom: 30px;
}
.field-box .text-box {
	padding-left: 15px;
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 1.75;
}
.field-box .text-box + .sub-text {
	padding-left: 15px;
	font-size: 13px;
	letter-spacing: 0.01em;
	padding-top: 25px;
}
@media screen and (max-width: 480px) {
	#cuisine-content .last-title h2 { font-size: calc((63/480)*100vw);}
}

/* ****************** access_page ************************* */
.sub-main.access-page { margin-bottom: 65px; }
#access-content .white-bg {
	background: none;
	width: 370px;
	margin: 0 auto;
	margin-bottom: 103px;
}
.sub-main.access-page h2 {
	padding-left: 0;
	letter-spacing: 0;
}
#access-content .white-bg .icon-box {
	text-align: center;
	margin-bottom: 10px;
}
#access-content .white-bg h3 {
	font-size: 20px;
	text-align: center;
	letter-spacing: 0.04em;
	margin-bottom: 5px;
}
#access-content .white-bg .addr {
	text-align: center;
	margin-bottom: 30px;
}
#access-content .g-mapbox { aspect-ratio: 370/200; }
#access-content .gray-bg {
	background: #bebeb8;
	padding-top: 63px;
	padding-bottom: 93px;
}
#access-content .gray-box {
	width: 360px;
	margin: 0 auto;
	padding: 0;
	color: #fff;
	background: unset;
}
#access-content .gray-box > div { margin-bottom: 60px; }
#access-content .gray-box div h3 { margin-bottom: 5px; }
#access-content .border-box {
	background: #fff;
	height: 1px;
	margin: 0 0 15px;
	border: none;
	padding: 0;
}
#access-content .text-box .list { line-height: 2.1; margin-bottom: 15px;}
#access-content .bus-content .text-box .list { margin-bottom: 5px; }
#access-content .gray-box .bus-content { margin-bottom: 0; }
@media screen and (max-width:400px) {
	#access-content .gray-box { width: auto; padding: 0 7%; }
}

/* ****************** contact_page ************************* */
.sub-main.contact .text-center { padding-top: 75px; }
.border-none h2::before { display: none; }
.call-area {
	position: relative;
	padding-top: 100px;
	width: 343px;
	margin: 0 auto;
}
.call-area:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background: #5b1b3b;
	width: 1px;
	height: 10vh;
	animation: pathmove 2.5s ease-in-out infinite;
	opacity: 0;
}
.sub-main.contact { margin-bottom: 70px; }
.call-area .title {
	text-align: center;
	font-size: 14px;
	letter-spacing: 0.01em;
	margin-bottom: 11px;
}
.tel-box {
	background: #cbcbc7;
	padding: 10px 9px;
}
.tel-box .border-box {
	margin: 0;
	padding: 11px 0 22px;
	border: 1px solid #fff;
}
.tel-number span {
	font-family: 'Cormorant', serif;
	font-size: 34px;
	letter-spacing: 0em;
}
.tel-number {
	text-align: center;
	color: #fff;
}
.tel-number span + span {
	font-family: 'Shippori Mincho B1', serif;
	letter-spacing: 0;
}
.tel-box .day-box {
	text-align: center;
	color: #fff;
	letter-spacing: 0.01em;
}
.contact-area.border-none { margin-top: 0; }
.border-none h2 { padding-top: 80px; }

/* ****************** reserve_page ************************* */
.sub-main.reserve .text-center {
	padding-top: 60px;
	margin-bottom: 45px;
}
#reserve-content .restaurant-box h2 { padding-top: 0; }
#reserve-content { margin-bottom: 67px; }

/* ------------------ 404 not-found -------------------- */
#nf-404.sub-main h2 { font-size: 80px; }
#nf-404.sub-main h2 span {
	font-family: serif;
	letter-spacing: 0.01em;
	font-size: 65px;
}
.link-btn a {
	display: flex;
	margin: 5% auto;
	background: #cbcbc7;
	width: calc((150/480)*100%);
	aspect-ratio: 150 / 40;
	border-radius: 5px;
	align-items: center;
	justify-content: center;
	color: #fff;
	min-width: 150px;
}
.link-btn a:hover {
	background: #141c27;
	transition: .5s;
}

/* ------------- News ----------------- */
#news .text-center h3 {
	font-size: 64px;
	color: #5b1b3b;
	line-height: 1;
	margin-bottom: 10px;
}
#news-archive {
	width: calc((390/480)*100%);
	margin: 0 auto;
}
#news-archive .post-box {
	display: block;
	width: calc((345/390)*100%);
	color: #333;
	margin: 0 auto 8px;
	font-size: 12px;
	letter-spacing: 0.01em;
}
#news-archive .post-box:hover{
	cursor: pointer;
	color: #5b1b3b;
	opacity: 0.75;
	transition: .5s;
}
.post-box .day-category {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 4%;
	margin-bottom: 5px;
}
.post-box .category {
	background: #bebeb8;
	color: #fff;
	padding: 0.5% 2%;
	font-size: 11px;
}
.post-box .category.post-staff { background: #141c27;}
.post-box .category.open-day { background: #5b1b3b; }
.post-box .title-box {
	width: 100%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1; /* 行数 */
	overflow: hidden;
	margin-bottom: 0;
	line-height: 1.7;
}
.bb-box {
	background: #cbcbc7;
	width: calc((345/390)*100%);
	height: 1px;
	margin: 0 auto 25px;
}
.wp-pagenavi {
	width: fit-content;
	margin: 0 auto 120px;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 0 10px;
}
#news-archive .wp-pagenavi span, #news-archive .wp-pagenavi a {
	border: 1px solid #bebeb8;
	border-radius: 5px;
	display: flex;
	width: 30px;
	align-items: center;
	justify-content: center;
	color: #bebeb8;
	aspect-ratio: 1;
	font-family: serif;
	margin: 0;
}
#news-archive .wp-pagenavi a:hover {
	background: #bebeb8;
	color: #fff;
	transition: .5s;
}
#news-single .news-box {
	margin: 50px auto 80px;
	padding: 0 calc((45/480)*100%);
}
#news-single .news-box .title-box {
	width: 100%;
	margin-bottom: 20px;
}
#news-single div .over-bord {
	width: 100%;
	height: 1px;
	background: #cbcbc7;
	margin-bottom: 10px;
}
#news-single .news-box .title-box h3 {
	padding-left: calc((20/390)*100%);
	margin-bottom: 5px;
	font-size: 14px;
}
#news-single .news-box .day-category {
	padding-left: calc((20/390)*100%);
	display: flex;
	align-items: center;
	gap: 0 5%;
}
#news-single .news-box .day-category p {
	font-size: 11px;
	background: #cbcbc7;
	padding: 2px 5px;
	color: #fff;
}
#news-single .news-box .day-category .day-box {
	background: unset;
	font-size: 13px;
	color:unset;
}
#news-single .news-box .news-text {
	width: calc((350/390)*100%);
	margin: 0 auto 30px;
	line-height: 1.7;
	letter-spacing: 0.01em;
}

.np-link div a {
	display: inline-block;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 13px;
}
.np-link div {
	width: 45%;
	display: flex;
	gap: 0 10px;
	align-items: center;
	color: #333;
}
.l-container .np-link div a { color: #5b1b3b; }
.np-link .border {
	width: 1px;
	height: 1em;
	background: #333;
}
.np-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc((350/390)*100%);
	margin: 0 auto;
}
.news-category {
	padding: 0 calc((45/480)*100%);
	margin-bottom: 50px;
}
.news-category ,.news-archive {
	padding: 0 calc((45/480)*100%);
	margin-bottom: 80px;
}
.news-category h3,.news-archive h3 {
	padding-left: calc((20/390)*100%);
	font-size: 13px;
	position: relative;
	line-height: 1.7;
	margin: 15px 0;
}
.category-wrap, #news-single .day-category, #news-single .news-archive .title-box {
	padding: 0 calc((30/390)*100%);
	font-size: 13px;
}
.category-wrap li {
	line-height: 1.7;
	margin-bottom: 5px;
	list-style: none;
}
.category-wrap li:before {
	content: ">";
	padding-right: 12px;
}
.news-category h3 span,.news-archive h3 span {
	font-size: 45px;
	color: #cbcbc7;
	position: absolute;
	left: calc((20/390)*100%);
	bottom: 0;
	line-height: 1;
	z-index: -1;
	letter-spacing: 0.01em;
	opacity: .36;
}
#news-single .news-category .over-bord,#news-single .news-archive .over-bord { margin-bottom: 20px; }
#news-single .news-archive .title-box { margin-bottom: 6px; }
@media screen and (max-width:400px){
	#news-single .news-box { padding: 0 7%; }
	.news-category, .news-archive { padding: 0 7%; }
	#news-archive { width: auto; margin: 0 7%; }
}

/* --------- 投稿内容 --------------- */
#news-single .news-box .news-text figure img {
	aspect-ratio: 380/200;
	object-fit: cover;
}
#news-single .news-box .news-text p { margin: 0 0 20px; }