@charset "UTF-8";
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  margin: 0 auto;
  width: 100%;
  }

.tab_item {
  width: calc(100%/4);
  font-size: 16px;
  text-align: center;
  color: #fff;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  font-family: var(--font-family-serif);
}
.tab_item:hover {
  opacity: 1;
}

input[name="tab_item"] {
  display: none;
}

.tab_content {
  display: none;
  /* padding: 40px 0px 0; */
  clear: both;
  overflow: hidden;
}


#all:checked ~ #all_content,
#season:checked ~ #season_content,
#food:checked ~ #food_content,
#drink:checked ~ #drink_content {
  display: block;
}

.tabs input:checked + .tab_item {
  background-color: rgba(0,0,0,0);
  color: #fff;
  margin-bottom: 50px;
  border: 1px solid #fff;
}
.p-plan-list__card-header span.jp{
	font-family: var(--font-family-serif);
}
.items_price{
	display: flex;
	align-items: center;
	justify-content: space-around;
	font-family: var(--font-family-serif);
	font-size: 1.8rem;
	border-bottom: 1px solid #ffffff87;
}
.items_price .items{
	
}
.items_price .items .num{
	font-size: 3rem;
	margin: 0 5px;
}
.items_price .price{
	
}
.items_price .price .num{
	font-size: 3rem;
	margin: 0 5px;
}
	
/*==================================================
ギャラリーのためのcss
===================================*/
.gallery{
columns: 4;/*段組みの数*/
padding:0px !important;
margin:0;
}

.gallery li {
    margin-bottom: 20px;/*各画像下に余白をつける*/
list-style:none;
}

/*ギャラリー内のイメージは横幅100%にする*/
.gallery img{
	width:100%;
	height:auto;
	vertical-align: bottom;
	margin: 0px;
	/*画像の下にできる余白を削除*/}

.faq_list dt{font-weight: bold;padding: 10px;font-size:18px;display:flex;align-items: flex-start;line-height: 35px;font-family: var(--font-family-eng);}

.faq_list dd{margin-bottom:20px;padding:10px;border: 1px solid #ffffff99;display:flex;align-items:flex-start;line-height: 35px;}
.faq_list dd span{
	text-align: left;
	font-family: var(--font-family-eng);
}
.faq_list .q,.faq_list .a{

	font-family: 'Noto Serif JP', serif;

	font-size: 24px;

	font-weight: bold;

	vertical-align: middle;

	margin-right: 20px;

	display: inline-block;

	padding:1px 10px 2px;

	color: #fff;

}
.faq_list .q{background: #133869;}
.faq_list .a{
	background:#901d22;
}
.plan_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.plan_list li{
	width: 32%;
	margin-bottom: 50px;
}
.plan_list li a .img img{
	aspect-ratio: 8 / 11;
	object-fit: cover;
}
.small-text a{
	color: red;
}

.plan_summary{

	background:#e9e3d7;

	display: flex;

	flex-direction: row-reverse;

	margin-top:50px;

}

.plan_summary .left{

	width:60%;

}

.plan_summary .left .txt{padding:20px 5%;background: #deb633;}

.plan_summary .left .txt h3{

	font-size:28px;

	margin-bottom:20px;

	font-weight: normal;

}

.plan_summary .left{

	display:flex;

	flex-direction: column;

	justify-content: space-between;

}

.plan_summary .left .items_price{

	font-size:26px;

}

.items_price{display:flex;color: #fff;text-align: center;flex-direction: column;}
.free_drink .items_price {
        margin-bottom: 3.2rem;
    }

.items_price .items{background: #133869;width: 100%;padding: 10px 2%;}

.items_price .price{background: #30517b;width: 100%;padding: 10px 2%;}

.items_price .num{

	font-size:200%;

	font-family: 'Noto Serif JP', serif;

}

.plan_summary .img{

	width:40%;

	height: auto;

}

.plan_summary .img img{

	vertical-align:bottom;

	object-fit: cover;

	height: 100%;

	width: 100%;

}
.plan_name{
	font-family: var(--font-family-serif);
	margin-top: 10px;
}
.plan_name h3{
	
}
.plan_name h4{
	font-size: 21px;
}
.privacy_contents{
	font-family: var(--font-family-serif);
}
.privacy_contents p{
	line-height: 2;
}
.privacy_contents h2{
	margin-top: 30px;
	margin-bottom: 5px;
}
	
.wpcf7-form-control.wpcf7-textarea{
	height: 250px;
}
/* ベースのチェックボックス */
.wpcf7-list-item input[type=checkbox] {
  display: none;
}
.wpcf7-list-item .wpcf7-list-item-label {
  position: relative;
  padding-left: 25px;
}
.wpcf7-list-item input[type=checkbox]  + .wpcf7-list-item-label::before {
  position: absolute;
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: #ddd;
  left: -1px;
  top: 50%;
  transform: translateY(-50%);
}
.wpcf7-list-item input[type=checkbox]  + .wpcf7-list-item-label::after {
  position: absolute;
  content: '';
  display: block;
  width: 8px;
  height: 12px;
  transform: rotate(45deg) scale(0, 0);
  border-right: 3px solid #e91e63;
  border-bottom: 3px solid #e91e63;
  left: 5px;
  top: -1px;
  transition: .3s;
}
.wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label::after {
    transform: rotate(45deg) scale(1, 1);
}
.wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label{
   color: red;
}
.wpcf7-list-item {
    display: block !important;
    margin-bottom: 10px !important;
}
.hissu{color: #fff　 !important;padding: 0.2 rem 0.5 rem;font-size: 10px;border-radius: 0.2 rem;margin-left: 1 rem;vertical-align: text-bottom;background: #e91e63;padding: 1px 8px;display: inline-block;margin-left: 10px;color: white !important;}
.ninni{color: #fff;padding: 0.2 rem 0.5 rem;font-size: .8rem;border-radius: 0.2 rem;margin-left: 1 rem;vertical-align: text-bottom;background: #7c797a;white-space: nowrap;padding: 1px 8px;display: inline-block;margin-left: 10px;font-size: 10px;color: white !important;}
.sub_contents{
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}

input[type="text"], input[type="tel"], input[type="email"], select, textarea {
  display: block;
  border: none;
  background: #f4f4f4;
  padding: 7px 7px;
  border-radius: none;
  -webkit-appearance: none;
  width: 100%;
}

input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-appearance: none;
  border: none;
}

input[type="button"] {
  display: inline-block;
  padding: 18px 50px;
  border: 1px solid #707070;
  background: #FFF;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 0;
}

input[type="submit"] {
  background-position: center;
  background-color: #133869;
  color: #fff;
  font-weight: bold;
  padding: 10px 80px;
  display: block;
  margin: 0 auto;
  width: 100%;
  text-align: center;
}

input[type="submit"]:hover {
  opacity: 0.8;
}

input[type="radio"].radio_design {
  display: none;
}
label{
	display: block;
	margin-top: 20px;
}
	
.pc{
		display: block;
	}
	.sp{
		display: none !important;
	}
.p-restaurant-floor__hours-list-item::before{
	display: none;
}
.mb30{
	margin-bottom: 30px;
}
.mb5{
	margin-bottom: 5rem;
}

.sub_flow_block {/* padding-bottom: 10rem; */}
.sub_flow_block .c-box02 {}

.c-box02 {display: flex;box-sizing: content-box;}
.c-box02:nth-child(even){flex-direction: row-reverse;}
.c-box02:not(:last-child){margin-bottom: 10rem;}
.c-box02 .img {min-width: 53rem;}
.c-box02 .textBox{border: 0.1rem solid #081b33;min-width: 59rem;flex-grow: 4;padding: 3rem 5rem;position: relative;background: #fff;bottom: -4rem;left: -5.6%;flex-shrink: 111;}
.c-box02:nth-child(even) .textBox{left: auto;right: -5.6%;}
.c-box02 .textBox:before{content:"";content: "";display: block;bottom: -11.7rem;left: -11.7rem;width: 11.7rem;height: 11.7rem;position: absolute;/* z-index: -21; */}
.c-box02:nth-child(even) .textBox:before {content:"";left: auto;right: -11.7rem;}
.c-box02:last-child .textBox:before{content:none;}
.c-box02 .title {display: flex;align-items: center;margin-bottom: 1.2rem;}
.c-box02 .title .number {font-family: brandon-grotesque, sans-serif;font-style: normal;font-weight: 300;color: #c8c8c8;font-size: 7rem;line-height: 1;margin-right: 2rem;}
.c-box02 .title .jp {font-size: 2.8rem;color: #081b33;font-weight: 500;}
.c-box02 .title.-shift{margin-bottom: 5rem;}
.c-box02 .title.-shift .jp{position: relative;top: 2.5rem;}
.c-box02 .text {line-height: 2;/* margin-bottom: 0.5rem; */}
.c-box02 .text:not(:nth-of-type(2)){
    margin-top: 1.5rem;
}
.c-box02 .text .-highlight{
    color: #081b33;
    font-weight: 500;
}

.c-box02 .caution {font-size: 1.4rem;line-height: 2;color: #5a5a5a;}

.c-box02 .text .-square {background: #081b33;width: 1.3rem;height: 1.3rem;/* font-size: 1em; */display: inline-block;/* line-height: 1; */margin-right: 0.3rem;}
 .menu-table {
      /* max-width: 600px; */
      margin: 0 auto;
      width: 100%;
      /* background: #fff; */
      border-collapse: collapse;
      border: 1px solid #ddd;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    }

    .menu-table th, .menu-table td {
      border: 1px solid #ddd;
      padding: 16px;
      text-align: left;
    }

    .menu-table th {
      background-color: #0D1B2A;
      color: #fff;
      font-size: 18px;
    }

    .menu-category {
      /* background-color: #f0f0f0; */
      font-weight: bold;
    }
span.caution{
	display: block;
    font-family: var(--font-family-serif);
    font-size: 1rem;
}
.mt50{
	margin-top: 50px;
}
.news_wrapper{
	padding-top: 8rem;
}
#example .estimate .table{width: 70%;}

#example .estimate .table table{

	width:100%;

}

#example .estimate .table th{font-family: 'Noto Serif JP', serif;text-align: center;background: #133869;font-weight: bold;padding:5px;text-align: center;border-right: 1px solid #ffffff59;}
#example .estimate .table th p{
	text-align: center;
	font-weight: bold;
	font-size: 16px;
}
#example .estimate .table th .jpn{

	margin-left:0;

}

#example .estimate .table td{padding:5px 10px;text-align: right;/* text-align: center; */}
.free_drink_plan #example .estimate .table td{
	text-align: center;
}
#example .estimate .table .subtotal td{background:#fdede3;color: red;border-right: 2px solid #fff;font-weight: bold;}
#example .estimate .table .subtotal td p{
	text-align: right;
	color: red;
	font-weight: bold;
}
#example .estimate .table .total td{background: #30517b;font-size:120%;/* color: #990000; */font-weight: bold;border-right: 1px solid #ffffff59;vertical-align: middle;/* margin-top: 0px !important; */}
#example .estimate .table .total td p{
	margin-top: 0px;
}
#example .estimate .table td .eng{

	font-family:'Noto Serif JP', serif;

}

#example .estimate .table td .small{font-size:80%;margin-bottom:5px;font-weight: normal;text-align: right;/* color: red; */font-weight: bold;}

#example .estimate .table td:nth-child(4n-3){text-align:right;}
.free_drink_plan #example .estimate .table td:nth-child(4n-3){
	text-align: center;
}
#example .bigtxt{

	font-size:150%;

	font-weight: bold;

}
#example .estimate {
    display: flex
;
    flex-direction: row-reverse;
    justify-content: space-between;
}
#example .estimate .img{width: 480px;width: 30%;}

#example .estimate .img img{height:100%;vertical-align: bottom;object-fit: cover;width: 100%;margin: 0;}
.example_list li{
	list-style: none;
	padding-left: 0 !important;
}
.example_list li::before{
	display: none;
}

/* ──────────── 1. 全体レイアウト ──────────── */
.wsp-container{
  /* max-width: 720px; */       /* 行幅を読みやすい範囲に制限 */
  margin: 2rem auto;      /* 中央寄せ */
  /* padding: 0 1rem; */
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  /* line-height: 1.6; */
  /* color: #333; */
}

/* ──────────── 2. 見出し ──────────── */
.wsp-pages-title,
.wsp-posts-title{
  font-size: 1.3rem;
  margin: 2rem 0 1rem;
  border-bottom: 2px solid #e5e5e5;
  padding-bottom: .25rem;
  font-family: var(--font-family-serif);
}

/* ──────────── 3. リストの基本設定 ──────────── */
.wsp-pages-list,
.wsp-posts-list{
  list-style: none;       /* デフォルトの点を消す */
  margin: 0;
  padding-left: 0;
}

/* 各ページ・投稿を 1 行ずつ余白付きで表示 */
.wsp-pages-list > li,
.wsp-posts-list > li{
  margin: 1.4rem 0;
}

/* ──────────── 4. 階層インデント・ナビゲーションライン ──────────── */
/* 第一階層はアイコンのみ、第二階層以降は左線で階層を可視化 */
.wsp-pages-list ul,
.wsp-posts-list ul{
  margin-top: .4rem;
  padding-left: 1rem;          /* 階層インデント */
  border-left: 1px solid #ddd; /* ガイドライン */
}

/* ──────────── 5. リンク装飾 ──────────── */
.wsp-container a{
  text-decoration: none;
  /* color: #0066cc; */
  transition: color .2s ease;
  font-size: 16px;
  font-family: var(--font-family-serif);
}

.wsp-container a:hover,
.wsp-container a:focus{
  color: #60cbff;
  text-decoration: underline;
}

/* 現在ページの強調 */
.current_page_item > a,
.wsp-posts-list .current_page_item > a{
  font-weight: 700;
  color: #c0392b;      /* 強調カラー (赤みのあるトーン) */
}

/* ──────────── 6. カテゴリー見出し ──────────── */
.wsp-category-title{
  display: inline-block;
  margin: 1.2rem 0 .4rem;
  padding: .15rem .6rem;
  background: #f5f5f5;
  border-radius: 3px;
  font-size: .95rem;
  font-weight: 600;
}
/* --- コラム共通 --- */
.p-column__head { margin-bottom: 2.5rem; text-align: center; }
.p-column__date {font-size: .875rem;/* color:#777; */}
.p-column__title { font-size: 1.75rem; line-height: 1.4; font-weight: 700; }

/* 目次 */
.p-column__toc { padding:1.5rem 2rem; border:1px solid #ccc; margin-bottom:3rem; }
.p-column__toc-head { font-size:1.25rem; margin-bottom:.5rem; }
.p-column__toc-list li { margin:.4rem 0; }

/* セクション */
.p-column__section { margin-bottom:3.5rem; }
.p-column__section-head {font-size:1.5rem;/* border-left: 3px solid #ffffff; */padding-left:.6rem;margin-bottom:1rem;}

/* Q&A */
.p-column__question {/* background:#f9f9f9; */padding:1rem;border-radius:4px;margin-bottom:1rem;}
.p-column__answer {/* background:#fff7e6; */padding:1rem;border-radius:4px;}

/* 表 */
.p-column__table {width:100%;border-collapse:collapse;margin:1rem 0;white-space: normal !important;}
.p-column__table th, .p-column__table td { border:1px solid #ddd; padding:.6rem; text-align:center; }

/* リスト／ステップ */
.p-column__list li,
.p-column__steps li { margin:.6rem 0 .6rem 1.2rem; padding-left:.4rem; }

/* FAQ */
.p-column__faq dt { font-weight:700; margin-top:1rem; }
.p-column__faq dd { margin-left:1rem; }

/* ▼ 汎用アンダーライン  ----------- */
.u-underline {
  background-image: linear-gradient(to bottom, transparent 70%, #c49a6c 0%);
  background-repeat: no-repeat;
  background-size: 100% 0.26em;   /* ラインの太さ */
  background-position: 0 100%;
}

/* ▼ 手書き風マーカーライン ---------- */
.u-marker {
  position: relative;
  z-index: 1;                      /* テキストを最前面に */
}
.u-marker::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -0.2em;                 /* テキストと重なりすぎないよう少し下げる */
  width: 100%;
  height: 0.45em;                 /* マーカーの太さ */
  background: #fff1008f;            /* マーカーカラー（既存 Q&A の色と統一） */
  z-index: -1;                    /* テキストの下に敷く */
  /* transform: rotate(-1deg); */       /* ゆるい“手書き感” */
  border-radius: 2px;
}
.pager_single{
	/* text-align: center; */
	display: flex;
	justify-content: space-around;
}
.pager_single a{
	background: #133869;
	padding: 13px;
	box-sizing: border-box;
	font-family: var(--font-family-serif);
	cursor: pointer;
	/* margin-right: 10px; */
}
/* ========== 目次 ========== */
.mokuji {/* background:#f9f9f9; */border:1px solid #e5e5e5;padding:1.5rem;margin:2rem 0;}
.mokuji_title {font-weight:bold; margin:0 0 .5rem;}
.l_toc {margin:0; padding:0 0 0 1.2rem;}
.l_toc li {margin:.25rem 0;}

/* ========== 記事本体 ========== */
.article-body .chapter {margin-bottom:3rem;}
.article-body h2 {/* font-size:1.4rem; */margin:2.5rem 0 1rem;position:relative;padding-left:.75em;}
.article-body h2::before{
  /* content:""; */
  position:absolute;
  left:0;
  bottom:0;
  width:.5em;
  height:100%;
  background:#ffe600;
  opacity:.5;
}

/* strongタグデザイン */
strong {
  background-color: #fff3c0; 
  padding: 2px 4px;
  border-radius: 3px;
  color: #444;
  font-weight: bold;
}
strong.mi {
  background-color: #ffe8b2; 
  color: #c60;
  padding: 3px 5px;
  border-radius: 4px;
  font-weight: bold;
}

/* sng-box & box_memo_01 */
.sng-box {
  border: 1px solid #ccc;
  border-radius: 5px;
  margin: 20px 0;
  padding: 15px;
}
.sng-box.box_memo_01 .box-title {
  /* background-color: #eee; */
  padding: 8px 10px;
  font-weight: bold;
  border-radius: 3px;
  margin-bottom: 10px;
}
.sng-box.box_memo_01 .box-content p {
  margin: 0;
}
.sng-box.box_memo_01.qbox { border-color: #ccc; }
.sng-box.box_memo_01.kai { border-color: #b3deb3; }
.sng-box.box_memo_01.sim-case {/* background: #f9fcff; */}
.sng-box.box_memo_01.finish {/* background: #fffdf0; */}

/* box_merit */
.box_merit {
  background-color: #f46b6b24;
  border-left: 4px solid #f46b6b;
  margin-bottom: 40px;
  padding: 10px;
  padding-top: 50px;
}
.box_merit.de {
  background-color: #0090c833;
  border-left-color: #0090c8;
}
.box_merit_span {
  font-weight: bold;
  display: inline-block;
  margin-bottom: 5px;
  /* color: #444; */
}
.li-check {
  margin: 10px 0;
}
.li-check ul {
  margin: 0;
  padding: 0 0 0 25px;
  list-style: none;
}
.li-check ul li {
  margin-bottom: 5px;
}
.li-check ul li::before {
  content: "";
  color: #fbc02d;
  font-weight: bold;
}

/* 強調用 */
.yellow_line {
  background-color: #fff9c4;
  color: black;
  font-weight: bold;
}

/* 箇条書きデザイン (ol.kajo) */
ol.kajo {
  counter-reset: number;
  list-style-type: none!important;
  padding: 0.3em 0.8em;
  border: solid 2px #ffb107;
  margin: 20px 0;
}
ol.kajo li {
  border-bottom: dashed 1px orange;
  position: relative;
  padding: 0.5em 0.5em 0.5em 30px;
  line-height: 1.5em;
}
ol.kajo li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  background: #ffb107;
  color: white;
  font-family: 'Arial Black','Arial',sans-serif;
  font-weight: bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
}
ol.kajo li:last-of-type {
  border-bottom: none;
}
.kaso_article table{
	        white-space: normal;
}
.kaso_article table th, .kaso_article td {
    border: 1px solid #ddd;
    padding: .6rem;
    text-align: center;
    vertical-align: middle;
}
.nav-links{
	display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin-top: 40px;
}
.nav-links span.current{
	border: 1px solid #fff;
	padding: 10px 15px;
}
.nav-links a{
	padding: 10px 15px;
	background: #133869;
}
/* ========== テーブル横スクロール ========== */
.table-scroll{
  overflow-x: auto;          /* スクロールを有効化 */
  -webkit-overflow-scrolling: touch; /* iOS でスムーズスクロール */
}

.price-table{
  width: 100%;               /* PC ではフル幅表示 */
  border-collapse: collapse; /* 既存の table ルールがあれば省略可 */
}

/* モバイル時のみ最小幅を設定してはみ出しを許可 */
@media (max-width: 767px){
  .price-table{
    min-width: 720px;        /* 列数に合わせて調整 ― 目安は600〜800px */
  }
}

/* ― 任意 ―  スクロールバーを目立たせたい場合 */
.table-scroll::-webkit-scrollbar{
  height: 6px;
}
.table-scroll::-webkit-scrollbar-thumb{
  background: #ccc;
  border-radius: 3px;
}
.p-plan-bottom__list-image a img{
	aspect-ratio: 16 / 9;
}

/* ========== レスポンシブ調整 ========== */
@media (min-width:768px){
  .mokuji {padding:2rem 2.5rem;}
  .article-body h2 {font-size:1.75rem;}
}

/*　横幅900px以下の段組み設定　*/
@media only screen and (max-width: 900px) {
	.gallery{
	columns:3;
	}	
}

@media only screen and (max-width: 768px) {
	.gallery{
	columns: 2;
		padding: 0px !important;
	}	
}



/* ──────────── 7. モバイル調整 (幅 480px 以下) ──────────── */
@media (max-width: 480px){
  .wsp-container{
    /* padding: 0 .75rem; */
  }
  .wsp-pages-title,
  .wsp-posts-title{
    font-size: 2rem;
  }
}
.office_party .l-content-header[data-border]{
	background-image: url(/assets/img/office001.webp);
}
.event_party .l-content-header[data-border]{
	background-image: url(/assets/img/event002.webp);
}
.wedding_party .l-content-header[data-border]{
	background-image: url(/assets/img/wedding001.webp);
}
.home_party .l-content-header[data-border]{
	background-image: url(/assets/img/home001.webp);
}
