/*
Theme Name: experience.feel-the-zen.jp
Theme URI: https://experience.feel-the-zen.jp/
Description: 体験専門サイト
*/
:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#fff0}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,h5,h4,h3,h2,h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + 0.9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + 0.6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + 0.3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + 0.3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
*{
	box-sizing:border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
a {
	text-decoration: underline;
	color: #2e2ea9;
}
a:hover {
	text-decoration: none;
	color: #2e2ea9;
}
html:before,
html:after,
body:before,
body:after {
  content: "";
  position: fixed;
  background: #2e2ea9; /* 枠線の色 */
  z-index: 1; /* 他の要素より前面に表示 */
}
html:before {
  top: 0;
  left: 0;
  width: 100%;
  height: 20px; /* 上部の枠線の太さ */
}

html:after {
  top: 0;
  right: 0;
  width: 20px;
  height: 100%; /* 右側の枠線の太さ */
}

body:before {
  left: 0;
  bottom: 0;
  width: 100%;
  height: 20px; /* 下部の枠線の太さ */
}

body:after {
  top: 0;
  left: 0;
  width: 20px;
  height: 100%; /* 左側の枠線の太さ */
}
body {
	font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-style: normal;
	color: #2e2ea9;
	font-size: 100%;
	line-height: 1.5;
	background: url(img/bg.jpg) 0 0 no-repeat;
	background-size: cover;
	background-attachment: fixed; 
}
.booking-form-people-number-row > td {
	display: flex;
	align-items: center;
}
.type-price {
	display: inline-block;
	margin-left: 2em;
}
input, textarea {
	font-family: "Zen Old Mincho", serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
}
header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
}
#header_in {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: calc( 20px + 2rem) calc( 20px + 2rem) 0;
	position: relative;
}
.grecaptcha-badge{
    margin-bottom:var(--recaptcha-badge-position);
    z-index:2;
}
.quarter-cut_tl, .quarter-cut_tr, .quarter-cut_bl, .quarter-cut_br {
  width: 20px;
  height: 20px;
  background-color: #2e2ea9;
  position: absolute;
  overflow: hidden;
}
.quarter-cut_tl {
  top: 20px;
  left: 20px;
  }
.quarter-cut_tr {
  top: 20px;
  right: 20px;
  }
 .quarter-cut_bl {
 	bottom: 20px;
  left: 20px;
 }
 .quarter-cut_br {
 	bottom: 20px;
  right: 20px;
 }
.quarter-cut_tl::after, .quarter-cut_tr::after, .quarter-cut_bl::after, .quarter-cut_br::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: white;
}
.quarter-cut_tl::after {
	top: 0;
  left: 0;
	border-radius: 30% 0 0 0;
}
.quarter-cut_tr::after {
	top: 0;
  right: 0;
	border-radius: 0 30% 0 0;
}
.quarter-cut_bl::after {
	bottom: 0;
  left: 0;
border-radius: 0 0 0 30%;
}
.quarter-cut_br::after {
bottom: 0;
  right: 0;
border-radius: 0 0 30% 0;
}
#footer-bar {
	position: fixed;
	z-index: 0;
	bottom: 0;
	left: 0;
	width: 100%;

}
footer {
	padding: 2rem calc(20px + 2rem) 6rem;
}
#footer_in {
	display: flex;
	justify-content: space-between;
}

nav ul, #footer_in ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
}
nav ul {
	justify-content: flex-end;
	margin: 0;
}
nav ul li {
	margin-left: 2em;
}
nav ul li a, #footer_in ul a {
	text-decoration: none !important;
	color: #2e2ea9 !important;
}
#key {
	position: relative;
	margin-bottom: 80px;
}
#key .catch {
	width: 60%;
	position: absolute;
	top: 0;
	left: 8vw;
	z-index: 1;
}
#key h1 {
padding-top: 1em;
margin-top: 0;
}
#key h1::before {
    content: "";
    width: 1em;
    height: 3px;
    background: #2e2ea9;
    position: absolute;
    top: 0;
    left: 0;
}
#key .picture {
	width: 50%;
	display: block;
	margin: 0 0 0 auto;
}
#key .picture img {
	display: block;
	width: 100%;
	height: auto;
}
.index_nav {
	list-style: none;
	margin: 2em 0 0;
	padding: 0;
}
.index_nav li {
	margin-bottom: .5em;
	line-height: 1.5;
}
.index_nav li::before {
content: "\f178";
font-family: "Font Awesome 6 Pro";
font-weight: 400;
margin-right: .5em;
}
.bt_l {
	width: 300px;
	height: 60px;
	margin: 2em 0;
}
.bt_l a {
	display: block;
	width: 100%;
	line-height: 60px;
	text-align: center;
	color: #FFF;
	text-decoration: none;
	background: #2e2ea9;
	border-radius: 999px;
	border: 2px solid #2e2ea9;
}
#news > div {
	padding: 2em 8vw;
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	display: flex;
	align-items: center;
}
#news > div h1 {
	font-size: 1rem;
	margin-right: 2em;
	width: 11em;
	margin:0; 
}
#news > div h1 + div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(100% - 11em);
}
#news > div h1 + div > div {
	display: flex;
}
#news > div h1 + div time {
	display: block;
	margin-right: 1em;
}
#news > div h1 + div h2 {
	font-size: 1rem;
	margin:0; 
}
#news > div h1 + div ul {
	display:flex;
	justify-content: flex-end;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 2rem;
}
#news > div h1 + div ul li {
	margin-left: .5em;
}
#tearoom {
	padding-top: 60px;
}
.thumb2, .thumb3, .thumb4 {
	list-style: none;
	display: flex;
	justify-content: space-between;
	padding: 0;
	margin: 0;
}
.thumb2 li {
	width: 48%;
}

.flex_imgtxt {
	margin-top: 1em;
}
.flex_imgtxt h1 {
	padding-bottom: 1em;
	margin-bottom: 1em;
	position: relative;
}
.flex_imgtxt h1::before {
	 content: "";
    width: 1em;
    height: 3px;
    background: #2e2ea9;
    position: absolute;
    bottom: 0;
    left: 0;
}
.flexbox img, .flexbox source {
	display: block;
	width: 100%;
	height: auto;
}
.index_attention {
	margin: .5em 0 0;
}
.flex_img {
	margin-bottom: 2em;
}
.flex_img > picture, .flex_img > div {
	width: 48%;
}
.badge_box {
	position: relative;
}
.badge {
	position: absolute;
	top: 1.5em;
	left: 3em;
	width: 140px;
	height: 140px;
	background: #2e2ea9;
	color: #FFF;
	padding: 1em;
	border-radius: 999px;
	line-height: 1.25;
}
.badge::after {
	content: "";
	height: calc(30px / 2 * tan(60deg));
  width: 30px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background:#2e2ea9;
  position: absolute;
  left: 110px;
  bottom: 20px;
  transform: rotate(125deg);
}
.badge span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.n_sec > div {
	padding: 0 8vw;
}
#footer_in ul li {
	margin-right: 2em;
}
#footer_in ul li:last-child {
	margin-right: 0;
}
#copy {
	color: #999;
}
main {
	padding: 180px 0 2em;
	height: 100%;
}
#logo {
	display: flex;
	align-items: center;
}
.mark {
	width: 40px;
height: 40px;
margin-right: .5em;
}
#logo svg {
	display: block;
	width: 100%;
	height: auto;
}
.st0 {
        fill: #2e2ea9;
      }
.mb2em {margin-bottom: 2em;}
.mb4em {margin-bottom: 4em;}
.schedule-note {
	display: none;
}
.monthly-calendar {
	font-family: "Kaisei Opti", serif;
  font-weight: 400;
  font-style: normal;
}
.calender_title {
	font-size: 3rem;
	display: inline-block;
	margin-bottom: .25em;
}
.calender_title span {
color: #CCC;

}
.monthly-calendar table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100% !important;
	aspect-ratio: 1 / 0.9;

}
.list-header.sat, .mix-calendar .header-row .sat, .week-title.sat, .day-box.sat .day-number {
    color: #2e2ea9 !important;
}
.mix-calendar th, .timetable-calendar th, .multiple-calendar th, .monthly-calendar th {
    font-size: 1rem !important;
}
.list-header.sun, .mix-calendar .header-row .sun, .week-title.sun, .day-box.sun .day-number {
    color: #e83b40 !important;
}
.monthly-calendar table th {
	border:1px solid #2e2ea9;
	padding: .5em 1em;
}
.monthly-calendar table td  {
	aspect-ratio: 1 / 1; 
	width: 100%;
	border:1px solid #2e2ea9;
	padding: .5em 1em;
	vertical-align: top;
	position: relative;
}
.calendar-daylink {
	text-decoration: none;
	color: #2e2ea9;
	font-weight: bold;
	opacity: 1;
	transition-duration: .3s;
}

.monthly-calendar table td .calendar-mark {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.monthly-calendar table .disable .day-number, .calendar-time-mark, .calendar-mark {
	color: #CCC !important;
}
.monthly-calendar table .day-number {
	text-align: left;
}
.day-box.no-day {
    background-color: transparent !important;
}
p {
	line-height: 1.5;
	margin-bottom: 1.5em;
}
.mb2em {
	margin-bottom: 2em;
}
.img100 {
	display: block;
	width: 100%;
	height: auto;
}
.border_g {
	border:1px solid #CCC;
}
.ls1em { letter-spacing: 1em; }
#bookingform {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 8vw;
}
.youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
h1, h2, h3, h4 {
	line-height: 1.5;
}
.main_title {
	font-size: 1.5rem;
}
.sub_title {
	font-size: 1.25rem;
}
.main_title span {
	color: #CCC;
	font-size: 2rem;
	display: inline-block;
	margin-left: .5em;
}
#bookingform h1 {
	font-size: 1.5rem;
	margin-bottom: 1em;
	font-weight: bold;
}
#bookingform h2 {
	font-size: 1.25rem;
	margin-bottom: 1em;
}
#bookingform h3 {
	font-size: 1.125rem;
}
.flexbox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex-two > div {
width: 46%;
}
.row-reverse {
	flex-direction: row-reverse;
}
.event_info dt {
	width: 6em;
	float: left;
	clear: both;
	padding: .5em 0;
}
.event_info dd {
	padding: .5em 0 .5em 6em;
	border-top: 1px solid #CCC;
}
.event_info {
	border-bottom: 1px solid #CCC;
}
.icon_outlink::after {
	font-family: 'Font Awesome 6 Pro';
	content: "\f08e";
font-weight: 400;
display: inline-block;
margin-left: .5em;
}
.event-header a {
text-decoration: none;
border-bottom: 1px solid #0d6efd;
}
.event-header a:hover {
	border-bottom: 1px solid transparent;
}
.pb-box ul {
	list-style: none;
	padding: 0;
}
.pb-box ol {
	margin-bottom: 2em;
	list-style: none;
  padding-left: 0;
  display: table;
}
.pb-box ol li:after {
  content: "";
  display: block;
  margin-bottom: 0.5em;
}
.pb-box ol li {
  display: table-row;
  counter-increment: table-ol;
  margin-bottom: .5em;
  line-height: 1.5;
}
.pb-box ol li:before {
  content: counter(table-ol) ".";
  display: table-cell;
  padding-right: 0.4em;
  text-align: right;
}
.content-form fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 2em !important;
    width: 100% !important;
}
.content-form table {
    border: none;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin: 0 0 0 0 !important;
    width: 100% !important;
}
.content-form th {
    font-size: 1rem;
    line-height: 1 !important;
    
    text-align: right;
    
    width: 20% !important;
}
.content-form td {
    font-size: 1rem !important;
    padding: 1em !important;
}
.content-form th, .content-form td {
    border-top: 1px solid #CCC !important;
    border-right: none !important;
    border-bottom: none !important;
    border-left: none;
   padding: 1em !important;
    line-height: 1.5 !important;
    vertical-align: top !important;
}
.content-form table {
	border-bottom: 1px solid #CCC !important;
}
.input-number br {
	display: none;
}
.input-number {
	position: relative;
}
.input-number::after {
	content: "人";
	display: inline-block;
	position: absolute;
	top: 50%;
	left:calc(100% + .5em);
	transform: translateY(-50%);
}
#booking-option-table, .content-form table {
	margin-top: 1em !important;
}
.content-form input, .content-form textarea {
    padding: 3px;
    margin-bottom: 0 !important;
}
#action-button button {
	width: 300px;
	height: 60px;
	border:none;
	background: #2e2ea9;
	margin: 0 auto;
	color: #FFF;
	border-radius: 999px;
	line-height: 60px;
	padding: 0 !important;
	opacity: 1;
	transition-duration: .3s;
}
#action-button button:hover {
	opacity: .6;
}
.option-confirm-header, #confirmation-booking-message-title {
	font-weight: bold;
}
#terms-conditions, #accedence-box, #button-message {
    margin: 1rem 0;
    text-align: center;
    line-height: 1.8;
}
#thanks {
	height: 100vh;
}
#thanks footer {
	position: fixed;
	bottom: 0;
	left: 2rem;
	width: calc(100% - 4rem);
}
.sp_display {display: none;}
.pc_display { display: block; }
@media (max-width: 1024px) {
h1 { font-size: 1.25rem; line-height: 1.5; }
h2 { font-size: 1.125rem; line-height: 1.5; }

#key h1::before {
    display: none;
}
.bt_l {
    width: 100%;
    height: 60px;
    margin: 2em 0;
}
.index_nav li {
    position: relative;
    padding-left: 2em;
}
.index_nav li::before {
position: absolute;
top: 0;
left: 0;
 margin-right: 0;
}
#key {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 40px;
    position: static;
}
#key .catch {
    width: 100%;
    position: static;
    top: auto;
    left: auto;
    padding: 2em 8vw 0;
}
#key .picture {
    width: 100%;
    display: block;
    margin: 0;
}
#key h1 {
    position: relative;
    font-size: 1.25rem;
    padding-top: 0;
}
#news > div {
    padding: 1.5em 8vw;
    display: block;
}
#news > div h1 + div > div {
    display: block;
}
#news > div h1 {
	font-size: 1.25rem;
	margin-bottom: .5em;
}

#news > div h1 + div {
    display: block;
    width: 100%;
}
#tearoom {
    padding-top: 40px;
}

.sp_display {display: block;}
.pc_display { display: none; }
.type-price {
    display: inline-block;
    margin-left: 0;
    margin-top: .5em;
    font-size: .875rem;
}
#news > div h1 + div ul {
    font-size: 1.25rem;
}
.flex_img > picture, .flex_img > div {
    width: 100%;
}
.thumb2, .thumb3, .thumb4 {
    display: block;
    padding: 0;
    margin: 0;
}
.thumb2 li {
    width: 100%;
}
.badge {
    position: static;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    background: #2e2ea9;
    color: #FFF;
    padding: 1em;
    border-radius: 0;
    line-height: 1.25;
}
.badge_box {
    margin-bottom: 2em;
}
.badge span {
    position: static;
    top: auto;
    left: auto;
    transform: translate(0, 0);
}
.badge::after {
	display: none;
}
#dr-menu {
cursor: pointer;
position: relative;
z-index: 99;
width: 40px;
height: 40px;
border-radius: 999px;
transition-duration: .3s;
margin: 0 0 0 auto
}
#dr-menu span {
display: block;
width: 40px;
height: 1px;
top: 20px;
left: 0;
transition-duration: .3s;
position: absolute;
}
#dr-menu span:before {
width: 24px;
height: 2px;
background: #2e2ea9;
content: "";
position: absolute;
top: -6px;
left: 8px;
transition-duration: .3s;
}
#dr-menu span:after {
width: 24px;
height: 2px;
background: #2e2ea9;
content: "";
position: absolute;
bottom: -6px;
left: 8px;
transition-duration: .3s;
}
.open {
overflow: hidden;
}
.open #dr-menu span:before {
transform: rotate(45deg);
top: 50%;
margin-top: -1px;
background: #2e2ea9;
}
.open #dr-menu span {
height: 0;
background: #2e2ea9;
}
.open #dr-menu span:after {
transform: rotate(-45deg);
margin-top: 0;
bottom: 50%;
background: #2e2ea9;
}
.menu_drawer {
position: fixed;
z-index: 50;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: #FFF;
-webkit-transition: all .5s;
transition: all .5s;
visibility: hidden;
opacity: 0;
padding: 80px 6vw;
overflow-y: scroll;
}
.open .menu_drawer {
-webkit-transition: all .5s;
transition: all .5s;
visibility: visible;
opacity: 1;
z-index: 30;
}
.menu_drawer ul {
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.menu_drawer ul li {
  margin: 0;
  text-align: center;
  margin-bottom: .5em;
  font-size: 1rem;
}

html:before, body:before, html:after, body:after {
 display: none;
}

.quarter-cut_tl, .quarter-cut_tr, .quarter-cut_bl, .quarter-cut_br {
display: none;
  }

body {
    font-size: 80%;
}
header {
    width: 100%;
    height: auto;
}
#header_in {
    width: 100%;
    padding: 1rem;
}
.mark {
    width: 32px;
    height: 32px;
    margin-right: .5em;
}
.satorukun {
	width: 30%;
	margin: 2rem auto 0 !important;
}
.main_title {
    font-size: 1.25rem;
}
.main_title span {
    font-size: 1.25rem;
}
.flexbox {
    display: block;
}
.flex-two > div {
    width: 100%;
}
.flex-two > div picture {
	display: block;
	margin-bottom: 2em;
}
#bookingform h1 {
    font-size: 1.125rem;
}
#bookingform h2 {
    font-size: 1rem;
    font-weight: bold;
}
#bookingform h3 {
font-size: .875rem;
font-weight: bold;
}
#bookingform {
	padding: 0 8vw;
}
main {
    padding: 72px 0 1.5rem;
}
.event_info dt {
    width: 100%;
    float: none;
    clear: none;
    padding: .5em 0 0;
    border-top: 1px solid #CCC;
}
.event_info dd {
    padding: .25em 0 .5em 0;
    border-top: none;
}
.calender_title {
    font-size: 1.5rem;
}
.monthly-calendar table th {
    padding: .25em .5em;
    font-size: 3vw !important;
}
.monthly-calendar table {
    aspect-ratio: 1 / 1.5;
}
.day-number, .monthly-calendar table .disable .day-number, .calendar-time-mark, .calendar-mark {
    font-size: 3vw;
}
.calendar-time-mark, .calendar-mark {
    font-size: 5vw !important;
}
.monthly-calendar table td {
    aspect-ratio: 1 / 1.5;
    width: 100%;
    padding: .25em .5em;
}
footer {
    padding: 0 1.5rem 6rem;
}
#footer_in {
    display: block;
}
#footer_in ul {
	display: none;
}
#copy {
	text-align: center;
}
.content-form legend {
    font-size: 1rem !important;
    padding: 0 !important;
}
.content-form {
    font-size: .875rem !important;
}
.content-form th {
	display: block;
    font-size: .875rem;
    padding-right: 0;
    text-align: left !important;
    width: 100% !important;
    padding: 1em 0 .25em !important;

}
.content-form td {
    display: block;
    border-top: none !important;
    border-bottom: 1px solid #CCC;
    padding: 0 0 1em !important;
}
.input-number {
  float: none !important;
  margin-right: 1rem;
  text-align: left !important;
  display: inline-block;
}
.content-form fieldset {
    margin: 0 0 1em !important;
}
.content-form .booking-seimei {
    text-align: left;
    width: 2rem !important;
}
.content-text.small-medium {
    width: 30% !important;
}
.content-text.fat {
    width: 100% !important;
}
}
@media (max-height: 480px) {
.satorukun {
	display: none;
}	
	}