@charset "UTF-8";

/*****************************************************************************
	執事喫茶スワロウテイルＨＰ用　追記・更新用CSS
	（style.cssを直接いじらない為）
*****************************************************************************/
/*========================================
　執事喫茶・歌劇団の各ページCSS共通設定
========================================*/
/*== タグ基本設定 ==*/
b {
	font-weight: bold;
}

i {
	font-style: italic;
}

/*== 等幅フォント使用タグで文字が小さくなるのを修正 ==*/
tt,
code,
kbd,
samp,
pre,
xmp,
plaintext,
listing {
	font-family: monospace, serif;
}

/*== ルビタグ文字サイズ ==*/
.rubisize_xs rp,
.rubisize_xs rt {
	font-size: x-small !important;
}

.rubisize_s rp,
.rubisize_s rt {
	font-size: small !important;
}

.rubisize_m rp,
.rubisize_m rt {
	font-size: medium !important;
}

/*== リストマーカー無くす ==*/
ul.nomarker {
	list-style-type: none;
}

/*== 打ち消し線の加工 ==*/
del,
.deltext {
	text-decoration-line: line-through;
	text-decoration-style: solid;
	text-decoration-thickness: 0.2em;
	text-decoration-color: currentColor;
}

.deltext--red {
	text-decoration-line: line-through;
	text-decoration-style: solid;
	text-decoration-thickness: 0.2em;
	text-decoration-color: #fa0000;
}

/*== 記号などの等幅対応 ==*/
.nosmallfont,
.kigou {
	font-family: monospace, serif;
}

/*== noWrap ==*/
.nobr {
	white-space: nowrap;
}

.nobrgroup>span {
	white-space: nowrap;
}

/*== 非表示（スペース削除） ==*/
.noview {
	display: none !important;
}

/*== 非表示（スペースそのまま） ==*/
.emptyspace {
	visibility: hidden !important;
}

/*== 画像加工（共通） ==*/
img.autoresize {
	/*（自動縮小）*/
	margin: auto;
	width: auto;
	height: auto;
	max-width: 100%;
}

img.noborder {
	/*（枠無し）*/
	border: none;
}

img.noclick {
	/*（マウスイベント等を無効化）*/
	pointer-events: none;
}

img.titleimage {
	/*（画像の表題：↑３つ全部）*/
	margin: auto;
	width: auto;
	height: auto;
	max-width: 100%;
	border: none;
	pointer-events: none;
}

/*== 右クリックを無効にした画像（リンクバナーなど） ==*/
a.imagelink,
.noclickimage {
	display: inline-block;
}

a.imagelink>img,
.noclickimage>img {
	pointer-events: none;
}

/*== 画像の影付け、周囲ぼかし（透過png用） ==*/
/* 周囲ぼかし（白） */
.png_glow {
	-webkit-filter: drop-shadow(0 0 2rem lightgray);
	filter: drop-shadow(0 0 2rem lightgray);
}

/* 影付け */
/*== 文字装飾（共通） ==*/
.moji-pos-center,
.mojicenter {
	text-align: center !important;
}

.moji-pos-left,
.mojileft {
	text-align: left !important;
}

.moji-pos-right,
.mojiright {
	text-align: right !important;
}

.moji-pos-start {
	text-align: start !important;
}

@supports not (text-align: start) {
	.moji-pos-start {
		text-align: left !important;
	}
}

.moji-pos-end {
	text-align: end !important;
}

@supports not (text-align: end) {
	.moji-pos-end {
		text-align: right !important;
	}
}

.moji-bold,
.mojibold {
	font-weight: bold !important;
}

.mojikerning {
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
}

.mojired {
	color: #fa0000;
}

.mojiblue {
	color: #0000fa;
}

.mojigreen {
	color: green;
}

.mojiaqua {
	color: aqua;
}

.mojilime {
	color: lime;
}

.mojiyellow {
	color: yellow;
}

.mojigold {
	color: gold;
}

.mojiorange {
	color: darkorange;
}

.mojinavy {
	color: navy;
}

.mojimaroon {
	color: maroon;
}

.mojiroyalb {
	color: royalblue;
}

.mojipink {
	color: deeppink;
}

/*== 文字サイズ ==*/
.fsz7 {
	font-size: xx-large !important;
}

.fsz6 {
	font-size: x-large !important;
}

.fsz5 {
	font-size: large !important;
}

.fsz4 {
	font-size: medium !important;
}

.fsz3 {
	font-size: small !important;
}

.fsz2 {
	font-size: x-small !important;
}

.fsz1 {
	font-size: xx-small !important;
}

.fsz_lr {
	font-size: larger !important;
}

.fsz_sr {
	font-size: smaller !important;
}

.fsz_11r {
	font-size: 1.1rem !important;
}

.fsz_09r {
	font-size: 0.9rem !important;
}

/*== 行間 ==*/
.lh_12 {
	line-height: 1.2 !important;
}

.lh_14 {
	line-height: 1.4 !important;
}

.lh_15 {
	line-height: 1.5 !important;
}

.lh_16 {
	line-height: 1.6 !important;
}

.lh_18 {
	line-height: 1.8 !important;
}

.lh_20 {
	line-height: 2 !important;
}

/*== 横幅 ==*/
.w_400 {
	width: 400px !important;
}

.w_600 {
	width: 600px !important;
}

.w_900 {
	width: 900px !important;
}

.w_40p {
	width: 40% !important;
}

.w_50p {
	width: 50% !important;
}

.w_60p {
	width: 60% !important;
}

.w_100p {
	width: 100% !important;
}

/*== 横幅（最大） ==*/
.mw_400 {
	max-width: 400px;
	line-height: 1.6;
}

.mw_600 {
	max-width: 600px;
	line-height: 1.6;
}

.mw_900 {
	max-width: 900px;
	line-height: 1.6;
}

.mw_720 {
	max-width: 720px;
	line-height: 1.6;
}

.mw_740 {
	max-width: 740px;
	line-height: 1.6;
}

.mw_760 {
	max-width: 760px;
	line-height: 1.6;
}

.mw_780 {
	max-width: 780px;
	line-height: 1.6;
}

.mw_800 {
	max-width: 800px;
	line-height: 1.6;
}

.mw_40p {
	max-width: 40%;
	line-height: 1.6;
}

.mw_50p {
	max-width: 50%;
	line-height: 1.6;
}

.mw_60p {
	max-width: 60%;
	line-height: 1.6;
}

.mw_80p {
	max-width: 80%;
	line-height: 1.6;
}

.mw_85p {
	max-width: 85%;
	line-height: 1.6;
}

.mw_90p {
	max-width: 90%;
	line-height: 1.6;
}

.mw_100p {
	max-width: 100%;
	line-height: 1.6;
}

/*== マージン ==*/
.mgn {
	margin: auto;
}

.mgn_05 {
	margin: 0.5rem !important;
}

.mgn_10 {
	margin: 1rem !important;
}

.mgn_15 {
	margin: 1.5rem !important;
}

.mgn_20 {
	margin: 2rem !important;
}

.mgn_10x05 {
	margin-block: 1rem !important;
	margin-inline: 0.5rem !important;
}

.mgn_05x10 {
	margin-block: 0.5rem !important;
	margin-inline: 0.1rem !important;
}

.mgn_10x05x05 {
	margin-block: 1rem 0.5rem !important;
	margin-inline: 0.5rem !important;
}

.mgn_10x10x05 {
	margin-block: 1rem 0.5rem !important;
	margin-inline: 1rem !important;
}

.mgn_05a {
	margin: 0.5rem auto !important;
}

.mgn_10a {
	margin: 1rem auto !important;
}

.mgn_15a {
	margin: 1.5rem auto !important;
}

.mgn_20a {
	margin: 2rem auto !important;
}

.mgn_25a {
	margin: 2.5rem auto !important;
}

.mgn_30a {
	margin: 3rem auto !important;
}

.mgn_t00 {
	margin-top: 0 !important;
}

.mgn_t03 {
	margin-top: 0.3rem !important;
}

.mgn_t05 {
	margin-top: 0.5rem !important;
}

.mgn_t10 {
	margin-top: 1rem !important;
}

.mgn_t15 {
	margin-top: 1.5rem !important;
}

.mgn_t20 {
	margin-top: 2rem !important;
}

.mgn_t30 {
	margin-top: 3rem !important;
}

.mgn_b03 {
	margin-bottom: 0.3rem !important;
}

.mgn_b05 {
	margin-bottom: 0.5rem !important;
}

.mgn_b10 {
	margin-bottom: 1rem !important;
}

.mgn_b15 {
	margin-bottom: 1.5rem !important;
}

.mgn_b20 {
	margin-bottom: 2rem !important;
}

.mgn_b30 {
	margin-bottom: 3rem !important;
}

.mgn_l05 {
	margin-left: 0.5rem !important;
}

.mgn_l10 {
	margin-left: 1rem !important;
}

.mgn_l15 {
	margin-left: 1.5rem !important;
}

.mgn_l20 {
	margin-left: 2rem !important;
}

.mgn_l25 {
	margin-left: 2.5rem !important;
}

.mgn_l30 {
	margin-left: 3rem !important;
}

/*== パディング ==*/
.pd_00 {
	padding: 0 !important;
}

.pd_05 {
	padding: 0.5em !important;
}

.pd_075 {
	padding: 0.75em !important;
}

.pd_10 {
	padding: 1em !important;
}

.pd_15 {
	padding: 1.5em !important;
}

.pd_20 {
	padding: 2em !important;
}

.pd_t05 {
	padding-top: 0.5em !important;
}

.pd_00x05 {
	padding: 0 0.5em !important;
}

.pd_00x10 {
	padding: 0 1em !important;
}

.pd_05x10 {
	padding: 0.5em 1em !important;
}

.pd_05x10x00 {
	padding: 0.5em 1em 0 !important;
}

.pd_10x00 {
	padding: 1em 0 !important;
}

.pd_10x05 {
	padding: 1em 0.5em !important;
}

.pd_10x20 {
	padding: 1em 2em !important;
}

.pd_10x10x00 {
	padding: 1em 1em 0 !important;
}

.pd_10x10x05 {
	padding: 1em 1em 0.5em !important;
}

.pd_10x10x20 {
	padding: 1em 1em 2em !important;
}

.pd_20x10 {
	padding: 2em 1em !important;
}

.pd_20x10x10 {
	padding: 2em 1em 1em !important;
}

/*== 囲い線（色指定なし） ==*/
.solidbox {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: solid;
	border-width: thin;
}

.dashbox {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: dashed;
	border-width: thin;
}

.dotbox {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: dotted;
	border-width: thin;
}

.doublebox {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: double;
	border-width: 4px;
}

.solidbox_m {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: solid;
	border-width: medium;
}

.dashbox_m {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: dashed;
	border-width: medium;
}

.dotbox_m {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: dotted;
	border-width: medium;
}

/*== 線の色 ==*/
.linecolor_red {
	border-color: #fa0000;
}

.linecolor_blue {
	border-color: #0000fa;
}

.linecolor_green {
	border-color: green;
}

.linecolor_aqua {
	border-color: aqua;
}

.linecolor_lime {
	border-color: lime;
}

.linecolor_gold {
	border-color: gold;
}

.linecolor_yellow {
	border-color: yellow;
}

/*== 囲い線（色付き） ==*/
/*実線*/
.solidbox_red {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin solid #fa0000;
}

.solidbox_green {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin solid green;
}

.solidbox_blue {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin solid #0000fa;
}

/*破線*/
.dashbox_red {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin dashed #fa0000;
}

.dashbox_green {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin dashed green;
}

.dashbox_blue {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin dashed #0000fa;
}

/*点線*/
.dotbox_red {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin dotted #fa0000;
}

.dotbox_green {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin dotted green;
}

.dotbox_blue {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin dotted #0000fa;
}

/*点線（太）*/
.dotbox_blue_m {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: medium dotted #0000fa;
}

/*== 囲い線（各丸四角形） ==*/
.solidbox_green_r15 {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin solid green;
	border-radius: 1.5em;
}

/*== 左に右矢印（→, ⇒）を付加 ==*/
.rarrow::before {
	content: "→";
	font-family: monospace, serif;
	-webkit-padding-end: 0.3em;
	padding-inline-end: 0.3em;
}

.rarrow2::before {
	content: "⇒";
	font-family: monospace, serif;
	-webkit-padding-end: 0.3em;
	padding-inline-end: 0.3em;
}

/*== 左に塗り四角（■）を付加 ==*/
.boxmark::before {
	content: "■";
	font-family: monospace, serif;
	-webkit-padding-end: 0.3em;
	padding-inline-end: 0.3em;
}

/*== 左に塗り丸（●）を付加 ==*/
.circlemark::before {
	content: "●";
	font-family: monospace, serif;
	-webkit-padding-end: 0.3em;
	padding-inline-end: 0.3em;
}

/*== 左右に塗り四角1個（■）を付加 ==*/
.boxmark1bk::before {
	content: "■";
	font-family: monospace, serif;
	-webkit-padding-end: 0.3em;
	padding-inline-end: 0.3em;
}

.boxmark1bk::after {
	content: "■";
	font-family: monospace, serif;
	-webkit-padding-start: 0.3em;
	padding-inline-start: 0.3em;
}

/*== 左右に塗り四角2個（■■）を付加 ==*/
.boxmark2bk::before {
	content: "■■";
	font-family: monospace, serif;
	-webkit-padding-end: 0.3em;
	padding-inline-end: 0.3em;
}

.boxmark2bk::after {
	content: "■■";
	font-family: monospace, serif;
	-webkit-padding-start: 0.3em;
	padding-inline-start: 0.3em;
}

/*== 左右に波形（～）を付加 ==*/
.wavemark::before {
	content: "～";
	font-family: monospace, serif;
	-webkit-padding-end: 0.3em;
	padding-inline-end: 0.3em;
}

.wavemark::after {
	content: "～";
	font-family: monospace, serif;
	-webkit-padding-start: 0.3em;
	padding-inline-start: 0.3em;
}

/*== 注意文リスト（字下げ＆※付け、<ul>用） ==*/
ul.alertlist {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.alertlist>li {
	position: relative;
	margin-left: 1.2rem;
	padding-left: 5px;
}

ul.alertlist>li:nth-child(n+2) {
	margin-top: 0.5rem;
}

ul.alertlist>li::before {
	content: "※";
	font-family: monospace, serif;
	display: block;
	position: absolute;
	top: 0;
	left: -1.2rem;
	width: 1.2rem;
}

/*== <ul>リスト横並び ==*/
/*共通規格*/
.ul_flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style-type: none;
	-webkit-padding-start: 0;
	padding-inline-start: 0;
}

.ul_flex>li:not(:last-of-type):after {
	white-space: nowrap;
}

/*区切り記号（半角文字と空白は前後に隙間）*/
.ul_flex_touten>li:not(:last-of-type):after {
	content: "、";
}

.ul_flex_nakaten>li:not(:last-of-type):after {
	content: "・";
}

.ul_flex_space>li:not(:last-of-type):after {
	content: "";
	padding-inline: 0.25em;
}

.ul_flex_slash>li:not(:last-of-type):after {
	content: "/";
	padding-inline: 0.25em;
}

.ul_flex_tatesen>li:not(:last-of-type):after {
	content: "|";
	padding-inline: 0.25em;
}

/*== リストマーク整形 ==*/
/*== 共通：リストマーク変形 ==*/
ul.marker_tt>li::marker {
	/*等幅フォントに変更*/
	font-family: monospace, serif;
}

ul.marker_b>li::marker {
	/*太字に変更*/
	font-weight: bold;
}

/*== ひし形（◆）リストマーク ==*/
ul.rhombic {
	list-style-type: none;
	list-style-position: outside;
	-webkit-padding-start: 1.5rem;
	padding-inline-start: 1.5rem;
}

ul.rhombic>li {
	-webkit-padding-start: 0.25em;
	padding-inline-start: 0.25em;
}

ul.rhombic>li::marker {
	content: "◆";
}

ul.rhombic>li:not(:last-of-type) {
	-webkit-margin-after: 1rem;
	margin-block-end: 1rem;
}

/*== 注意（※）リストマーク ==*/
ul.autonoteslist {
	list-style-type: none;
	list-style-position: outside;
	-webkit-padding-start: 1.5rem;
	padding-inline-start: 1.5rem;
}

ul.autonoteslist>li {
	-webkit-padding-start: 0.25em;
	padding-inline-start: 0.25em;
}

ul.autonoteslist>li::marker {
	content: "※";
}

ul.autonoteslist>li:not(:last-of-type) {
	-webkit-margin-after: 1rem;
	margin-block-end: 1rem;
}

/*== マーク無しリスト ==*/
ul.nomarklist {
	list-style-type: none;
	list-style-position: outside;
	-webkit-padding-start: 0;
	padding-inline-start: 0;
}

ul.nomarklist>li {
	-webkit-padding-start: 0;
	padding-inline-start: 0;
}

ul.nomarklist>li:not(:last-of-type) {
	-webkit-margin-after: 1rem;
	margin-block-end: 1rem;
}

/*== <li>タグの項目間隔 ==*/
.li_space_10em>li:not(:last-of-type) {
	-webkit-margin-after: 1em;
	margin-block-end: 1em;
}

.li_space_05em>li:not(:last-of-type) {
	-webkit-margin-after: 0.5em;
	margin-block-end: 0.5em;
}

.li_space_025em>li:not(:last-of-type) {
	-webkit-margin-after: 0.25em;
	margin-block-end: 0.25em;
}

.li_space_5px>li:not(:last-of-type) {
	-webkit-margin-after: 5px;
	margin-block-end: 5px;
}

/*== リストマーク付き<dl> ==*/
/* 基本設定 */
dl.dl_list>dt {
	border-color: currentColor;
}

dl.dl_list>dt:not(:first-of-type) {
	margin-top: 1.5em;
}

dl.dl_list>dd {
	margin: 0.5em 1em;
}

dl.dl_list>dd:last-of-type {
	margin: 0.5em 1em auto;
}

/* <dt>タグ整形：見出しのフォントを大きく */
dl.dl_list--midashi>dt {
	font-size: larger;
}

dl.dl_list--bold>dt {
	font-weight: bold;
}

/* <dt>タグ間隔を狭く */
dl.dl_list--dt10>dt:not(:first-of-type) {
	margin-top: 1em;
}

dl.dl_list--dt05>dt:not(:first-of-type) {
	margin-top: 0.5em;
}

/* <dd>タグ間隔を広く */
dl.dl_list--dd10>dd {
	margin: 1em 1em 1em !important;
}

dl.dl_list--dd10>dd:last-of-type {
	margin: 1em 1em auto !important;
}

/* <dt>に記号を付加（下線対応のため、<dt>タグの内容を<div>で囲む） */
dl.dl_list--w_hishi>dt>div,
dl.dl_list--w_box>dt>div,
dl.dl_list--w_circle>dt>div,
dl.dl_list--box>dt>div,
dl.dl_list--hishi>dt>div,
dl.dl_list--circle2>dt>div,
dl.dl_list--circle>dt>div {
	text-indent: -1.2em;
	margin-left: 1.1em;
}

dl.dl_list--w_hishi>dt>div::before,
dl.dl_list--w_box>dt>div::before,
dl.dl_list--w_circle>dt>div::before,
dl.dl_list--box>dt>div::before,
dl.dl_list--hishi>dt>div::before,
dl.dl_list--circle2>dt>div::before,
dl.dl_list--circle>dt>div::before {
	font-family: monospace, serif;
	padding-right: 0.2em;
}

dl.dl_list--circle>dt>div::before {
	content: "●";
}

dl.dl_list--circle2>dt>div::before {
	content: "◎";
}

dl.dl_list--hishi>dt>div::before {
	content: "◆";
}

dl.dl_list--box>dt>div::before {
	content: "■";
}

dl.dl_list--w_circle>dt>div::before {
	content: "○";
}

dl.dl_list--w_box>dt>div::before {
	content: "□";
}

dl.dl_list--w_hishi>dt>div::before {
	content: "◇";
}

/* <dt>に下線を付加 */
dl.dl_list--dotline>dt,
dl.dl_list--dashline>dt,
dl.dl_list--underline>dt {
	border-bottom-width: thin;
	padding-bottom: 0.25em;
}

dl.dl_list--underline>dt {
	border-bottom-style: solid;
}

dl.dl_list--dashline>dt {
	border-bottom-style: dashed;
}

dl.dl_list--dotline>dt {
	border-bottom-style: dotted;
}

/* <dt>に色付け（下線がある場合も色を反映） */
dl.dl_list--aqua>dt {
	color: aqua;
}

dl.dl_list--lime>dt {
	color: lime;
}

dl.dl_list--gold>dt {
	color: gold;
}

dl.dl_list--yellow>dt {
	color: yellow;
}

dl.dl_list--red>dt {
	color: "#fa0000";
}

dl.dl_list--green>dt {
	color: green;
}

dl.dl_list--blue>dt {
	color: blue;
}

dl.dl_list--maroon>dt {
	color: maroon;
}

/* グループの上下間隔開け（<p>,<div>,<li>） */
.rowspace025>p:not(:last-of-type) {
	-webkit-margin-after: 0.25em !important;
	margin-block-end: 0.25em !important;
}

.rowspace025>div:not(:last-of-type) {
	-webkit-margin-after: 0.25em !important;
	margin-block-end: 0.25em !important;
}

.rowspace025>li:not(:last-of-type) {
	-webkit-margin-after: 0.25em !important;
	margin-block-end: 0.25em !important;
}

.rowspace05>p:not(:last-of-type) {
	-webkit-margin-after: 0.5em !important;
	margin-block-end: 0.5em !important;
}

.rowspace05>div:not(:last-of-type) {
	-webkit-margin-after: 0.5em !important;
	margin-block-end: 0.5em !important;
}

.rowspace05>li:not(:last-of-type) {
	-webkit-margin-after: 0.5em !important;
	margin-block-end: 0.5em !important;
}

.rowspace10>p:not(:last-of-type) {
	-webkit-margin-after: 1em !important;
	margin-block-end: 1em !important;
}

.rowspace10>div:not(:last-of-type) {
	-webkit-margin-after: 1em !important;
	margin-block-end: 1em !important;
}

.rowspace10>li:not(:last-of-type) {
	-webkit-margin-after: 1em !important;
	margin-block-end: 1em !important;
}

.rowspace20>p:not(:last-of-type) {
	-webkit-margin-after: 2em !important;
	margin-block-end: 2em !important;
}

.rowspace20>div:not(:last-of-type) {
	-webkit-margin-after: 2em !important;
	margin-block-end: 2em !important;
}

.rowspace20>li:not(:last-of-type) {
	-webkit-margin-after: 2em !important;
	margin-block-end: 2em !important;
}

.rowspace30>p:not(:last-of-type) {
	-webkit-margin-after: 3em !important;
	margin-block-end: 3em !important;
}

.rowspace30>div:not(:last-of-type) {
	-webkit-margin-after: 3em !important;
	margin-block-end: 3em !important;
}

.rowspace30>li:not(:last-of-type) {
	-webkit-margin-after: 3em !important;
	margin-block-end: 3em !important;
}

/** リスト等の位置指定（文字：左寄せ、配置：中央） **/
.center-fit {
	margin: auto;
	text-align: left;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

/********************************/
/* IE非対応CSSの対策 */
/********************************/
/* マージン(ie11) */
_:-ms-lang(x)::-ms-backdrop,
.mgn_10x05 {
	margin: 1rem 0.5rem !important;
}

_:-ms-lang(x)::-ms-backdrop,
.mgn_05x10 {
	margin: 0.5rem 1rem !important;
}

_:-ms-lang(x)::-ms-backdrop,
.mgn_10x05x05 {
	margin: 1rem 0.5rem 0.5rem !important;
}

/* moji(ie11) */
_:-ms-lang(x)::-ms-backdrop,
.moji-pos-start {
	text-align: left !important;
}

_:-ms-lang(x)::-ms-backdrop,
.moji-pos-end {
	text-align: right !important;
}

/* リストマーク変更(ie11) */
_:-ms-lang(x)::-ms-backdrop,
ul.rhombic {
	padding-left: 1.5rem;
}

_:-ms-lang(x)::-ms-backdrop,
ul.rhombic>li {
	padding-left: 0.25em;
}

_:-ms-lang(x)::-ms-backdrop,
ul.rhombic>li:not(:last-of-type) {
	margin-bottom: 1rem;
}

_:-ms-lang(x)::-ms-backdrop,
ul.autonoteslist {
	padding-left: 1.5rem;
}

_:-ms-lang(x)::-ms-backdrop,
ul.autonoteslist>li {
	padding-left: 0.25em;
}

_:-ms-lang(x)::-ms-backdrop,
ul.autonoteslist>li:not(:last-of-type) {
	margin-bottom: 1rem;
}

_:-ms-lang(x)::-ms-backdrop,
ul.nomarklist {
	padding-left: 0;
}

_:-ms-lang(x)::-ms-backdrop,
ul.nomarklist>li {
	padding-left: 0;
}

_:-ms-lang(x)::-ms-backdrop,
ul.nomarklist>li:not(:last-of-type) {
	margin-bottom: 1rem;
}

/* 上下間隔(ie11) */
_:-ms-lang(x)::-ms-backdrop,
.rowspace025>div:not(:last-of-type) {
	margin-bottom: 0.25em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.rowspace025>p:not(:last-of-type) {
	margin-bottom: 0.25em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.rowspace025>li:not(:last-of-type) {
	margin-bottom: 0.25em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.rowspace05>div:not(:last-of-type) {
	margin-bottom: 0.5em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.rowspace05>p:not(:last-of-type) {
	margin-bottom: 0.5em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.rowspace05>li:not(:last-of-type) {
	margin-bottom: 0.5em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.rowspace10>div:not(:last-of-type) {
	margin-bottom: 1em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.rowspace10>p:not(:last-of-type) {
	margin-bottom: 1em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.rowspace10>li:not(:last-of-type) {
	margin-bottom: 1em !important;
}

/* 複数<li>タグの上下間隔(ie11) */
_:-ms-lang(x)::-ms-backdrop,
.li_space_025em>li:not(:last-of-type) {
	margin-bottom: 0.25em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.li_space_05em>li:not(:last-of-type) {
	margin-bottom: 0.5em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.li_space_10em>li:not(:last-of-type) {
	margin-bottom: 1em !important;
}

_:-ms-lang(x)::-ms-backdrop,
.li_space_5px>li:not(:last-of-type) {
	margin-bottom: 5px !important;
}

/* 記号区切りで横並び */
_:-ms-lang(x)::-ms-backdrop,
.ul_flex {
	padding-left: 0;
}

_:-ms-lang(x)::-ms-backdrop,
.ul_flex_space>li:not(:last-of-type):after {
	padding-left: 0.25em;
	padding-right: 0.25em;
}

_:-ms-lang(x)::-ms-backdrop,
.ul_flex_slash>li:not(:last-of-type):after {
	padding-left: 0.25em;
	padding-right: 0.25em;
}

_:-ms-lang(x)::-ms-backdrop,
.ul_flex_tatesen>li:not(:last-of-type):after {
	padding-left: 0.25em;
	padding-right: 0.25em;
}

/* 文字左右に記号付け */
_:-ms-lang(x)::-ms-backdrop,
.rarrow::before {
	padding-right: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.rarrow2::before {
	padding-right: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.circlemark::before {
	padding-right: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.wavemark::before {
	padding-right: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.wavemark::after {
	padding-left: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.boxmark::before {
	padding-right: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.boxmark1bk::before {
	padding-right: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.boxmark1bk::after {
	padding-left: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.boxmark2bk::before {
	padding-right: 0.3em;
}

_:-ms-lang(x)::-ms-backdrop,
.boxmark2bk::after {
	padding-left: 0.3em;
}

/* sassファイル行頭で記述 */
/*############################################################
	執事喫茶ホームページ共通設定
############################################################*/
/*== スワロHP基本色 ==*/
:root {
	--maincolor: #30415d;
	--subcolor: #5a6d81;
	--goldcolor: #ba9b68;
	--whitecolor: #e0e0e0;
}

/*== 操作パーツ ==*/
input[type=text] {
	border: 1px solid black;
	font-size: 115%;
	padding-left: 5px;
	height: 25px;
}

input[type=submit] {
	border: 1px solid black;
	font-size: 115%;
}

input[type=button] {
	border: 1px solid black;
	font-size: 115%;
}

select {
	border: 1px solid black;
	font-size: 115%;
	padding-left: 5px;
	min-height: 44px;
	/* height: 25px; */
}

/*==*/
h3.topic-title1 {
	margin: 5em 0 1em 0;
	padding: 10px 10px;
	font-weight: bold;
	color: #333333;
	font-size: 1em;
	text-align: left;
	line-height: 150%;
	background-color: #EE6699;
	border: 1px solid #CC3366;
	border-left-width: 10px;
}

h3.topic-title2 {
	margin: 1em 0 1em 0;
	padding: 0.5em 0.2em;
	font-weight: bold;
	color: #333333;
	font-size: 1em;
	text-align: left;
	line-height: 150%;
	border: 1px solid #CC3366;
	border-left-width: 10px;
}

h3.topic-title3 {
	margin: 1em 0 1em 0;
	padding: 0.5em 0.2em;
	font-weight: bold;
	color: #333333;
	font-size: 0.8em;
	text-align: left;
	line-height: 150%;
	border-left: 10px solid #CC3366;
	border-bottom: 1px dashed #CC3366;
}

h3.topic-title4 {
	margin: 1em 0 1em 0;
	padding: 0px 10px;
	font-weight: bold;
	color: #333333;
	font-size: 1em;
	text-align: left;
	line-height: 150%;
	border-left: 10px solid #cc3366;
}

h3.topic-title5 {
	margin: 1em 0 1em 0;
	padding: 0px 10px;
	font-weight: bold;
	color: #333333;
	font-size: 1em;
	text-align: left;
	line-height: 150%;
}

/*==*/
div.topic-contents1,
div.topic-contents2 {
	font-size: 1em;
	margin: 1em;
	text-align: left;
	line-height: 150%;
}

/*== 画像の影付け ==*/
.image__shadow {
	-webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
}

/*== 画像のマウスオーバー ==*/
.image__overglow:hover img {
	-webkit-filter: drop-shadow(0 0 1rem rgba(255, 255, 255, 0.5));
	filter: drop-shadow(0 0 1rem rgba(255, 255, 255, 0.5));
}

/*== 文字整形 ==*/
/* "→" のフォント整形 */
.mojiarror {
	font-family: monospace, serif;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

/* 新着コーナー用<p>タグ整形 */
.w-auto {
	width: auto !important;
	line-height: 1.5 !important;
}

/*== 注意文（字下げ＆※付け） ==*/
/*== 【注意】直下タグがflexitem化してしまう為、文中でタグを使う場合は全体をダミータグで囲む事 ==*/
.alertMark {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
}

.alertMark::before {
	content: "※";
	font-family: monospace, serif;
	margin: 0 5px 0 0;
}

.autonotes {
	position: relative;
	margin-left: 1.2em !important;
	padding-left: 0.1em;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
}

.autonotes::before {
	display: block;
	position: absolute;
	top: 0;
	left: -1.2em;
	width: 1.2em;
	font-family: monospace, serif;
	content: "※";
}

/*== 注意などの説明リスト汎用表示（間隔あけのみ） ==*/
ul.cautionlist {
	line-height: 1.6;
}

ul.cautionlist li {
	margin-top: 0.5rem;
}

/*== イベント概要（リスト表示） ==*/
dl.topics_eventdetail {
	/*max-width, text-aling等は呼び出し元で定義*/
	display: block;
	line-height: 1.6;
}

dl.topics_eventdetail dt {
	font-weight: bold;
	margin-top: 1em;
}

dl.topics_eventdetail dt::before {
	content: "■ ";
	font-family: monospace, serif;
}

dl.topics_eventdetail dt.underline {
	padding-bottom: 3px;
	border-bottom: thin solid gold;
}

dl.topics_eventdetail dd {
	margin-left: 1.5em;
	margin-top: 0.5em;
}

/*== 概要リスト表示 ==*/
dl.topic-list {
	display: block;
	line-height: 1.6;
}

dl.topic-list>dt {
	font-weight: bold;
}

dl.topic-list>dd {
	margin: 0.5em auto 1em 1em;
}

dl.topic-list-maroon>dt {
	color: maroon;
}

dl.topic-list-blue>dt {
	color: blue;
}

dl.topic-list-red>dt {
	color: red;
}

/*== 文字サイズ ==*/
.fsz_l {
	font-size: larger !important;
}

.fsz_s {
	font-size: smaller !important;
}

/*== 丸括弧”（）” ==*/
.marukakko::before {
	content: "(";
	font-family: monospace, serif;
	padding-right: 0.25em;
}

.marukakko::after {
	content: ")";
	font-family: monospace, serif;
	padding-left: 0.25em;
}

/*== かぎ括弧「」 ==*/
.kagikakko::before {
	content: "「";
	font-family: monospace, serif;
	padding-right: 0.25em;
}

.kagikakko::after {
	content: "」";
	font-family: monospace, serif;
	padding-left: 0.25em;
}

/*== 左右に二重鍵括弧『』 ==*/
.kagikakko2::before {
	content: "『";
	font-family: monospace, serif;
	padding-right: 0.25em;
}

.kagikakko2::after {
	content: "』";
	font-family: monospace, serif;
	padding-left: 0.25em;
}

/*== 左右に引用符（《》）を付加 ==*/
.aquomark::before {
	content: "«";
	font-family: monospace, serif;
	padding-right: 0.5em;
}

.aquomark::after {
	content: "»";
	font-family: monospace, serif;
	padding-left: 0.5em;
}

.aquomark2::before {
	content: "《";
	font-family: monospace, serif;
	padding-right: 0.5em;
}

.aquomark2::after {
	content: "》";
	font-family: monospace, serif;
	padding-left: 0.5em;
}

/*== <a>タグ整形（角丸四角で囲み） ==*/
a.buttonstyle1 {
	display: inline-block;
	padding: 0.75em 1.5em;
	border-width: thin;
	border-style: dashed;
	border-radius: 1.5em;
	font-weight: bold;
}

a.buttonstyle1:hover {
	border-style: solid;
	-webkit-filter: brightness(1.2);
	filter: brightness(1.2);
	background-color: rgba(128, 0, 128, 0.1);
}

/*== 色付き囲み（内容目立たせ用） ==*/
.colorframe_green,
.colorframe_blue,
.colorframe_red {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: auto;
	padding: 1em;
	text-align: center;
	line-height: 1.8;
	font-weight: bold;
	border-style: solid;
	border-width: thin;
}

.colorframe_red {
	border-color: #fa0000;
	background-color: rgba(250, 0, 0, 0.05);
}

.colorframe_blue {
	border-color: #0000fa;
	background-color: rgba(0, 0, 250, 0.05);
}

.colorframe_green {
	border-color: #00cc00;
	background-color: rgba(0, 204, 0, 0.05);
}

/*############################################################
	【新着情報】コーナー
############################################################*/
/*========================================
　【新着情報】イベント告知の整形
	2019.10.3 last update
========================================*/
/*-- イベントページ先頭の状況報告欄 --*/
.statusreport {
	display: block;
	margin-top: 0;
	margin-bottom: 2rem !important;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	border-top: 4px double darkgreen;
	border-bottom: 4px double darkgreen;
	color: darkgreen;
	background-color: #effff7;
	font-weight: bold;
	text-align: center !important;
	line-height: 1.8 !important;
}

/*-- 応募フォーム --*/
.link_to_applyform {
	padding-top: 1em;
	font-weight: bold;
}

.link_to_applyform div {
	margin: auto;
	text-align: center;
}

.link_to_applyform a img {
	padding: 2px 4px;
}

.link_to_applyform a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

.link_to_applyform--companion {
	color: blue;
	padding: 0.5em 1em;
	margin-top: 0.5em;
	font-weight: bold;
	border: 1px solid blue;
	border-radius: 1.5em;
}

/*-- 応募フォームの同伴注意 --*/
.link_to_applyform_douhan {
	display: block;
	color: blue;
	padding: 0.5rem 1rem;
	margin-top: 0.5rem;
	font-weight: bold;
	border: 1px solid blue;
	border-radius: 1.5rem;
}

/*-- メールアドレス注意文 --*/
.warning_mailaddress {
	margin: 1rem auto;
	padding: 0.5rem;
	border-top: 3px double crimson;
	border-bottom: 3px double crimson;
	background-color: #ffefef;
	font-weight: bold;
}

.warning_mailaddress--title {
	text-align: center;
	color: crimson;
	font-size: larger;
	padding: 0.5rem 0;
	margin-bottom: 1rem;
	border-bottom: thin solid crimson;
}

.warning_mailaddress--body {
	text-align: left;
	line-height: 1.6;
	margin: auto 0.5rem;
}

.warning_mailaddress--body>div {
	margin: 0.5rem auto;
}

/*== 横幅指定 ==*/
.max_100p {
	max-width: 100%;
}

.min_50p {
	min-width: 50%;
}

/*== 影付き表示 ==*/
.boxshadow {
	-webkit-box-shadow: 3px 3px 6px #666;
	box-shadow: 3px 3px 6px #666;
}

.dropshadow {
	-webkit-filter: drop-shadow(3px 3px 6px #666);
	filter: drop-shadow(3px 3px 6px #666);
}

/*== Table装飾 ==*/
.colortable--navy {
	border: medium solid #223a70;
	border-collapse: collapse;
}

.colortable--navy th,
.colortable--navy td {
	padding: 0.5em;
	border: thin solid #223a70;
}

.colortable--navy thead th {
	text-align: center;
	font-weight: bold;
	color: white;
	background-color: #223a70;
}

.colortable--navy tbody th {
	background-color: #d6d6ff;
	font-weight: bold;
}

.colortable--navy tbody td {
	text-align: center;
	vertical-align: middle;
}

/*========================================
　【新着情報】掲載記事用のタイムテーブル整形
	2018.2.27 add
========================================*/
/* グループ表題 */
.news_timetable_groupcap {
	margin: 1em auto;
	padding: 0 0 0.5em 0;
	font-size: x-large;
	font-weight: bold;
	border-bottom-width: 4px;
	border-bottom-style: double;
}

/* TABLE大枠（横幅はあえて未指定） */
table.news_timetable {
	margin: 0 auto;
	padding: 0;
	border-collapse: collapse;
	border: medium solid #44617b;
}

/* 時間帯表題（ティータイム・ディナータイム） */
.news_timetable thead {
	color: white;
	background-color: #44617b;
	font-size: large;
}

.news_timetable thead th,
.news_timetable thead td {
	padding: 1em;
}

/* データ部の基本設定（背景色はあえて未指定） */
.news_timetable tbody {
	font-size: medium;
	line-height: 1.5;
}

.news_timetable tbody th,
.news_timetable tbody td {
	border: thin solid #44617b;
	padding: 0.5em 1em;
	vertical-align: middle;
}

.news_timetable tbody th {
	width: 25%;
	text-align: center;
	font-weight: bold;
}

.news_timetable tbody td {
	width: 75%;
}

/*========================================
　【新着情報】飾り枠
	2022.9.27 add
========================================*/
/*== 枠飾りフレーム共通  ==*/
.imageframe--outsize {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

.imageframe--title {
	text-align: center;
	margin: auto auto 1.5rem;
	padding-bottom: 0.5rem;
	font-size: 2rem;
	font-weight: bold;
}

.imageframe--bordertitle {
	text-align: center;
	margin: auto auto 1.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid;
	font-size: 2rem;
	font-weight: bold;
}

/*== 枠１ ==*/
.imageframe1pink,
.imageframe1blue,
.imageframe1 {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: solid;
	border-width: 100px;
	border-image-slice: 100 fill;
	border-image-outset: 0;
	border-image-repeat: repeat;
}

.imageframe1 {
	border-image-source: url("../../../../images/topics/common/waku1_black.png");
}

.imageframe1blue {
	border-image-source: url("../../../../images/topics/common/waku1_blue.png");
}

.imageframe1pink {
	border-image-source: url("../../../../images/topics/common/waku1_pink.png");
}

.imageframe1_inner {
	margin: -60px -50px;
}

/*############################################################
	【メニュー】コーナー
############################################################*/
/*========================================
　【メニュー】料理名（英文）項目
	2019.9.27 add
========================================*/
/** 料理名 **/
.cookname {
	line-height: 1.4 !important;
	font-weight: bold !important;
}

/** 英語の料理名 **/
.cookname_en {
	font-style: italic;
}

.cookname_en::before {
	content: "(";
	margin: auto 0.25rem;
}

.cookname_en::after {
	content: ")";
	margin: auto 0.25rem;
}

/** 料理内容の説明欄 **/
.cookcontents {
	line-height: 1.6 !important;
	padding: 0.5rem 0 !important;
}

.cookcontents:hover {
	background-color: #ebebeb;
}

/** アレルギー注意文 **/
.allergie {
	font-size: 90% !important;
	color: forestgreen;
	line-height: 1.6 !important;
}

.allergie::before {
	content: "【アレルギー】";
	padding-right: 0.25em;
	font-weight: bold;
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
}

p.allergie {
	padding-top: 0.5rem;
}

/** アレルギー注意文：英語 **/
.allergie_en {
	font-style: italic;
}

.allergie_en::before {
	content: " [Allergie] ";
	padding-right: 0.25em;
	font-style: normal;
	font-weight: bold;
}

/*========================================
　【メニュー】Xmasメニュー欄の表示整形用
	（#dinnerをそのまま流用）
	2016.11.15 add
========================================*/
.tab--food #dinnerxmas .menu-info__head {
	width: calc(50% - 4px);
}

.tab--food #dinnerxmas .menu-info__head:nth-of-type(odd) {
	margin-right: 8px;
}

.tab--food #dinnerxmas .menu-info__head .name {
	margin-top: 1rem;
	margin-bottom: 0;
}

.tab--food #dinnerxmas .menu-info__head .price {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.tab--food #dinnerxmas .menu-info__body {
	width: 100%;
}

.tab--food #dinnerxmas .menu-info__body ul li:nth-of-type(3) {
	margin-top: 1rem;
}

.tab--food #dinnerxmas .menu-info__body ul li img {
	margin: 0;
}

/*========================================
	【メニュー】タブを増やす
	→ ".tab__list"を整形

	[2017.02.01] new add（5個のメニューページ）
	[2024.11.xx] 6タブ、ヴィーガンタブ対応
========================================*/
/** タブ5個パネル（CSSは".tab__list"と同位置に併記） **/
.tab5panel .tab__item {
	width: calc(20% - 16px);
	text-align: center;
}

.tab5panel .tab__label {
	display: block;
	line-height: 1.5;
	margin-top: 1em;
}

/** 横幅自動調整 **/
.tab--food #anniversary .menu-info__body,
.tab--food #anniversary2 .menu-info__body {
	width: 100%;
}

/** タブ6個パネル（CSSは".tab__list"と同位置に併記） **/
.tab6panel .tab__item {
	width: calc(16% - 16px);
	text-align: center;
}

.tab6panel .tab__label {
	display: block;
	line-height: 1.5;
	margin-top: 1em;
}

/*========================================
	【メニュー】ヴィーガン用ページの整形

	[2024.11.xx] new
========================================*/
/********
	表示切替タブ（クラスは"tab__list"内のliタブに設置）
********/
ul.tab__list>li.tab__item.tab__vegan {
	background-color: #005243;
}

ul.tab__list>li.tab__item.tab__vegan>p {
	color: #ba9b68;
	border-bottom: 4px solid #ba9b68;
}

ul.tab__list>li.tab__item.tab__vegan.is-active {
	background-color: #005243;
}

ul.tab__list>li.tab__item.tab__vegan.is-active>p {
	border-bottom-color: #005243;
}

/********
	詳細ページ（クラスは"tab__panel"に並列して設置）
********/
div.tab__panel.tab__vegan>.page__nav>.page__nav__body {
	background-color: #005243;
}

div.tab__panel.tab__vegan .section__head {
	background-color: #005243;
}

div.tab__panel.tab__vegan .section__neck .caption {
	border-color: #005243;
}

div.tab__panel.tab__vegan .subsection__title {
	background-color: #005243;
}

div.tab__panel.tab__vegan .menu-info__head {
	background-color: #005243;
}

div.tab__panel.tab__vegan .menu-info__body ul {
	border-color: #005243;
}

/*========================================
　【メニュー】“軽食”対応
	2017.02.03 add
========================================*/
/**  **/
/** パスタ画像並び **/
#light-meal-pasta .menu-info__hero {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
}

#light-meal-pasta .menu-info__hero img {
	height: auto;
	margin-bottom: 1rem;
	min-height: 100px;
	width: calc(50% - 0.5rem);
	min-width: 150px;
}

#light-meal-pasta .menu-info__hero::after {
	display: block;
	content: "";
	width: 600px;
}

.menu-page .section__neck .caption img {
	height: auto;
	margin-bottom: 1rem;
	width: 100%;
}

/*========================================
	メニューページ“サブカテゴリ”対応
	[2020.10.30 add]
========================================*/
.subsection {
	margin: 1rem auto auto;
	width: 100%;
	text-align: left;
}

.subsection__title {
	margin: auto 1rem;
	padding: 1.5rem;
	color: #e0e0e0;
	background-color: #30415d;
}

.subsection__title__main {
	font-weight: 100;
	font-size: 2rem;
	line-height: 1.2;
}

.subsection__title__sub {
	font-weight: 100;
	font-size: 1.5rem;
	line-height: 1.1;
}

.subsection__title__price {
	font-size: 1.2rem;
	font-weight: 300;
	margin-top: 1rem;
}

/*========================================
	メニューページ“料理の注意事項”整形
	[2021.01.28 add]
========================================*/
/** 共通 **/
.menu-notes-red,
.menu-notes-left,
.menu-notes {
	display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	margin-top: 1rem;
	text-align: left;
}

.menu-notes-red::before,
.menu-notes-left::before,
.menu-notes::before {
	display: block;
	margin-bottom: 1rem;
	font-weight: bold;
	font-family: monospace, serif;
	content: "■■ 注意事項 ■■";
}

.menu-notes-red>p,
.menu-notes-left>p,
.menu-notes>p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	line-height: 1.5 !important;
}

.menu-notes-red>p::before,
.menu-notes-left>p::before,
.menu-notes>p::before {
	content: "※";
	line-height: 1.5 !important;
	font-family: monospace, serif;
	margin: 0 5px 0 0;
}

/** 枠線なし（表題が中央） **/
.menu-notes::before {
	text-align: center;
}

/** 枠線なし（表題が左寄せ） **/
.menu-notes-left::before {
	text-align: left;
}

/** 赤の二重線で囲んだスタイル **/
.menu-notes-red {
	border: 4px double #fa0000;
	padding: 1em;
}

.menu-notes-red::before {
	color: #fa0000;
	text-align: center;
}

/**  **/
.menu-text {
	line-height: 1.5 !important;
}

.menu-text>p {
	line-height: inherit !important;
}

/*========================================
	メニューページ料理名の整形
	2021.5.25 add
========================================*/
.menu-info__head .name .english {
	line-height: 1.2;
}

.menu-info__head .name .japanese {
	line-height: 1.2;
	margin-top: 6px;
}

/*========================================
	メニューページ用サンプル写真
	[2022.08.30 add]
========================================*/
img.samplephoto {
	margin: auto;
	width: auto;
	height: auto;
	max-width: 100%;
	border: none;
	pointer-events: none;
	-webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
}

img.samplephoto_noshadow {
	margin: auto;
	width: auto;
	height: auto;
	max-width: 100%;
	border: none;
	pointer-events: none;
}

/*========================================
	メニューページ主タグ拡張（style直書きから分離）
	[2023.07.12 add]
========================================*/
.tab__label_ex {
	line-height: 1.4 !important;
	min-height: 80px;
	margin-top: 1rem;
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
}

.tab__label_ex>span {
	font-size: 1rem;
}

/*========================================
	メニューページタイトル日付欄（style直書きから分離）
	[2024.07.23 add]
========================================*/
.page__head__title--period {
	display: block;
	font-size: 0.5em;
	margin: 0.5em auto;
}

/*========================================
	メニュー料理名（左側部分）のGrid対応
	[2024.9.30 add]
========================================*/
@supports (display: grid) {
	.menu-info__head {
		display: -ms-grid !important;
		display: grid !important;
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		row-gap: 1rem;
	}

	/* 基本2段（.day＋.name） */
	.menu-info__head:has(> :nth-child(2):last-child) {
		-ms-grid-rows: -webkit-min-content 1fr;
		-ms-grid-rows: min-content 1fr;
		grid-template-rows: -webkit-min-content 1fr;
		grid-template-rows: min-content 1fr;
	}

	/* 基本3段（.day＋.name＋α） */
	.menu-info__head:has(> :nth-child(3):last-child) {
		-ms-grid-rows: -webkit-min-content 1fr -webkit-min-content;
		-ms-grid-rows: min-content 1fr min-content;
		grid-template-rows: -webkit-min-content 1fr -webkit-min-content;
		grid-template-rows: min-content 1fr min-content;
	}

	/* 基本4段（.day＋.name＋.butler-name＋.price） */
	.menu-info__head:has(> :nth-child(4):last-child) {
		-ms-grid-rows: -webkit-min-content 1fr -webkit-min-content -webkit-min-content;
		-ms-grid-rows: min-content 1fr min-content min-content;
		grid-template-rows: -webkit-min-content 1fr -webkit-min-content -webkit-min-content;
		grid-template-rows: min-content 1fr min-content min-content;
	}

	.menu-info__head:has(> :nth-child(4):last-child) .butler-name {
		margin-bottom: auto !important;
	}

	/* 基本5段（.day＋.name＋.carte＋.butler-name＋.price） */
	.menu-info__head:has(> :nth-child(5):last-child) {
		-ms-grid-rows: -webkit-min-content 1fr 1fr -webkit-min-content -webkit-min-content;
		-ms-grid-rows: min-content 1fr 1fr min-content min-content;
		grid-template-rows: -webkit-min-content 1fr 1fr -webkit-min-content -webkit-min-content;
		grid-template-rows: min-content 1fr 1fr min-content min-content;
	}

	.menu-info__head:has(> :nth-child(5):last-child) .butler-name {
		margin-bottom: auto !important;
	}

	/*品目付き4段（.day＋.name＋.carte＋α）*/
	.menu-info__head:has(.carte):has(> :nth-child(4):last-child) {
		-ms-grid-rows: -webkit-min-content 1fr 1fr -webkit-min-content;
		-ms-grid-rows: min-content 1fr 1fr min-content;
		grid-template-rows: -webkit-min-content 1fr 1fr -webkit-min-content;
		grid-template-rows: min-content 1fr 1fr min-content;
	}

	/*日付無し2段（.name＋α）*/
	.menu-info__head:not(:has(.day)):has(> :nth-child(2):last-child) {
		-ms-grid-rows: 1fr -webkit-min-content;
		-ms-grid-rows: 1fr min-content;
		grid-template-rows: 1fr -webkit-min-content;
		grid-template-rows: 1fr min-content;
	}

	/*日付無し・品目あり3段（.name＋.carte＋α）*/
	.menu-info__head:not(:has(.day)):has(.carte):has(> :nth-child(3):last-child) {
		-ms-grid-rows: 1fr 1fr -webkit-min-content;
		-ms-grid-rows: 1fr 1fr min-content;
		grid-template-rows: 1fr 1fr -webkit-min-content;
		grid-template-rows: 1fr 1fr min-content;
	}

	/*日付・品目無し3段（.name＋.butler-name＋.price） */
	.menu-info__head:not(:has(.day)):has(> :nth-child(3):last-child) {
		-ms-grid-rows: 1fr -webkit-min-content -webkit-min-content;
		-ms-grid-rows: 1fr min-content min-content;
		grid-template-rows: 1fr -webkit-min-content -webkit-min-content;
		grid-template-rows: 1fr min-content min-content;
	}

	/*縦位置*/
	.menu-info__head .day {
		-ms-flex-item-align: start;
		-ms-grid-row-align: start;
		align-self: start;
	}

	.menu-info__head .name {
		margin: 2rem 0 !important;
	}

	.menu-info__head .butler-name {
		-ms-flex-item-align: end;
		-ms-grid-row-align: end;
		align-self: end;
	}

	.menu-info__head .price {
		-ms-flex-item-align: end;
		-ms-grid-row-align: end;
		align-self: end;
		margin-top: 1.5rem !important;
	}

	.menu-info__head>p:last-child {
		margin-bottom: 0 !important;
	}

	.menu-info__body:has(.menu-notes) .menu-notes {
		-ms-flex-item-align: end;
		-ms-grid-row-align: end;
		align-self: end;
	}
}

/*========================================
	メニュー料理名をリスト風表示
	[2024.10.08 add]
========================================*/
.menulist-group>.menulist-one {
	line-height: 1.5 !important;
	padding-left: 0.5em !important;
	border-left: medium solid var(--subcolor);
}

.menulist-group>.menulist-one:not(:last-of-type) {
	margin-bottom: 1em !important;
}

/*############################################################
	【派遣執事】コーナー
############################################################*/
/*========================================
	「派遣執事」ページデザイン用
	2019.8.14 add
========================================*/
/*--エラー警告--*/
#dispatch-error-title,
#dispatch-error-detail {
	color: #fa0000;
	background-color: rgba(255, 128, 128, 0.1);
	border: 3px double #fa0000;
}

#dispatch-error-title {
	margin-top: 1em;
	padding: 0.5em;
	text-align: center;
	line-height: 1.5;
}

#dispatch-error-detail {
	margin-bottom: 2em;
	padding: 1em;
}

#dispatch-error-detail p {
	line-height: 1.5;
	text-align: center;
}

#dispatch-error-detail ul {
	margin: 0.5em 1em auto;
	line-height: 1.5;
}

#dispatch-error-detail li {
	padding: 0.5em;
}

/*--メールフォーム--*/
#dispatch-mailform {
	margin: auto;
}

/*--入力欄グループデザイン--*/
#dispatch-mailform fieldset {
	margin: 1em auto;
	border: none;
	padding: 0 1em;
}

#dispatch-mailform legend {
	font-weight: bold;
	padding: 0.5em;
	background-color: rgba(0, 0, 255, 0.2);
	width: 100%;
}

/*--入力欄（項目ごと）デザイン--*/
.dispatch-mailform-group {
	max-width: 90%;
	margin: 1em;
}

.dispatch-form-button {
	margin: 1em auto;
	text-align: center;
}

.buttonstyle {
	border: thin solid gray;
	padding: 0.5em 1em;
	margin: 0.5em;
}

#dispatch-mailform label {
	display: block;
	font-weight: bold;
	padding-bottom: 5px;
}

#dispatch-mailform input,
#dispatch-mailform textarea {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thin solid gray;
	padding: 5px;
}

#dispatch-mailform input:focus,
#dispatch-mailform textarea:focus {
	border-color: crimson;
	background-color: #fffeee;
}

/*--入力欄の幅（画面可変対応）--*/
#dispatch-mailform .w100pr {
	width: 100%;
}

#dispatch-mailform .w15em {
	width: 100%;
	max-width: 15rem;
}

/*--最終確認ページ--*/
#dispatch-checkform {
	margin: auto;
	max-width: 90%;
}

.dispatch-checkform-inner {
	display: block;
	margin: 1rem auto;
}

.dispatch-checkform-title {
	font-weight: bold;
	font-size: larger;
	margin-bottom: 0.5rem;
	color: #fa0000;
}

#dispatch-checkform dl {
	border: thin solid dimgray;
	padding: 1rem;
}

#dispatch-checkform dt {
	font-weight: bold;
	margin-top: 0.5rem;
	margin-bottom: 0.25rem;
}

#dispatch-checkform dd {
	margin-bottom: 1rem;
	padding: 1rem;
	line-height: 1.5;
	border: thin dotted gray;
	border-radius: 1rem;
}

/*############################################################
	【お屋敷予定表】コーナー（Googleカレンダー）
	http://www.butlers-cafe.jp/company/calender.php
############################################################*/
/*========================================
	「Googleカレンダー」ページデザイン用
	2019.9.5 add
========================================*/
/*--Googleカレンダー埋め込み--*/
/*--Googleドキュメント埋め込み--*/
#google_calendar,
#google_document {
	position: relative;
	width: 100%;
	padding-top: 75%;
}

#google_calendar iframe,
#google_document iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*--Infoリスト--*/
.calender_information_title {
	width: 100%;
	margin: 0 auto 1em;
	padding: 1em;
	font-size: x-large;
	background-color: lightgray;
}

dl.calender_information_list {
	width: 100%;
	max-width: 90%;
	margin: 1em auto;
	text-align: left;
}

dl.calender_information_list dt {
	font-weight: bold;
	color: dimgray;
}

dl.calender_information_list dd {
	padding: 0.5em 1em 1em;
	line-height: 1.5;
}

/*############################################################
	【ご来館予約】コーナー関連
	http://www.butlers-cafe.jp/swallowtail/reserve.html
############################################################*/
/*========================================
	予約案内ページタイムテーブルの３列対応
	2019.9.26 add
========================================*/
#area_timetable_teatime,
#area_timetable_dinner {
	display: block;
	margin: auto;
	padding: 0 0.5rem 1rem;
}

#area_timetable_update {
	display: block;
	text-align: right;
	margin: auto;
	font-weight: 500;
}

table.time-table-3col {
	margin: 8px;
	width: calc(100% - 16px);
	table-layout: fixed;
	-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
	border-collapse: collapse;
	border-radius: 2px;
	text-align: center;
	font-weight: 400;
}

table.time-table-3col caption {
	caption-side: top;
	text-align: left;
	padding: 16px 1rem;
	font-weight: 300;
	font-size: 1.8rem;
	color: #f5f5f5;
	background-color: #5a6d81;
	border: 2px solid #5a6d81;
}

table.time-table-3col caption span {
	font-size: 1.4rem;
}

table.time-table-3col thead {
	background-color: #5a6d81;
	border: 2px solid #5a6d81;
	color: #f5f5f5;
}

table.time-table-3col thead th {
	font-size: 1.1rem;
	padding: 1rem;
}

table.time-table-3col thead th:nth-child(1) {
	width: 20%;
}

table.time-table-3col thead th:nth-child(2),
table.time-table-3col thead th:nth-child(3) {
	width: 40%;
}

table.time-table-3col tbody {
	line-height: 1.6;
	color: #30415d;
}

table.time-table-3col tbody th,
table.time-table-3col tbody td {
	font-size: 1.1rem;
	border: 2px solid #5a6d81;
}

table.time-table-3col tbody td {
	text-align: center !important;
}

table.time-table-3col tbody td:nth-child(3) {
	background-color: #feeeee;
}

/** タイムテーブル更新の新着案内用 **/
table.update-time-table {
	margin: auto;
	width: 100%;
	table-layout: fixed;
	-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
	border-collapse: collapse;
	border-radius: 2px;
	text-align: center;
	font-weight: 400;
}

table.update-time-table caption {
	caption-side: top;
	text-align: left;
	padding: 16px 1rem;
	font-weight: 300;
	font-size: 1.8rem;
	color: #f5f5f5;
	background-color: #5a6d81;
	border: 2px solid #5a6d81;
}

table.update-time-table caption span {
	font-size: 1.4rem;
}

table.update-time-table thead {
	background-color: #5a6d81;
	border: 2px solid #5a6d81;
	color: #f5f5f5;
}

table.update-time-table thead th {
	font-size: 1.1rem;
	padding: 1rem;
}

table.update-time-table thead th:nth-child(1) {
	width: 20%;
}

table.update-time-table thead th:nth-child(2),
table.update-time-table thead th:nth-child(3) {
	width: 40%;
}

table.update-time-table tbody {
	line-height: 1.6;
	color: #30415d;
}

table.update-time-table tbody th,
table.update-time-table tbody td {
	font-size: 1.1rem;
	border: 2px solid #5a6d81;
}

table.update-time-table tbody td {
	text-align: center !important;
}

table.update-time-table tbody tr.change {
	background-color: #feeeee;
}

table.update-time-table tbody tr.change :nth-child(3) {
	color: crimson;
	font-weight: bold;
}

table.update-time-table tbody td {
	padding: 0.5rem 0;
}

table.update-time-table .cellchange {
	background-color: #dedeff;
	color: crimson;
	font-weight: bold;
}

/*========================================
	予約フォーム前のクッションページ
	2021.10.19 add
========================================*/
/* 言語変更の案内リンク */
#reserve-confirmation__lang {
	display: block;
	width: 100%;
	margin: auto auto 1rem;
	padding: 1rem;
	text-align: center;
	border: 4px double #fa0000;
	background-color: rgba(250, 0, 0, 0.1);
}

#reserve-confirmation__lang>a {
	font-weight: bold;
	padding-left: 0.25rem;
	padding-right: 0.25rem;
}

/* 説明文 */
#reserve-confirmation__list {
	width: 100%;
	margin: 2rem auto 1rem;
	padding: 0 1rem;
	text-align: left;
}

#reserve-confirmation__list>p {
	line-height: 1.5;
}

#reserve-confirmation__detail {
	width: 100%;
	margin: 1.5rem auto;
	line-height: 1.5;
	counter-reset: number 0;
}

#reserve-confirmation__detail>div {
	padding: 1.5rem 1rem 1.5rem 2rem;
	text-indent: -1rem;
}

#reserve-confirmation__detail>div:before {
	counter-increment: number 1;
	content: counter(number) ".";
	font-weight: bold;
	white-space: nowrap;
}

#reserve-confirmation__detail>div:first-child {
	margin: auto;
	border-top: 1px dashed #666;
	border-bottom: 1px dashed #666;
}

#reserve-confirmation__detail>div+div {
	margin: auto;
	border-bottom: 1px dashed #666;
}

#reserve-confirmation__detail>div div,
#reserve-confirmation__detail>div p {
	text-indent: 0;
}

/* 同意チェック＆フォームリンク */
#reserve-confirmation__link {
	display: block;
	margin: 1rem auto auto;
	padding: 1rem;
	text-align: center;
}

#reserve-confirmation__link input[type=checkbox] {
	cursor: pointer;
}

#reserve-confirmation__link label {
	font-weight: bold;
	padding-left: 5px;
}

#reserve-confirmation__link label:hover {
	text-decoration: underline;
	cursor: pointer;
}

#reserve-confirmation__link button {
	margin: 0.75rem auto auto;
	padding: 0.75rem 2.5rem;
	font-weight: bold;
	border: medium solid dimgray;
	border-radius: 1rem;
}

#reserve-confirmation__link button:enabled {
	cursor: pointer;
}

#reserve-confirmation__link button:enabled:hover {
	background-color: ivory;
	border-color: darkorange;
	color: darkorange;
}

#reserve-confirmation__link button:disabled {
	cursor: not-allowed;
	color: lightgray;
	border-color: lightgray;
}

/*############################################################
	【使用人名簿】コーナー
	http://www.butlers-cafe.jp/swallowtail/butler.html
############################################################*/
/*========================================
	執事名簿変更（資格アイコン追加など）
	2021.01.xx add
========================================*/
/*----------------------------------------
　既存部分改修
----------------------------------------*/
.butler-info {
	margin-top: 30px;
}

.butler-info__title,
.butler-info__work,
.butler-info__hobby,
.butler-info__favorite,
.butler-info__message {
	line-height: 1.2;
	padding-top: 5px;
}

.butler-info__kana {
	display: block;
	font-size: 0.5em;
}

.butler-info__kana::before {
	content: "（ ";
}

.butler-info__kana::after {
	content: " ）";
}

/*----------------------------------------
　個人情報（資格アイコンを横並び表示）
----------------------------------------*/
/** 資格アイコン配置エリア **/
.butler-info__qualification {
	display: block;
	/*
		&::before {
			display: block;
			padding-bottom:.5rem;
			content: 'QUALIFICATION';
			color: #8eaebd;
			font-size: .9rem;
			font-weight: 700;
		}
	*/
}

/** 資格アイコン横並び整形 **/
.qualification_iconlist {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
}

/** 資格アイコン **/
.qualification_icon {
	display: block;
}

.qualification_icon img {
	width: auto;
	max-width: 100%;
	border: none;
}

@media (max-width: 600px) {
	.qualification_icon {
		margin: 2px;
		width: auto;
		height: auto;
		max-width: 30px;
		max-height: 30px;
	}

	.qualification_icon img {
		-webkit-filter: drop-shadow(1px 1px 1px dimgray);
		filter: drop-shadow(1px 1px 1px dimgray);
	}
}

@media (min-width: 601px) {
	.qualification_icon {
		margin: 6px;
		width: 75px;
		height: 75px;
	}

	.qualification_icon img {
		-webkit-filter: drop-shadow(3px 3px 3px dimgray);
		filter: drop-shadow(3px 3px 3px dimgray);
	}
}

/*----------------------------------------
　資格の説明欄
----------------------------------------*/
/** 説明欄フレーム **/
.qualification_detail {
	width: auto;
	margin: auto 0.5rem;
	background-color: white;
	text-align: left;
	line-height: 1.6;
	border: 4px double royalblue;
}

.qualification_detail_header {
	color: royalblue;
	margin-top: 1rem;
	text-align: center;
	font-size: 2em;
	font-weight: bold;
}

.qualification_group {
	padding: 0 1rem;
}

/** 資格団体名、公式サイトリンク **/
.qualification_organization {
	display: block;
	font-weight: bold;
	margin-bottom: 0.5rem;
	padding: 60px 0.5rem 5px;
	border-bottom: 4px double royalblue;
	color: royalblue;
}

.qualification_organization>a {
	text-decoration: none;
	white-space: nowrap;
}

.qualification_organization>a:hover {
	text-decoration: underline;
}

.qualification_organization>a::before {
	margin-left: 0.5rem;
	content: "（⇒";
}

.qualification_organization>a::after {
	content: "）";
}

/** 資格説明テーブル（団体ごと） **/
.qualification_table {
	margin: 1rem 0;
	border-collapse: separate;
	border-spacing: 1rem;
}

.qualification_table td {
	vertical-align: top;
}

/** 資格名 **/
.qualification_title {
	line-height: 1.6;
	font-weight: bold;
	color: maroon;
}

/** 資格の説明 **/
.qualification_explanation {
	line-height: 1.6;
	margin: 0.5rem auto 0.5rem;
}

/** 資格取得者の名前一覧 **/
.qualification_memberlist {
	line-height: 1.6;
	margin-top: 0.5rem;
}

.qualification_memberlist::before {
	display: block;
	font-weight: bold;
	content: "【資格保有使用人】";
	padding-bottom: 5px;
}

.qualification_memberlist_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
}

.qualification_memberlist_inner>a {
	display: block;
	white-space: nowrap;
	text-decoration: none;
	border-width: 1px;
	border-style: solid;
	border-radius: 0.5rem;
	margin: 5px;
	padding: 3px 9px;
	font-weight: bold;
}

.qualification_memberlist_inner>a:hover {
	background-color: lavenderblush;
}

/*############################################################
	【ご来館の手引き】コーナー（英語対応）
	http://www.butlers-cafe.jp/swallowtail/guidance.html ほか

	2023.05.xx 	new
############################################################*/
/*----------------------------------------
　言語切替リンク
----------------------------------------*/
.langchangelink {
	background-color: inherit;
	margin-top: -3em;
	margin-bottom: 3em;
}

.langchangelink_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.langchangelink_items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0.25em;
	padding: 0.5em 1em;
	border-width: thin;
	border-style: solid;
	line-height: 1.2;
	color: inherit;
}

.langchangelink_items:hover {
	background-color: ivory;
}

/*############################################################
	【休館日のご案内】コーナー
	https://www.butlers-cafe.jp/swallowtail/close.html
############################################################*/
/*----------------------------------------
　ページ内リンク用マーカー設定
　→ 位置を上にずらして「xxxx年xx月の休館日」に合うようにする
----------------------------------------*/
.jumpmarker {
	block-size: 3rem;
	-webkit-margin-before: -3rem;
	margin-block-start: -3rem;
}

@supports not (block-size: 3rem) {
	.jumpmarker {
		height: 3rem;
		margin-top: -3rem;
	}
}

_:-ms-lang(x)::-ms-backdrop,
.jumpmarker {
	height: 3rem;
	margin-top: -3rem;
}

/*----------------------------------------
　エリア設定（右側にカレンダー追加）
----------------------------------------*/
.closed_monthly_wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.closed_monthly_left {
	-webkit-margin-after: 1rem;
	margin-block-end: 1rem;
}

@supports not (margin-block-end: 1rem) {
	.closed_monthly_left {
		margin-bottom: 1rem;
	}
}

.closed_monthly_right {
	margin-inline: 1rem;
	margin-block: 0 auto;
}

@supports not (margin-inline: 1rem) {
	.closed_monthly_right {
		margin: 0 1rem auto;
	}
}

/*== ie11対応 ==*/
_:-ms-lang(x)::-ms-backdrop,
.closed_monthly_left {
	margin-bottom: 1rem;
}

_:-ms-lang(x)::-ms-backdrop,
.closed_monthly_right {
	margin: 0 1rem auto;
}

/*----------------------------------------
　年別に折りたたみグループ化（過去用）
----------------------------------------*/
/*== 通常時 ==*/
.history_year summary {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: larger;
}

.history_year summary:hover {
	cursor: pointer;
}

.history_year>div {
	margin: 1rem auto;
}

/*== 開封時 ==*/
/***********************************************************
	Gridレイアウトを使用したカレンダー
	→ 日付は<p>タグ
***********************************************************/
/*== 本体設定 ==*/
.grid-calender {
	margin: auto;
	padding: 0;
	border: medium double dimgray;
}

.grid-calender__header {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr;
	grid-template-columns: repeat(7, 1fr);
	gap: 1px;
	-webkit-border-after: medium double dimgray;
	border-block-end: medium double dimgray;
}

.grid-calender__header>p {
	margin: 0;
	padding: 0.75em 0.5em;
	text-align: center;
	vertical-align: middle;
	line-height: 1.4;
	font-weight: bold;
}

.grid-calender__header>p:first-of-type {
	background-color: #ffdbdb;
}

.grid-calender__header>p:last-of-type {
	background-color: #dbedff;
}

.grid-calender__day {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr;
	grid-template-columns: repeat(7, 1fr);
	gap: 1px;
}

.grid-calender__day>p {
	margin: 0;
	padding: 0.75em 0.5em;
	text-align: center;
	vertical-align: middle;
	line-height: 1.4;
}

/*== 祝日・休館日の強調 ==*/
.grid-calender .holiday {
	background-color: #ffdbdb !important;
}

.grid-calender .dayoff {
	background-color: lightgray !important;
}

/*== 月初日の曜日設定と土日色分け ==*/
.grid-calender .start_sun>p:first-of-type {
	-ms-grid-column: 1;
	grid-column: 1;
}

.grid-calender .start_sun>p:nth-of-type(7n-7) {
	background-color: #dbedff;
}

.grid-calender .start_sun>p:nth-of-type(7n-6) {
	background-color: #ffdbdb;
}

.grid-calender .start_mon>p:first-of-type {
	-ms-grid-column: 2;
	grid-column: 2;
}

.grid-calender .start_mon>p:nth-of-type(7n-1) {
	background-color: #dbedff;
}

.grid-calender .start_mon>p:nth-of-type(7n-0) {
	background-color: #ffdbdb;
}

.grid-calender .start_tue>p:first-of-type {
	-ms-grid-column: 3;
	grid-column: 3;
}

.grid-calender .start_tue>p:nth-of-type(7n-2) {
	background-color: #dbedff;
}

.grid-calender .start_tue>p:nth-of-type(7n-1) {
	background-color: #ffdbdb;
}

.grid-calender .start_wed>p:first-of-type {
	-ms-grid-column: 4;
	grid-column: 4;
}

.grid-calender .start_wed>p:nth-of-type(7n-3) {
	background-color: #dbedff;
}

.grid-calender .start_wed>p:nth-of-type(7n-2) {
	background-color: #ffdbdb;
}

.grid-calender .start_thu>p:first-of-type {
	-ms-grid-column: 5;
	grid-column: 5;
}

.grid-calender .start_thu>p:nth-of-type(7n-4) {
	background-color: #dbedff;
}

.grid-calender .start_thu>p:nth-of-type(7n-3) {
	background-color: #ffdbdb;
}

.grid-calender .start_fri>p:first-of-type {
	-ms-grid-column: 6;
	grid-column: 6;
}

.grid-calender .start_fri>p:nth-of-type(7n-5) {
	background-color: #dbedff;
}

.grid-calender .start_fri>p:nth-of-type(7n-4) {
	background-color: #ffdbdb;
}

.grid-calender .start_sat>p:first-of-type {
	-ms-grid-column: 7;
	grid-column: 7;
}

.grid-calender .start_sat>p:nth-of-type(7n-6) {
	background-color: #dbedff;
}

.grid-calender .start_sat>p:nth-of-type(7n-5) {
	background-color: #ffdbdb;
}

/*== 背景色替え項目の説明欄（カレンダー下部へ追記） ==*/
.grid-calender__explanation {
	-webkit-margin-before: 0.5rem;
	margin-block-start: 0.5rem;
	text-align: end;
	line-height: 1.4;
}

.grid-calender__explanation .color-sat {
	color: #a8d4ff;
}

.grid-calender__explanation .color-sun {
	color: #ffa8a8;
}

.grid-calender__explanation .color-off {
	color: #bababa;
}

.grid-calender__explanation>.holiday::before,
.grid-calender__explanation>.dayoff::before {
	content: "■";
	font-family: monospace, serif;
	vertical-align: bottom;
	-webkit-margin-end: 0.1em;
	margin-inline-end: 0.1em;
}

.grid-calender__explanation>.holiday::before {
	color: #ffa8a8;
}

.grid-calender__explanation>.dayoff::before {
	color: #bababa;
}

/*==
	Gridカレンダーie11対応
	→ （31日×7曜日）分を記述する必要があり、cssが長くなるので割愛
	　 必要な時に復活させる
==*/
_:-ms-lang(x)::-ms-backdrop,
.grid-calender__explanation {
	margin-top: 0.5rem;
	text-align: right;
}

_:-ms-lang(x)::-ms-backdrop,
.grid-calender__explanation>.holiday::before {
	margin-right: 0.1em;
}

_:-ms-lang(x)::-ms-backdrop,
.grid-calender__explanation>.dayoff::before {
	margin-right: 0.1em;
}

/*############################################################
############################################################*/