@charset "UTF-8";

/*変数*/
:root {
	--tfg-gothic: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--tfg-mincho: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	--spinnaker: 'Spinnaker', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	/* 色変数 */
	--color-light-beige: #f7f5f1;
}

/*others*/
body {
	padding-top: 100px;
}

#header {
	position: fixed;
	top: 0;
}

@media screen and (max-width:559px) {
	body {
		padding-top: 60px;
	}
}

.gothic {
	line-height: 2;
	letter-spacing: .1em;
	font-family: var(--tfg-gothic);
	background: rgba(255, 255, 255, 75%);
}

.fs17 {
	margin-top: 10px;
	font-size: 17px;
}

ul.star {
	margin-bottom: 1.5em;
}

ul.star li {
	list-style-type: none !important;
	margin-left: 1.5em;
}

ul.star li:before {
	content: "※ ";
	margin-left: -1.5em;
}

body.english ul.star li:before {
	content: "* ";
	margin-left: -1.5em;
}

@media screen and (max-width:559px) {
	.gothic br {
		display: none;
	}
}

.matt {
	padding: 30px 0;
	/*margin-bottom: 30px;*/
	background: var(--color-light-beige);
}

.matt.white {
	background: white;
}

.matt article {
	margin: 0 auto !important;
	background: transparent !important;
}

#menu .matt article {
	background: #fff !important;
	margin-bottom: 40px !important;
}

.matt2 {
	padding: 30px 0;
	/*margin-bottom: 30px;*/
	background: #e3dfd7;
}

.matt2 article {
	margin: 0 auto !important;
	padding: 0 !important;
	background: transparent !important;
}

.matt2 article ul li {
	list-style-type: square;
	margin-left: 2em;
}

@media screen and (max-width:559px) {
	.matt {
		padding: 30px 5%;
	}

	.fs17 {
		padding: 0 20px;
		font-size: 15px;
	}
}

/*googleMaps*/
.ggmap {
	position: relative;
	padding-bottom: 65.5%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin: 10px 0 0 0;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*keyVisual*/
#keyVisual {
	display: table;
	width: 100%;
	height: 580px;
	overflow: hidden;
}

#keyVisual h1 {
	display: table-cell;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	font-size: 36px;
	font-family: "romana-bt";
	text-shadow: 3px 3px 5px #000;
}

@media screen and (max-width:559px) {
	#keyVisual {
		height:
			/*480*/
			320px;
		margin-bottom: 10px;
	}

	#keyVisual.round {
		height: 300px;
	}

	#keyVisual h1 {
		font-size: 30px;
	}
}

#keyVisual.round {
	position: relative;
}

#keyVisual.round:before,
#keyVisual.round:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 22%;
	height: 1px;
	background: #999;
}

#keyVisual.round:before {
	left: 0;
}

#keyVisual.round:after {
	right: 0;
}

/*headerInfo*/
#headerInfo {
	position: fixed;
	z-index: 2;
	margin: 0 0 1em;
	width: 100%;
	background: #c30d23;
	text-align: center;
}

#headerInfo p {
	margin: 0;
	padding: 0.5em 0;
	color: #fff;
	font-size: 1em;
	font-weight: bold;
}

@media screen and (max-width: 559px) {
	#headerInfo p {
		font-size: 0.85em;
	}
}


/*breadcrumb*/
#breadcrumb {
	font-size: 12px;
	text-align: left;
	margin: 10px auto;
	font-family: var(--tfg-gothic);
}

#breadcrumb ul {
	margin: 0 auto;
}

#breadcrumb ul li {
	display: inline-block;
}

#breadcrumb ul li:after {
	content: " > ";
}

#breadcrumb ul li:last-of-type:after {
	content: "";
}

@media screen and (max-width:559px) {
	#breadcrumb {
		display: none;
	}
}

#main .section {
	margin-bottom: 0;
}

#main .section>h1 {
	max-width: 900px;
	position: relative;
	display: block;
	height: 3em;
	text-align: center;
	margin: 0 auto;
}

#main .section>h1:before {
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: #999;
}

#main .section>h1 span {
	margin: 0 auto;
	padding: 0 1em;
	position: relative;
	display: block;
	width: fit-content;
	background: #fff;
	font-size: 21px;
	line-height: 1.25em;
	z-index: 1;
}

#main .section>h1 em {
	display: block;
	font-size: 16px !important;
	line-height: 1.8;
	text-align: center;
	font-weight: normal;
}

@media screen and (max-width:559px) {
	#main .section>h1 {
		margin: 2em 0 0;
	}

	#main .section>h1 em {
		font-size: 14px;
		line-height: 1.8;
	}
}

body.english #main .section>h1 em {
	display: none;
}


#main article {
	margin: 30px auto;
}

#main article>h1 {
	position: relative;
	display: block;
	font-size: 20px;
	max-width: 800px;
	height: 2em;
	text-align: center;
	margin: 0 auto 30px;
}

#main article>h1:before {
	content: '';
	position: absolute;
	top: 1em;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 0.5px;
	background: #999;
}

#main article>h1 span {
	position: absolute;
	width: 12em;
	left: 50%;
	right: 50%;
	margin-left: -5em;
	background: white;
}

#main article>h2 {
	font-size: 20px;
	margin-bottom: 10px;
}

#main article>h2 span {
	display: inline-block;
}

#main .articleBody {
	width: 90%;
	max-width: 850px;
	margin: 0 auto;
}

#main .articleBody img {
	display: block;
	max-width: 100%;
	margin: 10px auto;
	height: auto;
}

@media screen and (max-width:559px) {
	#main article>h1 {
		font-size: 20px;
		margin-bottom: 30px;
	}

	#main article>h1 span {
		width: 12em;
		margin-left: -6em;
	}
}

/*imageNav2*/
#imageNav {
	width: 100%;
	max-width: 734px;
	margin: 0 auto;
}

#imageNav ul {
	display: flex;
	flex-wrap: wrap;
	font-size: 18px;
	margin: 0 auto;
	text-align: center;
}

#imageNav ul li {
	display: inline-block;
	width: 50%;
	margin-bottom: 50px;
}

#imageNav ul li a {
	display: block;
	font-family: var(--spinnaker)
}

#imageNav ul li a img {
	display: block;
	width: 100%;
	max-width: 250px !important;
	margin: 0 auto 10px;
}

@media screen and (max-width:559px) {
	#imageNav ul {
		font-size: 18px;
	}

	#imageNav ul li {
		float: none;
		display: block;
	}
}

/*imageNav3*/
#imageNav3 {
	width: 100%;
	max-width: 900px;
}

#imageNav3 ul {
	font-size: 18px;
	margin: 0 auto;
	text-align: center;
}

#imageNav3 ul li {
	display: inline-block;
	width: 32%;
	margin-bottom: 50px;
	font-size: 16px;
	line-height: 160%;
}

#imageNav3 ul li a {
	font-family: var(--spinnaker)
}

#imageNav3 ul li a img {
	display: block;
	width: 100%;
	max-width: 250px !important;
	margin: 0 auto 10px;
}

@media screen and (max-width:559px) {
	#imageNav3 ul {
		font-size: 15px;
	}

	#imageNav3 ul li {
		float: none;
		display: block;
		width: 100%;
		margin-bottom: 50px;
	}
}

/*imageNav下のarticle*/
#list .article {
	text-align: left;
}

#list .article h1 {
	/*font-size: 38px;*/
	font-size: 30px;
	margin: 0 auto;
}

#list .article h1 span {
	width: 8em;
	margin-left: -4em;
}

#list .article h2 {
	text-align: center;
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 30px;
}

#list .article h2 span {
	display: block;
	font-size: 17px;
}

#list .article .outline {
	margin-bottom: 30px;
	font-family: var(--tfg-gothic);
}

#list .article .outline dl dt {
	clear: both;
	float: left;
	width: 9em;
}
@media screen and (max-width:559px) {
	#list .article .outline dl dt {
		float:none;
		width: 100%;
		text-align: center;
	}
	#list .article .outline dl dd {
		margin: 0 auto 2em;
		padding: 0;
		text-align: center;
	}
}


#list .article .layout {
	font-family: var(--tfg-gothic);
}

#list .article .layout h3 {
	position: relative;
	display: block;
	height: 1em;
	font-size: 17px;
	line-height: 1;
	margin-bottom: 30px;
	text-align: center;
}

#list .article .layout h3:before {
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: #604c3f;
}

#list .article .layout h3 span {
	position: absolute;
	width: 10em;
	left: 50%;
	right: 50%;
	margin-left: -5em;
	background: #fff;
	font-size: 17px;
	line-height: 1;
}

#list .article .layout ul li {
	float: left;
	width: 40%;
	margin: 0 0 30px 20%;
	text-align: center;
}

#list .article .layout ul li:nth-of-type(2n+1) {
	margin: 0 0 30px;
}

#list .article .layout ul li img {
	display: block;
	width: 100%;
	margin: 10px auto 0;
}

/*category-head-calendar レストランページ等の空き状況*/
#category-head-calendar {
	margin: 1em auto;
}

#category-head-calendar summary {
	display: block;
	cursor: pointer;
	outline: none;
	font-size: 17px;
	color: #444444;
}

#category-head-calendar[open] summary {
	color: #444;
}

#category-head-calendar[open] dl {
	animation: fadein 1.5s ease;
}

@keyframes fadein {
	0% {
		opacity: 0;
		transform: translateY(-20px);
	}

	100% {
		opacity: 1;
		transform: none;
	}
}

#category-head-calendar dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	padding: 1em 0;
	width: 600px;
	border-radius: 15px;
	background-color: var(--color-light-beige);
}

#category-head-calendar dt,
#category-head-calendar dd {
	margin: 0 0 10px;
	padding: 4px 10px 0 0;
	line-height: 20px;
	font-size: 15px;
}

#category-head-calendar dt {
	width: 35%;
	align-items: center;
	display: flex;
	justify-content: flex-end;
}

#category-head-calendar dd {
	width: 60%;
	text-align: left;
	justify-content: flex-start;
}

#category-head-calendar dd a:hover {
	opacity: .5;
}

#category-head-calendar dd a {
	text-decoration: underline;
}

@media screen and (max-width:559px) {
	#category-head-calendar dl {
		width: 90%;
	}

	#category-head-calendar dt {
		margin-bottom: 7px;
		padding-left: 10px;
		width: 29%;
		font-size: 13.5px;
	}

	#category-head-calendar dd {
		margin-bottom: 7px;
		padding-left: 10px;
		width: calc(60% - 10px);
		font-size: 13px;
	}
}

@media screen and (max-width:303px) {
	#category-head-calendar dt {
		margin: 0 auto;
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	#category-head-calendar dd {
		margin: 0 auto 30px;
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

/*localNav*/
#localNav {
	width: 90%;
	max-width: 900px;
	margin: 0 auto 30px;
}

#localNav ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-size: 17px;
	line-height: 1.5;
}

#localNav ul li {
	display: inline-block;
	width: calc(50% - 5px);
	margin: 0 0 10px;
}

#localNav ul li a {
	display: block;
	padding: 10px;
	border: 1px solid #d3cbc5;
}

#localNav ul li a:hover {
	background-color: var(--color-light-beige);
	border-color: #999;
	color: #000;
}

#localNav ul li dl {
	text-align: left;
}

#localNav ul li dl {
	background: url("../img/arwRed.png") no-repeat 0 0;
	background-size: 24px;
	padding-left: 35px;
}

#localNav ul li dl dt {
	float: left;
	max-width: 300px;
}

#localNav ul li dl dt span {
	display: block;
}

#localNav ul li dl dd {
	float: right;
	text-align: right;
}

@media screen and (max-width:559px) {
	#localNav {
		width: 90%;
		max-width: 900px;
		margin: 0 auto 60px;
	}

	#localNav ul {
		font-size: 14px;
		line-height: 1.5;
	}

	#localNav ul li {
		float: none;
		display: block;
		width: 100%;
		margin: 0 0 2%;
	}

	#localNav ul li dl {
		background-size: 20px;
		background-position: 0 50%;
	}

	#localNav ul li dl dt {
		max-width: none;
	}

}

/*menuページ*/
#menu .red {
	color: #ee0000;
}

#menu article {
	max-width: 800px;
	width: 90%;
	padding: 50px;
	margin: 0 auto;
	text-align: left;
	background: #fff;
}

#menu article h1,
#menu article h2 {
	position: static;
	text-align: left;
	height: auto;
	border-bottom: 4px double #604c3f;
	margin-bottom: 50px;
	line-height: 1.5;
}

#menu article h1:before,
#menu article h2:before {
	display: none;
}

#menu article h1 span,
#menu article h2 span {
	position: static;
	margin: 0 0 0 1em;
	background: transparent;
}

.meeting #menu article h1 span,
.meeting #menu article h2 span {
	display: block;
	position: static;
	margin: 8px 0;
	background: transparent;
	font-size: 16px;
	width: auto;
}

#menu .articleBody {
	width: 100%;
	font-family: var(--tfg-gothic);
}

#menu .articlePhoto {
	float: right;
	width: 45%;
	margin: 0 0 0 5%;
}

#menu .articlePhoto img {
	display: block;
	width: 100%;
	margin: 0 auto 5px;
}

#menu .articlePhoto small {
	display: block;
	text-align: right;
	line-height: 1.3;
	margin-bottom: 10px;
}

#menu .articleBody section {
	margin-bottom: 5em;
}

#menu .articleBody h2 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 1em;
}

#menu .articleBody dl dt {
	margin-left: 1.5em;
	margin-bottom: 1em;
	font-weight: bold;
	color: #7e7157;
}

#menu .articleBody dl dt:before {
	/*content: "● ";*/
	content: none;
	margin-left: -1.5em;
}

#menu .articleBody dl dd {
	margin: 0 0 1.5em 2.5em;
}

#menu .articleBody dl dl {
	margin: 1em 0;
}

#menu .articleBody dl dl dt {
	margin-bottom: 0;
	margin-left: 1.5em;
	font-weight: 200;
}

#menu .articleBody dl dl dt:before {
	/*content: "・ ";*/
	content: none;
	margin-left: -1.5em;
}

#menu .articleBody dl dl dd {
	margin-bottom: 1.5em;
	margin-left: 1.5em;
	color: #444;
}

#menu .articleBody dl ul li {
	margin-left: 1.5em;
}

#menu .articleBody dl ul li:before {
	/*content: "・ ";*/
	content: none;
	margin-left: -1.5em;
}

#menu a.blog_hashtag {
	margin: 0 2px;
	padding: 3px 5px;
	display: inline;
	width: 100%;
	text-align: center;
	text-decoration-line: none !important;
	color: #000;
	background: #e8e6e2;
	border-radius: 25px;
	cursor: pointer;
	transition: all .35s ease;
}

#menu a.blog_hashtag:hover {
	background-color: #868481;
	color: white;
}

#menu .etc {
	font-size: .9em;
	font-family: var(--tfg-gothic);
}

#menu .etc ul {
	margin: 2em 0;
}

#menu .etc ul li {
	margin: 0 1.5em 1.5em 2.5em;
}

#menu .etc ul li::before {
	margin-right: .5em;
	content: "※";
	color: #7e7157;
}

#menu .matt2 article,
#main .matt2 .articleBody {
	max-width: 900px !important;
}

#menu .matt2 p {
	margin: 0 !important;
}

#menu .caution {
	margin: 1em 0;
	padding: 1em 0;
	width: 50%;
	text-align: center;
	line-height: 2em;
	font-size: 1em;
	border: solid 3px #7e7157;
}

#menu .caution p {
	margin: 0;
}

#menu .time-period {
	padding-right: .5em;
	padding-left: .5em;
	width: fit-content;
	line-height: 2em;
	border-left: solid 2.5px #7e7157;
	background: var(--color-light-beige);
	text-align: center;
	font-size: 1em;
	font-weight: 600;
	color: #514838;
	font-family: var(--tfg-mincho);
}

#menu .greeting {
	width: fit-content;
	line-height: 2.6em;
	text-align: center;
	text-align: left;
	font-size: 1em;
	letter-spacing: 2.5px;
	font-weight: 600;
	color: #514838;
	font-family: var(--tfg-mincho);
}

@media screen and (max-width:559px) {
	#menu article {
		padding: 5%;
	}

	#menu article h1,
	#menu article h2 {
		text-align: center;
	}

	#menu article h1 span,
	#menu article h2 span {
		display: block;
		margin: 0 auto;
		text-align: center;
		width:100%;
	}

	#menu .articlePhoto {
		float: none;
		width: 100%;
		margin: 0 0 20px;
	}

	#menu .articleBody dl dt {
		margin-left: 1em;
	}

	#menu .articleBody dl dd {
		margin-right: 1em;
		text-align: right;
	}

	#menu .articleBody dl dl {
		margin: 1em .5em;
	}

	#menu .articleBody dl dl dt {
		margin-left: 0;
		font-size: .975em;
	}

	#menu .articleBody dl dl dd {
		margin-left: 0;
	}

	#menu .time-period {
		width: 100%;
		text-align: left;
	}

	#menu .greeting {
		width: 100%;
		text-align: left;
	}

	/*コース*/
	#menu .time-period {
		text-align: center;
		padding: 0.5em 0;
		border: none;
	}
	#menu .articleBody .list-course {
		text-align: center;
	}
	#menu .articleBody .list-course dt {
		margin: 0 auto;
	}
	#menu .articleBody .list-course dd {
		margin: 0 auto 2em;
		text-align: center;
	}
	/*オプション*/
	#menu .articleBody .list-option dd {
		margin: 0 0 2em 1em;
		text-align: left;
	}
}

body.english #menu article h1 span {
	display: none;
}


/*access｜アクセス----------*/

#access #keyVisual {
	background: url("../access/img/keyVisual_pc.jpg") 50% 50%;
	background-size: cover;
}

#access #main .inner {
	text-align: center;
}

#access #main #party {
	padding-top: 40px;
}

#access #main article {
	margin: 0 auto;
	padding: 2em 0;
}

#access #main article:nth-of-type(even) {
	background-color: var(--color-light-beige);
}

#access #main article>h2 {
	position: relative;
	display: block;
	font-size: 20px;
	max-width: 800px;
	height: 2em;
	text-align: center;
	margin: 0 auto 30px;
}

#access #main article>h2:before {
	content: '';
	position: absolute;
	display: block;
	top: 1em;
	left: 0;
	right: 0;
	width: 100%;
	height: 0.5px;
	background: #999;
	z-index: 0;
}

#access #main article>h2 span {
	position: relative;
	margin: 0 auto;
	padding: 0;
	width: fit-content;
	white-space: nowrap;
	background: white;
	z-index: 1;
}

#access #main article:nth-of-type(even)>h2 span {
	background-color: var(--color-light-beige);
}

#access #main article>h2 span:before {
	content: '【';
}

#access #main article>h2 span::after {
	content: '】';
}

#access #main article>h3️ {
	font-size: 20px;
	margin-bottom: 10px;
}

#access #main article>h3️ span {
	display: inline-block;
}

#access #main .articleBody {
	width: 90%;
	max-width: 850px;
	margin: 0 auto;
}

#access #main .articleBody h2 {
	text-align: center;
}

#access #main .articleBody img {
	display: block;
	max-width: 100%;
	margin: 10px auto;
	height: auto;
}

@media screen and (max-width:559px) {
	#access #main article>h2 {
		font-size: 20px;
		margin-bottom: 30px;
	}

	#access #main article>h2 span {
		white-space: break-spaces;
		line-height: 1.25em;
	}
}

/* アクセス 青ボタン */
#access .access_btn_blue {
	margin: 0 auto 2em;
	padding: 5px 1em;
	border: solid 1px #4285F4;
	border-radius: 50px;
	width: fit-content;
	text-align: center;
}

#access .access_btn_blue a {
	color: #4285F4;
	font-weight: 600;
}

#access .access_btn_blue:hover {
	background: #4285F4;
}

#access .access_btn_blue:hover a {
	color: white;
}

@media screen and (max-width:559px) {
	#access .access_btn_blue {
		max-width: 200px;
		width: 100%;
	}
}


#access .article small {
	display: block;
	text-align: right;
}

#access .article nav ul {
	width: 90%;
	font-size: 18px;
	margin: 0 auto;
}

#access .article nav ul li {
	text-align: center;
	padding-bottom: 30px;
}

#access .article nav ul li a {
	position: relative;
	display: inline-block;
	padding: 0 0 0 35px;
	vertical-align: middle;
	text-decoration: none;
}

#access .article nav ul li a:hover {
	text-decoration: underline;
}

#access .article nav ul li a:before,
#access .article nav ul li a:after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

/* #access .article nav ul li a:before { left: 6px; box-sizing: border-box; width: 18px; height: 8px; border: 6px solid transparent; border-left: 18px solid #000; } */
#access .article nav ul li.train a:before {
	bottom: 3px;
	left: 4px;
	box-sizing: border-box;
	width: 22px;
	background: url("../access/img/train.png") no-repeat 0, 0;
}

#access .article nav ul li.bus a:before {
	bottom: 9px;
	left: 4px;
	box-sizing: border-box;
	width: 20px;
	background: url("../access/img/bus.png") no-repeat 0, 0;
}

#access .article nav ul li.car a:before {
	bottom: 6px;
	left: 4px;
	box-sizing: border-box;
	width: 25px;
	background: url("../access/img/car.png") no-repeat 0, 0;
}

#access .article nav ul li.place a:before {
	bottom: 8px;
	left: 6px;
	box-sizing: border-box;
	width: 20px;
	background: url("../access/img/place.png") no-repeat 0, 0;
}

/* #access .article nav ul li a:after { left: 6px; box-sizing: border-box; width: 4px; height: 10px; border: 6px solid transparent; border-left: 4px solid #fff; } */
#access .articleBody .red {
	color: #ee4444;
}

@media screen and (max-width:559px) {
	#access #keyVisual {
		background: url("../access/img/keyVisual_sp.jpg") 50% 50%;
		background-size: cover;
	}

	#access .article nav ul {
		font-size: 17px;
	}

	#access .articleBody {
		text-align: left;
	}
}

body#access.english .articleBody {
	text-align: left;
}

body#access.english .articleL {
	float: left;
	width: 48%;
}

body#access.english .articleR {
	float: right;
	width: 48%;
}

@media screen and (max-width:559px) {
	body#access.english .articleL {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}

	body#access.english .articleR {
		float: none;
		width: 100%;
	}
}

/* 提携P満車時の注意書き */
#access .articleBody .ifFullyParked ul {
	margin: 0 0 0 1em;
}

#access .articleBody .ifFullyParked ul li {
	margin: 0 auto 1em;
	color: #444444;
}

#access .articleBody .ifFullyParked ul li a {
	text-decoration: underline;
}

#access .articleBody .ifFullyParked ul li a:hover {
	opacity: .4;
}

@media screen and (max-width: 559px) {
	#access .articleBody .ifFullyParked ul {
		display: flex;
		flex-flow: column;
	}
}

/*ここから 中央通り『終日車両通行止め』のお知らせ（3月11日〜4月26日）*/

/*全体*/
#access .chuodori_closed_details {
	margin: 2em 0;
	/*前後の余白*/
	padding: 0;
}

/*リード*/
#access .chuodori_closed_lead {
	color: #ee0000;
	font-weight: bold;
}

/*ボタン装飾*/
#access .chuodori_closed_details label {
	padding: 10px;
	font-weight: bold;
	border: solid 2px #ee0000;
	cursor: pointer;
}

/*ボタンホバー時*/
#access .chuodori_closed_details label:hover {
	border: solid 1.5px black;
	background: var(--color-light-beige);
}

/*チェックは見えなくする*/
#access .chuodori_closed_details input {
	display: none;
}

/*中身を非表示にしておく*/
#access .chuodori_closed_details .hidden_show {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.8s;
}

/*クリックで中身表示*/
#access .chuodori_closed_details input:checked~.hidden_show {
	margin-top: 35px;
	padding: 20px 0px 0px 0px;
	height: auto;
	background-color: var(--color-light-beige);
	opacity: 1;
}

/*ここまで 中央通り『終日車両通行止め』のお知らせ（3月11日〜4月26日）*/


/* 支払い方法（PAYMENT）----------*/
.clear {
	clear: both;
}

#payment #keyVisual {
	background: url("../payment/img/keyVisual_pc.jpg") 50% 50%;
	background-size: cover;
}

#payment.inner {
	text-align: center;
}

#payment#party {
	padding-top: 40px;
}

#payment .article small {
	display: block;
	text-align: right;
}

#payment .article nav ul {
	width: 14em;
	font-size: 17px;
	margin: 0 auto;
}

#payment .article nav ul li {
	text-align: left;
}

#payment .article nav ul li a {
	text-decoration: underline;
}

#payment .article nav ul li a {
	position: relative;
	display: inline-block;
	padding: 0 0 0 30px;
	vertical-align: middle;
}

#payment .article nav ul li a:before,
#payment .article nav ul li a:after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

#payment .article nav ul li a:before {
	left: 6px;
	box-sizing: border-box;
	width: 18px;
	height: 8px;
	border: 6px solid transparent;
	border-left: 18px solid #000;
}

#payment .article nav ul li a:after {
	left: 6px;
	box-sizing: border-box;
	width: 4px;
	height: 10px;
	border: 6px solid transparent;
	border-left: 4px solid #fff;
}

#payment span.small-red {
	font-size: .8em;
	font-weight: 500;
	color: #ee0000;
}

#payment span.small {
	font-size: .8em;
	font-weight: 500;
}

#payment span.red {
	color: #ee0000;
}

#payment span.bold {
	font-weight: 600;
}

#payment a.back-link {
	margin: 0 auto;
	float: none;
}

/* .pay-container */
.pay-container {
	max-width: 840px;
	display: flex;
	justify-content: left;
	flex-flow: wrap;
}

#payment.pay-container::after {
	content: "";
	display: block;
	width: calc(25% - 2em);
}

@media screen and (max-width: 559px) {
	.pay-container {
		flex-wrap: wrap;
	}
}

/* .pay-item */
#payment .pay-item {
	display: inline-block;
	margin: 0 0 10px;
	width: 25%;
	min-width: 125.55px;
	/* 558px × 90% ÷ 4 */
}

#payment .pay-item a {
	margin: .2em auto;
	display: block;
	width: 114px;
	transition: all .5s ease;
}

@media screen and (max-width: 559px) {
	.pay-item {
		width: 50%;
	}
}

/* .pay-image */
#payment .pay-image {
	padding: 0 1em;
}

#payment .pay-image img {
	height: 75px;
	max-width: 85% !important;
	object-fit: contain;
}

/* .pay-text */
#payment .pay-text {
	text-align: left;
}

#payment .pay-text .pay-name {
	font-weight: bold;
	text-align: center;
	margin: 5px 0 5px 0;
	line-height: initial;
}

/* .pay-text｜.red-box */
#payment .pay-text .red-box {
	margin: -1.5em 0 0;
	padding: 1em 0.5em 1em 1em;
	width: 90%;
	background-color: white;
	border: solid 1px #ee0000;
	font-size: .85em;
}

#payment .pay-text .red-box .box-title {
	margin: 0 0 1em;
	color: #ee0000;
	font-weight: 600;
}

#payment .pay-text .red-box .box-text {
	margin: 0 0 1em;
}

#payment .pay-text .red-box .box-text a {
	display: inline;
	text-decoration: underline;
	text-decoration-color: #ee0000;
}

/* .pay-text｜.p-item-button */
.p-item-button a:before {
	content: "詳しくはこちら";
	font-size: 85%;
	font-weight: bold;
	display: inline-block;
	padding-left: 20px;
	background: url(../img/arwRed.png) no-repeat;
	background-position: left;
	background-size: 15px;
}

.p-item-button a:hover {
	transform: scale(1.2);
	text-decoration-line: underline;
}

.p-item-button-en a:before {
	content: "Learn more";
	font-size: 85%;
	font-weight: bold;
	display: inline-block;
	padding-left: 20px;
	background: url(../img/arwRed.png) no-repeat;
	background-position: left;
	background-size: 15px;
}

.p-item-button-en a:hover {
	transform: scale(1.2);
	text-decoration-line: underline;
}

/* #modal-XXX */
#payment #modal-oshimise .description a {
	display: inline;
	text-decoration: underline;
}

#payment .description>h3 {
	margin: 1em 0;
	font-weight: 600;
}

#payment #modal-discover div.discover-img-box {
	margin: 0 auto 1em;
	width: 90%;
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap;
}

#payment #modal-discover img.discover-img {
	margin: .5em auto !important;
	width: calc((100% - 1em) / 2);
	height: calc((420px * 0.9 - 1em) * 0.5 * 0.4316);
}

#payment #modal-discover a.modal-overlay {
	width: 100%;
}

@media screen and (max-width:559px) {
	#payment #keyVisual {
		background: url("../payment/img/keyVisual_sp.jpg") 50% 50%;
		background-size: cover;
	}

	#payment .article nav ul {
		font-size: 14px;
	}

	#payment .articleBody {
		text-align: left;
	}

	#payment #modal-discover img.discover-img {
		margin: .5em auto !important;
		width: 100%;
		max-height: calc(420px * 0.9 * 0.4316);
		height: calc((90vw - 80px) * 0.9 * 0.4316);
	}
}

body#payment.english .articleBody {
	text-align: center;
}

body#payment.english .articleL {
	float: left;
	width: 48%;
}

body#payment.english .articleR {
	float: right;
	width: 48%;
}

@media screen and (max-width:559px) {
	body#payment.english .articleL {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}

	body#payment.english .articleR {
		float: none;
		width: 100%;
	}
}

/* 支払い方法｜インボイス制度 */
#payment #invoice dl {
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 300px;
}

#payment #invoice dt {
	width: calc(40% - 2px);
	line-height: 45px;
	text-align: center;
}

#payment #invoice dd {
	width: calc(60% - 2px);
	line-height: 45px;
	text-align: center;
}

#payment #invoice dt {
	border-left: solid 1px black;
}

#payment #invoice dt:nth-of-type(1),
#payment #invoice dd:nth-of-type(1) {
	border-top: solid 1px black;
}

#payment #invoice dt,
#payment #invoice dd {
	border-right: solid 1px black;
	border-bottom: solid 1px black;
}

#payment a#urlInvoiceRegiNum {
	text-decoration: underline;
	transition: all .4s ease;
}

#payment a#urlInvoiceRegiNum:hover {
	opacity: .4;
}

/* company｜会社概要---------- */
#company #keyVisual {
	background: url("../company/img/keyVisual_pc.jpg") 50% 50%;
	background-size: cover;
}

#company .articleBody {
	text-align: left;
}

#company .articleBody h2 {
	position: relative;
	display: block;
	margin: 0 0 30px;
	font-size: 30px;
	max-width: 800px;
	min-height: 2em;
}

#company .articleBody h2 span {
	background: #fff;
	display: inline-block;
	padding: 0 20px 0 0;
	text-transform: uppercase;
	color: var(--tfg-gold);
}

#company .articleBody h2 span em {
	padding: 0 0 0 20px;
	display: inline-block;
	vertical-align: text-bottom;
	font-size: 18px;
	font-weight: normal;
	color: #666;
}

#company .articleBody h2:before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 1em;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: #999;
}

#company .articleBody h3 {
	font-size: 28px;
	margin: 0 auto 20px;
}

@media screen and (max-width: 559px) {
	#company .articleBody h2 span em {
		padding: 0 0 0 .5em;
		vertical-align: baseline;
		font-size: 14px;
	}
}

/*ミッション*/
#company .articleBody .mission {
	margin: 0 0 30px 0;
	padding: 0 1em 0;
	width: calc(90% - 1em);
	max-width: calc(850px - 1em);
	line-height: 3em;
	font-size: 20px;
	border-left: solid 1em var(--tfg-beige);
	background-color: var(--color-light-beige);
}

@media screen and (max-width: 559px) {
	#company .articleBody .mission {
		line-height: 2em;
		font-size: 16px;
	}
}

#company .articleBody ul.add {
	margin: 0 0 20px 0;
}

#company .articleBody ul.add li {
	font-size: 20px;
	line-height: 180%;
	margin: 0 0 20px 0;
}

#company .articleBody ul.add li address {
	font-size: 16px;
}

#company .articleBody ul.emblem {
	width: 730px;
	margin: 0;
	padding: 0;
}

#company .articleBody ul.emblem li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#company .articleBody dl {
	line-height: 175%;
}

#company .articleBody dl dt {
	float: left;
	width: 12em;
	margin-bottom: 30px;
	font-size: 16px;
}

#company .articleBody dl dd {
	padding-left: 12em;
	margin-bottom: 30px;
	font-size: 16px;
}

/*画像-アイコン-開く*/
#company .articleBody img.icon-open {
	display: inline;
	margin: 0;
	padding: 0 0 4px 2px;
	height: 17px;
	line-height: inherit;
	vertical-align: middle;
	filter: contrast(0.3);
}

hr {
	border: 0;
	border-top: 1px solid #ccc;
	margin-bottom: 40px;
	display: block;
}

@media screen and (max-width:559px) {
	#company #keyVisual {
		background: url("../company/img/keyVisual_sp.jpg") 50% 50%;
		background-size: cover;
	}

	#company .articleBody {
		text-align: left;
	}

	#company .articleBody h2 {
		font-size: 1.6em;
	}

	#company .articleBody h3 {
		font-size: 1.4em;
	}

	#company .articleBody ul.add li {
		font-size: 1.0em;
	}

	#company .articleBody ul.add li address {
		font-size: 0.85em;
	}

	#company .articleBody ul.emblem {
		width: 100%;
		margin: 0;
		padding: 0;
		border-top: 1px solid #ccc;
	}

	#company .articleBody ul.emblem li {
		display: flex;
		width: 100%;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		border-bottom: 1px solid #ccc;
		padding: 12px 0;
	}

	#company .articleBody dl dt {
		float: none;
		width: auto;
		margin: 0 0 8px 0;
		font-weight: bold;
	}

	#company .articleBody dl dd {
		padding: 0;
		font-size: 14px;
	}
}


/*aboutus----------*/
#aboutus #keyVisual {
	background: url("../aboutus/img/keyVisual_pc.jpg") 50% 50%;
	background-size: cover;
}

#aboutus #main .inner {
	text-align: center;
}

#aboutus #main article>h1 {
	position: relative;
	display: block;
	font-size: 20px;
	max-width: 800px;
	height: 2em;
	text-align: center;
	margin: 0 auto 30px;
}

#aboutus #main article>h1:before {
	content: '';
	position: absolute;
	top: 1em;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 0.5px;
	background: #999;
}

#aboutus #main article>h2 {
	position: relative;
	display: block;
	font-size: 20px;
	max-width: 800px;
	height: 2em;
	text-align: center;
	margin: 0 auto 30px;
}

#aboutus #main article>h2:before {
	content: '';
	position: absolute;
	top: 1em;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: #999;
}

#aboutus #main article>h2 span {
	position: absolute;
	width: 12em;
	left: 50%;
	right: 50%;
	margin-left: -6em;
	background: white;
}

#aboutus #article01 {
	background: url("../aboutus/img/bg01.jpg") no-repeat 20% 50%;
}

#aboutus #article03 {
	background: url("../aboutus/img/bg03.jpg") no-repeat 85% 15%;
}

#aboutus #article04 {
	background: url("../aboutus/img/bg04.jpg") no-repeat 20% 15%;
}

#aboutus #article05 .articleBody:first-of-type {
	padding-bottom: 150px;
	background: url("../aboutus/img/bg05.png") no-repeat 100% 100%;
}

#aboutus #article06 h1 {
	margin-bottom: 50px;
}

#aboutus #article06 span.happier {
	width: 15em;
	margin-left: -7em;
	padding-left: 0.5em
}

#aboutus.english #article03 {
	background: url("../aboutus/img/bg03.jpg") no-repeat 85% 61%;
}

#aboutus.english #article04 {
	background: url("../aboutus/img/bg04.jpg") no-repeat 20% 61%;
}


@media screen and (max-width:559px) {
	#aboutus #keyVisual {
		background: url("../aboutus/img/keyVisual_sp.jpg") 50% 50%;
		background-size: cover;
	}

	#aboutus #main article>h1 {
		font-size: 20px;
		margin-bottom: 30px;
	}

	#aboutus #main article>h1 span {
		width: 12em;
		margin-left: -6em;
	}

	#aboutus #main article>h2:before {
		display: none;
	}

	#aboutus #main article>h2 {
		width: 90%;
		height: auto;
	}

	#aboutus #main article>h2 span {
		width: 100%;
		position: relative;
		margin: 0 auto;
		left: 0;
	}

	#aboutus #article06 span.happier {
		width: inherit;
		margin-left: inherit;
		padding-left: inherit;
	}

	#aboutus #article01 .articleBody,
	#aboutus #article02 .articleBody,
	#aboutus #article03 .articleBody,
	#aboutus #article04 .articleBody,
	#aboutus #article05 .articleBody,
	#aboutus #article06 .articleBody,
	#aboutus #article06 span.happier {
		padding-left: 0;
	}

	#aboutus #article01,
	#aboutus #article03,
	#aboutus #article04,
	#aboutus #article05 .articleBody:first-of-type {
		background: none;
		padding: 0;
	}
}

#aboutus.english .article h1 {
	line-height: 1.5;
}

#aboutus.english #article03 h1,
#aboutus.english #article05 h1 {
	height: 3em;
}

#aboutus.english .article h1 span {
	width: 320px;
	margin-left: -160px;
}

/*restaurant----------*/
#restaurant #keyVisual {
	background: url("../restaurant/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

.webp #restaurant #keyVisual {
	background: url("../restaurant/img/keyVisual_pc.jpg.webp") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#restaurant #keyVisual {
		background: url("../restaurant/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}

	.webp #restaurant #keyVisual {
		background: url("../restaurant/img/keyVisual_sp.jpg.webp") no-repeat 50% 50%;
		background-size: cover;
	}
}

#restaurant.restaurant-top {
	display: none;
}

@media screen and (max-width:559px) {
	#restaurant.restaurant-top {
		display: block;
		height: 25px;
	}
}

#restaurant #keyVisual {
	background: url("../restaurant/lunch/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#restaurant .en_restaurant_btn_reserve {
	margin: 1px;
	padding: 5px 0 5px 20px;
	width: 200px;
	font-weight: 600;
	color: #d6000e;
	display: inline-block;
	cursor: pointer;
	border: 1px solid #d6000e;
	background: url(../img/arwRed.png) no-repeat 0 0;
	background-size: 25px;
	background-position: left;
	background-position-x: 10px;
	background-color: #ffffff;
}

#restaurant .en_restaurant_btn_reserve:hover {
	background-color: var(--color-light-beige);
}

#restaurant .en_restaurant_btn_reserve:active {
	margin: 0px;
	border: 2px solid #d6000e;
	font-size: 1.01em;
	background-color: var(--color-light-beige);
}

#restaurant-lunch #keyVisual h1 {
	background: url("../restaurant/lunch/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

@media screen and (max-width:559px) {
	#restaurant-lunch #keyVisual {
		background: url("../restaurant/lunch/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#restaurant-dinner-alacarte #keyVisual {
	background: url("../restaurant/dinner-alacarte/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#restaurant-dinner-alacarte #keyVisual h1 {
	display: none;
}

@media screen and (max-width:559px) {
	#restaurant-dinner-alacarte #keyVisual {
		background: url("../restaurant/dinner-alacarte/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#restaurant-dinner-course #keyVisual {
	background: url("../restaurant/dinner-course/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#restaurant-dinner-course #keyVisual h1 {
	display: none;
}

@media screen and (max-width:559px) {
	#restaurant-dinner-course #keyVisual {
		background: url("../restaurant/dinner-course/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#restaurant-wine-list #keyVisual {
	background: url("../restaurant/wine-list/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#restaurant-wine-list #keyVisual h1 {
	display: none;
}

#restaurant-wine-list #localNav ul li dl dt:before,
#restaurant-wine-list #localNav ul li dl dt:after {
	top: -3px;
}

#restaurant-wine-list .articleBody dl {
	font-family: var(--tfg-gothic);
}

#restaurant-wine-list .articleBody dl dt {
	font-weight: normal;
	clear: both;
	float: left;
	color: black;
}

#restaurant-wine-list .articleBody dl dt:before {
	content: "";
}

#restaurant-wine-list .articleBody dl dt span {
	display: block;
	font-size: 13px;
	margin-bottom: 1.5em;
}

#restaurant-wine-list .articleBody dl dd {
	margin-left: 0;
	width: 9.5em;
	float: right;
	text-align: right;
	color: black;
}

#restaurant-wine-list .articleBody dl dd.price {
	color: #7e7157;
}

@media screen and (max-width:885px) {
	#restaurant-wine-list #keyVisual {
		background: url("../restaurant/wine-list/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}

	#restaurant-wine-list .articleBody dl dt {
		margin-bottom: 0;
		width: 100%;
	}

	#restaurant-wine-list .articleBody dl dt span {
		margin-bottom: 0;
	}

	#restaurant-wine-list .articleBody dl dt:before {
		margin-left: 0;
	}

	#restaurant-wine-list .articleBody dl dd {
		width: 7em;
	}

	#restaurant-wine-list .articleBody dl dd.vintage {
		color: #7e7157;
	}
}



#restaurant dt.vacancy {
	margin-bottom: 20px;
	padding: 5px 10px 5px 10px;
	width: 135px;
	display: inline-block;
	border-radius: 50px;
	background-color: #e8e6e2;
	transition: all 0.3s;
}

#restaurant dt.vacancy:hover {
	transform: scale(1.15, 1.15);
}

#restaurant dt.vacancy img {
	vertical-align: text-top;
	padding-right: 3px;
	width: 18px;
}

#restaurant .toreta_yoyaku a {
	display: block;
	padding: 5px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	width: 200px;
	border: 3px double #595755;
	background-color: #f9f7f5;
	font-family: var(--tfg-gothic);
}

#restaurant .toreta_yoyaku a:hover {
	transform: scale(1.05);
}

#restaurant .toreta_yoyaku a:active {
	color: #222222;
	background-color: #e8e6e2;
}

/*Restaurant Instagram ｜ レストラン インスタグラム*/
#restaurant_instagram h1 {
	cursor: pointer;
}

#restaurant_instagram h2 {
	margin: 10px auto 20px;
	font-family: var(--tfg-mincho);
	font-size: 120%;
	font-weight: 700;
	letter-spacing: .1em;
}

#restaurant_instagram ul#instafeed {
	margin-bottom: 50px;
	display: flex;
	justify-content: normal;
	flex-wrap: wrap;
	width: 100%;
	height: fit-content;
}

#restaurant_instagram ul#instafeed li {
	width: 18vw;
	height: 18vw;
	max-width: 170px;
	max-height: 170px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: 1px solid white;
	margin: -1px;
	background-clip: padding-box;
}

#restaurant_instagram ul#instafeed li a {
	width: 100%;
	height: 100%;
}

#restaurant_instagram ul#instafeed li a img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	padding: 0;
}

#restaurant_instagram ul#instafeed li a:hover img {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	#restaurant_instagram {
		width: 100%;
		max-width: 767px;
		margin: 0 auto 20px;
	}

	#restaurant_instagram h2 {
		font-size: 140%;
		margin: 0px auto 20px;
	}

	#restaurant_instagram ul#instafeed {
		width: 100%;
	}

	#restaurant_instagram ul#instafeed li {
		display: block;
		width: 45vw;
		height: 45vw;
		list-style: none;
	}

	#restaurant_instagram ul#instafeed li a {
		width: 100%;
		height: 100%;
	}

	#restaurant_instagram ul#instafeed li a img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		margin: 0;
		padding: 0;
	}
}

/*END Restaurant Instagram ｜ レストラン インスタグラム*/


/*party----------*/
#party #keyVisual {
	background: url("../party/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#party #keyVisual {
		background: url("../party/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}
}

#party-banquet-hall #keyVisual {
	background: url("../party/banquet-hall/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#party-banquet-hall #keyVisual h1 {
	display: none;
}

#party-banquet-hall .article h1 span {
	width: 4em;
	margin-left: -2em;
}

@media screen and (max-width:559px) {
	#party-banquet-hall .article .layout ul li {
		float: none;
		width: 100%;
		margin: 0 0 30px;
	}
}

@media screen and (max-width:559px) {
	#party-banquet-hall #keyVisual {
		background: url("../party/banquet-hall/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#party-menu #keyVisual {
	background: url("../party/menu/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#party-menu #keyVisual h1 {
	display: none;
}

@media screen and (max-width:559px) {
	#party-menu #keyVisual {
		background: url("../party/menu/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#party-option #keyVisual {
	background: url("../party/option/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#party-option #keyVisual h1 {
	display: none;
}

@media screen and (max-width:559px) {
	#party-option #keyVisual {
		background: url("../party/option/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#party-event #keyVisual {
	background: url("../party/event/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#party-event #keyVisual h1 {
	display: none;
}

@media screen and (max-width:559px) {
	#party-option #keyVisual {
		background: url("../party/event/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#party-meeting #keyVisual {
	background: url("../party/meeting/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#party-meeting #keyVisual h1 {
	display: none;
}

@media screen and (max-width:559px) {
	#party-option #keyVisual {
		background: url("../party/meeting/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#party .optionArticleBody img {
	display: block;
	max-width: 100%;
	margin: 10px 0px 10px 0px;
	height: auto;
}

#party-option .btn a {
	margin: 10px 0px 10px;
	padding: 1px 10px 1px 10px;
	display: inline-block;
	border: 5px double #595755;
	background-color: var(--color-light-beige)
}

#party-option .btn a:hover {
	transform: scale(1.05);
}

#party-option .btn a:active {
	color: #222222;
	background-color: #e8e6e2;
}

/*private----------*/
#private #keyVisual {
	background: url("../private/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

/*#private #keyVisual h1 { display: none; }*/
@media screen and (max-width:559px) {
	#private #keyVisual {
		background: url("../private/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}
}

#private.menu #keyVisual {
	background: url("../private/menu/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#private.menu #keyVisual h1 {
	display: none;
}

@media screen and (max-width:559px) {
	#private.menu #keyVisual {
		background: url("../private/menu/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

/*lounge----------*/
#lounge #keyVisual {
	background: url("../lounge/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

/*#private #keyVisual h1 { display: none; }*/
@media screen and (max-width:559px) {
	#lounge #keyVisual {
		background: url("../lounge/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}
}

#lounge-cafe #keyVisual {
	background: url("../lounge/cafe/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#lounge-cafe #keyVisual h1 {
	display: none;
}

@media screen and (max-width:559px) {
	#lounge-cafe #keyVisual {
		background: url("../lounge/cafe/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

#lounge.bar #keyVisual {
	background: url("../lounge/bar/img/keyVisual_pc.jpg") no-repeat 50% 0;
	background-size: contain;
}

#lounge.bar #keyVisual h1 {
	display: none;
}

#lounge.bar #drink dl dl {
	clear: both;
}

#lounge.bar #drink dl dl dt {
	float: left;
	clear: both;
}

#lounge.bar #drink dl dl dd {
	float: right;
	text-align: left;
}

@media screen and (max-width:559px) {
	#lounge.bar #keyVisual {
		background: url("../lounge/bar/img/keyVisual_sp.jpg") no-repeat 50% 0;
		background-size: contain;
	}
}

/*floormap----------*/
#floormap #keyVisual {
	display: none;
}

#floormap article img {
	display: block;
	width: 90%;
	margin: 0 auto;
}

/*ticket----------*/
#ticket #keyVisual {
	background: url("../ticket/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#ticket #keyVisual {
		background: url("../ticket/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}

	#ticket .section {
		padding-top: 30px;
	}
}

#ticket article h1 {
	font-size: 20px;
}

#ticket article a {
	text-decoration: underline;
}

#ticket article a:hover {
	font-weight: 600;
}

#ticket .articleBody {
	text-align: left;
	max-width: 500px;
	font-family: var(--tfg-gothic);
}

#ticket .articleBody>ul>li {
	list-style-type: none !important;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

#ticket .articleBody>ul>li:before {
	content: "● ";
	margin-left: -1.5em;
}

#ticket .articleBody>ul>li>ul>li {
	list-style-type: none !important;
	margin-left: 1.5em;
}

#ticket .articleBody>ul>li>ul>li:before {
	content: "・ ";
	margin-left: -1.5em;
}

#ticket .articleBody ul.clearfix>li {
	display: inline-block;
	width: 5em;
}

/*注文ボタン*/
#ticket .buyticket a {
	margin: 0 auto 10px;
	padding: 5px;
	display: block;
	width: 200px;
	border: 3px double #595755;
	background-color: #f9f7f5;
	font-weight: 600;
	transition: all .3s ease;
}

#ticket .buyticket a:hover {
	box-shadow: 9px 9px 8px 0 rgba(157, 145, 130, .70);
}

#ticket .buyticket a:active {
	position: relative;
	top: 5px;
	box-shadow: none;
}

/*togo----------*/
#togo #keyVisual {
	background: url("../togo/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#togo #keyVisual {
		background: url("../togo/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}

	#togo .section {
		padding-top: 30px;
	}
}

#togo .oshirase {
	margin: 0 auto 20px;
	padding-bottom: 10px;
	width: 90%;
	max-width: 500px;
	background: #e8e6e2;
}

#togo .oshirase a {
	text-decoration: none;
	position: relative;
	top: 0;
	left: 0;
	color: inherit;
}

#togo .oshirase a.img-link:hover {
	opacity: .5;
	transition: all .2s ease;
}

#togo .konzatsu {
	margin: 0 auto;
	padding: 10px auto 30px;
	width: 90%;
	max-width: 500px;
	background: #e8e6e2;
}

#togo .konzatsu .img-konzatsu {
	display: inline-block;
	margin: 0 auto;
	width: 90%;
	max-width: 400px;
	padding: 10px 0px;
}

#togo .konzatsu a {
	text-decoration: underline;
	position: relative;
	top: 0;
	left: 0;
}

#togo .konzatsu a:hover {
	font-weight: 600;
}

#togo .konzatsu .chart_congestion {
	transform: scale(1.5);
	display: inline-block;
	margin: 50px auto;
}

/*混雑予測のチャートの縮小*/
@media screen and (min-width: 400px) and (max-width: 559px) {
	#togo .konzatsu .chart_congestion {
		transform: scale(1.3);
	}
}

@media screen and (min-width: 375px) and (max-width: 389px) {
	#togo .konzatsu .chart_congestion {
		transform: scale(1.2);
	}
}

@media screen and (min-width: 340px) and (max-width: 389px) {
	#togo .konzatsu .chart_congestion {
		transform: scale(1.1);
	}
}

@media screen and (min-width: 320px) and (max-width: 339px) {
	#togo .konzatsu .chart_congestion {
		transform: scale(1.0);
	}
}

@media screen and (min-width: 280px) and (max-width: 319px) {
	#togo .konzatsu .chart_congestion {
		transform: scale(0.9);
	}
}

@media screen and (max-width: 279px) {
	#togo .konzatsu .chart_congestion {
		width: 100%;
	}
}

/*スマホ縦サイズ*/
#togo .konzatsu .time_label_box {
	transform: scale(1.5);
	display: inline-block;
	margin: 50px auto;
}

/*混雑予測のチャートの縮小*/
@media screen and (min-width: 400px) and (max-width: 559px) {
	#togo .konzatsu .time_label_box {
		transform: scale(1.3);
	}
}

@media screen and (min-width: 375px) and (max-width: 389px) {
	#togo .konzatsu .time_label_box {
		transform: scale(1.2);
	}
}

@media screen and (min-width: 340px) and (max-width: 389px) {
	#togo .konzatsu .time_label_box {
		transform: scale(1.1);
	}
}

@media screen and (min-width: 320px) and (max-width: 339px) {
	#togo .konzatsu .time_label_box {
		transform: scale(1.0);
	}
}

@media screen and (min-width: 280px) and (max-width: 319px) {
	#togo .konzatsu .time_label_box {
		transform: scale(0.9);
	}
}

@media screen and (max-width: 279px) {
	#togo .konzatsu .time_label_box {
		width: 100%;
	}
}

/*スマホ縦サイズ*/
#togo article h1 {
	font-size: 20px;
}

#togo .articleBody {
	text-align: left;
	max-width: 500px;
	display: flex;
	justify-content: space-between;
	font-family: var(--tfg-gothic);
}

#togo .articleBody a {
	text-decoration: underline;
}

#togo .articleBody a:hover {
	font-weight: 600;
}

#togo div.menu_item {
	display: block;
	width: calc(50% - 14px);
	border: solid 2px white;
	padding: 5px;
	background: #e8e6e2;
}

#togo div.menu_content {
	width: auto;
	padding: 5px;
}

#togo div.menu_img_box {
	margin: 0 auto 10px;
	background: black;
}

/*SOLD OUT 時に img opacity調整で暗くするための背景*/
#togo img.menu_img {
	margin: 0;
	width: 100%;
}

#togo div.box-tag {
	position: relative;
	display: inline-flex;
	float: left;
	top: -2.5em;
	margin: 0 0 -2em;
}

#togo div.few {
	position: relative;
	margin-right: 3px;
	display: block;
	font-size: .6em;
	font-weight: 600;
	background: orange;
	color: white;
	text-align: center;
	width: 70px;
}

#togo div.soldout {
	position: relative;
	margin-right: 3px;
	display: block;
	width: 70px;
	font-weight: 600;
	background: #ee0000;
	color: white;
	text-align: center;
	font-size: .6em;
}

#togo div.schedule {
	position: relative;
	margin-right: 3px;
	display: block;
	width: 80px;
	font-weight: 600;
	background: #ee0000;
	color: white;
	text-align: center;
	font-size: .6em;
}

#togo #modal-wine div.soldout {
	font-size: .75em;
	font-weight: 600;
	background: #ee0000;
	color: white;
	text-align: center;
	width: 90px;
	position: relative;
	top: -50px;
	margin-bottom: -22px;
	display: block;
}

@media screen and (max-width:559px) {

	#togo div.few,
	#togo div.soldout,
	#togo div.schedule {
		width: 60px;
		letter-spacing: 0;
	}

	#togo #modal-wine div.soldout {
		top: -40px;
		width: 70px;
		font-size: .7em;
	}
}

#togo .menu_name span {
	display: inline-block;
}

#togo .items {
	font-size: .8em;
	letter-spacing: -1.5px;
}

#togo .menu_alg {
	display: block;
	margin-bottom: 2px;
	font-size: .7em;
	line-height: 1.5em;
}

#togo .menu_memo {
	display: block;
	margin: 0;
	font-size: .7em;
	line-height: 1.5em;
}

#togo .icon-anytime {
	display: inline-block;
	margin: 0 2px 2px 0;
	padding: 1px 2px 0 2px;
	width: fit-content;
	background: #d9402d;
	border: solid 1px #e8e6e2;
	font-size: 9px;
	text-align: center;
	color: white;
}

#togo .icon-icepack {
	display: inline-block;
	margin: 0 2px 2px 0;
	padding: 1px 2px 0 2px;
	width: fit-content;
	background: #5F8DDD;
	border: solid 1px #e8e6e2;
	font-size: 9px;
	text-align: center;
	color: white;
}

#togo .icon-notice {
	display: inline-block;
	margin: 0 2px 2px 0;
	padding: 1px 2px 0 2px;
	width: fit-content;
	background: #DD5F63;
	border: solid 1px #e8e6e2;
	font-size: 9px;
	text-align: center;
	color: white;
}

#togo .menu_price {
	display: block;
	float: right;
}

#togo .stock_num {
	display: block;
	float: left;
	margin: 4px 0 5px;
	padding: 0 4px;
	width: 52px;
	background: #a2a19e;
	text-align: center;
	font-size: .7em;
	letter-spacing: 0.09em;
	color: white;
}

#togo .list_price {
	font-size: .8em;
	text-decoration: line-through;
	float: right;
	color: gray;
}

#togo .articleBody>ul>li {
	list-style-type: none !important;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

#togo .articleBody>ul>li:before {
	content: "● ";
	margin-left: -1.5em;
}

#togo .articleBody>ul>li>ul>li {
	list-style-type: none !important;
	margin-left: 1.5em;
}

#togo .articleBody>ul>li>ul>li:before {
	content: "・ ";
	margin-left: -1.5em;
}

#togo .articleBody ul.clearfix>li {
	display: inline-block;
	width: 5em;
}

#togo .buytogo a {
	display: block;
	padding: 5px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	width: 200px;
	border: 3px double #595755;
	background-color: #f9f7f5;
	font-weight: bold;
}

#togo .buytogo a:hover {
	transform: scale(1.05);
}

#togo .buytogo a:active {
	color: #222222;
	background-color: #e8e6e2;
}

#togo #fujiya_pasta {
	margin-top: -200px !important;
	padding-top: 200px !important;
}

@media screen and (max-width:559px) {
	#togo #fujiya_pasta {
		margin-top: -160px !important;
		padding-top: 160px !important;
	}
}

#togo .wine_description {
	margin: 0;
	padding: 10px;
	line-height: 115%;
}

#togo .wine_name {
	display: block;
	margin: 10px 0;
}

#togo .wine_name span {
	display: inline-block;
}

#togo .wine_comment {
	display: block;
	margin: 15px 5px;
	font-size: .7em;
	line-height: 1.5em;
}

#togo .wine_data {
	display: block;
	font-size: .7em;
	line-height: 1.5em;
}

#togo .wine_price {
	margin: -5px 5px 10px 0;
	padding-bottom: 10px;
	text-align: right;
}

#togo .whisky_description {
	margin: 0;
	padding: 10px;
	line-height: 115%;
}

#togo .whisky_name {
	display: block;
	margin: 10px 0;
}

#togo .whisky_name span {
	display: inline-block;
}

#togo .whisky_comment {
	display: block;
	margin: 15px 5px;
	font-size: .7em;
	line-height: 1.5em;
}

#togo .whisky_data {
	display: block;
	font-size: .7em;
	line-height: 1.5em;
}

#togo .whisky_price {
	margin: -5px 5px 10px 0;
	padding-bottom: 10px;
	text-align: right;
}

#togo .img-gin-3img {
	margin: -2em 0 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

#togo .img-gin-3img .menu_img {
	margin: 0;
	padding: 0;
	width: calc(33% - .5em);
	height: min(calc((500px - 80px - .5em) / 3 / 3 * 2), calc((90vw - 80px - .5em) / 3 / 3 * 2));
}

#togo .gin_description {
	margin: 0;
	padding: 10px;
	line-height: 115%;
}

#togo .gin_name {
	display: block;
	margin: 10px 0;
}

#togo .gin_name span {
	display: inline-block;
}

#togo .gin_comment {
	display: block;
	margin: 15px 5px;
	font-size: .7em;
	line-height: 1.5em;
}

#togo .gin_data {
	display: block;
	font-size: .7em;
	line-height: 1.5em;
}

#togo .gin_price {
	margin: -5px 5px 10px 0;
	padding-bottom: 10px;
	text-align: right;
}

/*togo 商品詳細内の「こちらも おすすめ」----------*/
#togo .articleBody .recomm-box {
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#togo .articleBody .recomm-title {
	margin: 2em 0;
	display: block;
	width: 100%;
	line-height: 0;
	text-align: center;
	color: #444444;
}

#togo .articleBody a.recomm-link {
	display: block;
	height: fit-content;
	width: 50%;
	text-align: center;
	text-decoration: none;
}

#togo .articleBody .recomm-item-img {
	margin: 0 auto !important;
	width: 90%;
	border: 1px solid #e8e6e2;
}

#togo .articleBody .recomm-item-name {
	margin: 1em 0;
	line-height: 1;
	font-size: min(1em, 3vw);
	white-space: nowrap;
	font-family: var(--tfg-mincho);
	color: #444444;
}

#togo .articleBody .recomm-item-name span {
	display: inline-box;
}

@media screen and (max-width:559px) {
	#togo .articleBody .recomm-box {
		margin-bottom: 40px;
	}
}

/*bento----------*/
#bento #keyVisual {
	background: url("../bento/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#bento #keyVisual {
		background: url("../bento/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}

	#bento .section {
		padding-top: 30px;
	}
}

/* かき氷｜kakigori---------- */
#kakigori #keyVisual {
	background: url("../kakigori/img/keyVisual_pc.jpg?20240810") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#kakigori #keyVisual {
		background: url("../kakigori/img/keyVisual_sp.jpg?2024") no-repeat 50% 50%;
		background-size: cover;
	}

	#kakigori .section {
		padding-top: 30px;
	}
}

/* 兼用（七五三・顔合わせ・お食い初め）---------- */
/* お部屋（兼用（七五三・顔合わせ・お食い初め）） */
.private-article a {
	text-decoration: underline;
	transition: all .4s ease;
}

.private-article a:hover {
	opacity: .4;
}

.private-article .two-column-box {
	margin: 0 auto;
	max-width: 850px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.private-article .two-column-box .col {
	width: calc(50% - 5px);
}

.private-article .two-column-box .col img {
	width: 100%;
	transform: scale(0.95);
	transition: all .4s ease;
}

.private-article .two-column-box .col:hover img {
	transform: scale(1);
}

.private-article .half-width-colmn {
	margin: 0 auto;
	width: calc(50% - 5px);
}

.private-article .half-width-colmn li {
	margin-bottom: 40px;
}

@media screen and (max-width: 559px) {
	.private-article .two-column-box .col {
		width: 100%;
		max-width: 100%;
	}

	.private-article .half-width-colmn {
		width: 100%;
	}
}

/* 七五三｜shichigosan---------- */
#shichigosan #keyVisual {
	background: url("../shichigosan/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#shichigosan #keyVisual {
		background: url("../shichigosan/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}

	#shichigosan .section {
		padding-top: 30px;
	}

	#shichigosan .section h1 {
		height: 2em;
	}
}

/* 成人式｜seijin---------- */

#seijin #keyVisual {
	background: url("../seijin/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#seijin #keyVisual {
		background: url("../seijin/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}

	#seijin .section {
		padding-top: 30px;
	}

	#seijin .section h1 {
		height: 2em;
	}
}

#seijin article h1 {
	font-size: 20px;
}

/*七宝背景 ---------- 成人式*/
#seijin .bg-pattern {
	margin: 3em auto;
	padding: 2em;
	max-width: 800px;
}

#seijin .bg-pattern {
	background-image: radial-gradient(closest-side, transparent 99.9%, rgba(236, 236, 236, 0.8) 100%), radial-gradient(closest-side, transparent 99.9%, rgba(236, 236, 236, 0.8) 100%);
	background-color: rgba(250, 250, 250, 1);
	background-position: 0 0, 30px 30px;
	background-size: 60px 60px;
}

/*透過背景 ---------- 成人式*/
#seijin .private-article {
	margin: 0;
	padding: 3em 1em;
	background-color: rgba(255, 255, 255, 0.4);
}

/*プラン ---------- 成人式*/
#seijin .bg-pattern .plan-img {
	margin: 0 auto;
	max-width: 700px;
}

#seijin .bg-pattern .plan-img p img {
	object-fit: cover;
	width: 100%;
}

#seijin .bg-pattern h3.plan-title {
	font-size: 20px;
	font-weight: 600;
	color: #817863;
}

#seijin .bg-pattern ul.contents {
	margin: 20px 0;
	align-items: left;
}

#seijin .bg-pattern ul.contents li {
	margin: 0 0 0 5px;
	padding: 0px 5px;
	display: inline-block;
	background-color: #817863;
	color: white;
	text-align: center;
	font-size: .8em;
	font-family: var(--tfg-gothic);
}

#seijin .bg-pattern ul.contents li.red {
	background-color: #a30a0a;
}

#seijin .bg-pattern .plan-text {
	padding: 10px 0;
	max-width: 700px;
}

#seijin .bg-pattern #plan-1 dl {
	padding: 10px 0;
}

#seijin .bg-pattern #okurijyo {
	margin: -1em auto 1em;
	padding: 10px;
	font-size: .9em;
	color: #817863;
}

#seijin .bg-pattern #okurijyo summary {
	font-weight: 600;
}

/* 個室モジュールのタイトルとテキストを隠す ---------- 成人式*/
*/ #seijin .dd-rooms h1,
#seijin .dd-rooms .articleBody {
	display: none;
}

/*詳細 ---------- 成人式*/
#seijin .bg-pattern #common-info {
	padding: 10px 0;
	background: rgba(255, 255, 255, 0.4);
}

#seijin .articleBody ul li {
	margin: 0 0 0 2em;
	list-style-type: disc;
	list-style-position: inside;
}

#seijin .bg-pattern dl dt {
	margin: 10px 0;
	font-size: 22px;
	font-weight: 600;
	color: #817863;
}

#seijin .bg-pattern dl dt img {
	margin: 0 5px -5px 0;
	display: inline;
	vertical-align: 0;
}

#seijin .bg-pattern dl dd {
	margin: 0 1em 2em;
}


/* 顔合わせ｜kaoawase---------- */
#kaoawase #keyVisual {
	background: url("../kaoawase/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#kaoawase #keyVisual {
		background: url("../kaoawase/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}

	#kaoawase .section {
		padding-top: 30px;
	}

	#kaoawase .section h1 {
		height: 2em;
	}
}

#kaoawase article h1 {
	font-size: 20px;
}

#kaoawase .articleBody {
	text-align: left;
	max-width: 500px;
	font-family: var(--tfg-gothic);
}

#kaoawase .articleBody>ul>li {
	list-style-type: none !important;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

#kaoawase .articleBody>ul>li:before {
	content: "● ";
	margin-left: -1.5em;
}

#kaoawase .articleBody>ul>li>ul>li {
	list-style-type: none !important;
	margin-left: 1.5em;
}

#kaoawase .articleBody>ul>li>ul>li:before {
	content: "・ ";
	margin-left: -1.5em;
}

#kaoawase .articleBody ul.clearfix>li {
	display: inline-block;
	width: 5em;
}

/* お食い初め｜okuizme---------- */


/*propose----------*/
#propose #keyVisual {
	background: url("../propose/img/keyVisual_pc.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width:559px) {
	#propose #keyVisual {
		background: url("../propose/img/keyVisual_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}

	#propose .section {
		padding-top: 30px;
	}

	#propose .section h1 {
		height: 2em;
	}
}

#propose article h1 {
	font-size: 20px;
}

#propose .articleBody {
	text-align: left;
	max-width: 500px;
	font-family: var(--tfg-gothic);
}

#propose .articleBody>ul>li {
	list-style-type: none !important;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

#propose .articleBody>ul>li:before {
	content: "● ";
	margin-left: -1.5em;
}

#propose .articleBody>ul>li>ul>li {
	list-style-type: none !important;
	margin-left: 1.5em;
}

#propose .articleBody>ul>li>ul>li:before {
	content: "・ ";
	margin-left: -1.5em;
}

#propose .articleBody ul.clearfix>li {
	display: inline-block;
	width: 5em;
}

/*privacypolicy----------*/
#privacypolicy #keyVisual {
	display: none;
}

#privacypolicy #main article>h1 span {
	width: 20em !important;
	margin-left: -10em;
}

#privacypolicy .articleBody {
	text-align: left;
}

#privacypolicy .articleBody ol {
	margin-bottom: 2em;
}

#privacypolicy .articleBody ol li {
	list-style-type: decimal;
	margin-left: 2em;
}

/*sitemap----------*/
#sitemap #keyVisual {
	display: none;
}

#sitemap .articleBody {
	text-align: left;
	font-size: 19px;
	width: 21em;
	margin: 0 auto;
	box-sizing: border-box;
}

#sitemap .articleBody ul {
	margin-bottom: 3em;
	padding-left: 55px;
}

#sitemap .articleBody ul li {
	margin-bottom: 1.5em;
	padding-left: 1.5em;
	background: none
		/*url("../img/monB.png")*/
		no-repeat 0 .4em;
	background-size: 1.3em;
}

#sitemap .articleBody ul li ul {
	margin-bottom: 0;
}

#sitemap .articleBody ul li ul li {
	list-style-type: disc;
	margin: 0;
	padding: 0;
	background: none;
}

@media screen and (max-width:559px) {
	#sitemap .articleBody ul {
		padding-left: 0;
	}
}


/*faq----------*/
#faq #keyVisual {
	display: none;
}

#faq .articleBody {
	text-align: left;
}

#faq .articleBody dl {
	border-bottom: 1px solid #d3cbc5;
}

#faq .articleBody dl.anchor {
	display: block;
	padding-top: 110px;
	margin-top: -110px;
}

#faq .articleBody dl:first-of-type {
	border-top: 1px solid #d3cbc5;
	padding-top: 0px;
	margin-top: 0px;
}

#faq .articleBody dl dt,
#faq .articleBody dl dd {
	padding: 20px 20px 20px 50px;
	background-repeat: no-repeat;
	background-size: 23px;
}

#faq .articleBody dl dd {
	color: #7a6a56;
	font-family: var(--tfg-gothic);
}

#faq .articleBody dl dt {
	cursor: pointer;
	background-image: url("../faq/img/q.png");
	background-position: 20px 23px;
}

#faq .articleBody dl dd {
	padding-top: 0;
	background-image: url("../faq/img/a.png");
	background-position: 20px 3px;
}

#faq .articleBody dl dt span {
	float: right;
	width: 20px;
	height: 20px;
	position: relative;
}

#faq .articleBody dl dt span:before,
#faq .articleBody dl dt span:after {
	content: "";
}

#faq .articleBody dl dt span:before {
	position: absolute;
	width: 20px;
	height: 2px;
	top: 14px;
	left: 0;
	background: #000;
}

#faq .articleBody dl dt span:after {
	position: absolute;
	width: 2px;
	height: 20px;
	top: 5px;
	left: 9px;
	background: #000;
}

#faq .articleBody dl dt.active span:after {
	transform: rotate(90deg);
}

@media screen and (max-width:559px) {
	#faq .articleBody dl.anchor {
		display: block;
		padding-top: 75px;
		margin-top: -75px;
	}

	#faq .articleBody dl:first-of-type {
		border-top: 1px solid #d3cbc5;
		padding-top: 0px;
		margin-top: 0px;
	}

	#faq .articleBody dl dt {
		padding: 20px 10px 20px 40px;
		cursor: pointer;
	}

	#faq .articleBody dl dt {
		background-position: 10px 23px;
	}

	#faq .articleBody dl dd {
		background-position: 10px 3px;
	}
}


/*NEWS お知らせ（View More もっと見る）----------*/

/*keyVisual*/
#news #keyVisual {
	display: none;
}

#news #main .articleBody a {
	max-width: 100%;
	text-decoration: underline;
	overflow-wrap: anywhere;
}

#news #main .articleBody a:hover {
	font-weight: bold;
}

#news #main .articleBody img {
	margin: 10px 0;
}

/* お知らせ */
#news #homeInformation {
	padding-top: 60px;
}

#homeInformation {
	background: #e8e6e2 !important;
}

#homeInformation nav {
	text-align: right;
}

#homeInformation nav a {
	text-decoration: underline;
}

#homeInformation nav a:hover {
	text-decoration: none;
}

#homeInformation .clearfix:after {
	content: none;
}

#homeInformationBox {
	background: var(--color-light-beige)
		/*8e6e2*/
	;
}

#homeInformation .inner {
	max-width: 840px;
	width: 80%;
	padding: 30px 0;
}

#homeInformation .inner>h1 {
	position: relative;
	display: block;
	margin: 0 auto;
	max-width: 900px;
	height: 4em;
	text-align: center;
}

#homeInformation .inner>h1::before {
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: #999;
}

#homeInformation .inner>h1 span {
	position: absolute;
	width: 20em;
	left: 50%;
	right: 50%;
	margin-left: -10em;
	background: var(--color-light-beige);
	font-size: 21px;
	line-height: 1.5;
}

#homeInformation .inner>h1 em {
	display: block;
	font-size: 16px !important;
	line-height: 1.8;
	text-align: center;
	font-weight: normal;
}

@media screen and (max-width:768px) {
	#homeInformationBox .inner {
		width: calc(100% - 10px * 2);
	}
}

@media screen and (max-width:559px) {
	#homeInformation {
		padding-top: 60px;
	}
}


/*記事一覧*/
#news .flex-articles {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1em 1em;
}

@media screen and (max-width:559px) {
	#news .flex-articles {
		gap: 10px 10px;
	}
}

/*記事*/
#news .flex-articles .article {
	margin: 0 0;
	width: calc(100% / 3 - 1em);
	background-color: white;
}

#news .flex-articles .article a:hover {
	filter: alpha(style=0, opacity=80);
	opacity: 0.8;
}

@media screen and (max-width: 768px) {
	#news .flex-articles .article {
		width: calc(100% / 3 - 1em);
	}
}

@media screen and (max-width:768px) {
	#news .flex-articles .articleBody h1 {
		font-size: 15px;
		letter-spacing: 0;
	}
}

@media screen and (max-width:559px) {
	#news .flex-articles .article {
		width: calc(100% / 2 - 5px);
	}
}

@media screen and (max-width:280px) {
	#news .flex-articles .article {
		width: 100%;
	}
}

/* 記事｜上段 プレイスホルダー */
#news .flex-articles .placeholder {
	background-color: #cfcfcf;
	width: 100%;
	aspect-ratio: 1;
	position: relative;
}

#news .flex-articles .placeholder::after {
	position: absolute;
	bottom: 0;
	right: 0.5em;
	content: "Loading...";
	color: black;
	z-index: 0;
}

#news .flex-articles .article a:hover .placeholder::after {
	opacity: 0;
	/* 透け防止 */
}

/* 記事｜上段 サムネイル */
#news .flex-articles .article img {
	display: block;
	position: absolute;
	/* z-index を効かせる abs*/
	width: 100%;
	z-index: 1;
}

/* 記事｜下段 テキスト部分 */
#news .flex-articles .articleBody {
	position: relative;
	padding: 5%;
	text-align: left;
}

/* 記事｜タイトル */
#news .flex-articles .articleBody h1 {
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 10px;
	height: 3.4em;
	overflow: hidden;
}

@media screen and (max-width:768px) {
	#news .flex-articles .articleBody h1 {
		font-size: 15px;
		letter-spacing: 0;
	}
}

@media screen and (max-width:559px) {
	#news .flex-articles .articleBody h1 {
		font-size: 13px;
	}
}

@media screen and (max-width:280px) {
	#news .flex-articles .articleBody h1 {
		font-size: 18px;
		letter-spacing: 1px;
	}
}

/* ラッパー（カテゴリー ＆ ステイタス） */
#news .flex-articles .articleBottomWrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 5px;
}

/* 状況（ステイタス）*/
#news .flex-articles .itemStatus {
	position: relative;
	margin: 0 0 0 auto;
	display: block;
	padding: 0px 5px;
	border-radius: 5px;
	background-color: #666;
	color: white;
	font-family: YakuHanJP, "dnp-shuei-gothic-gin-std", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Meiryo UI", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Droid Sans", sans-serif;
	line-height: inherit;
	font-size: 12px;
	letter-spacing: 0;
}

/*#news .flex-articles .statusColor {JS側でスタイル付与}*/
@media screen and (max-width: 768px) {
	#news .flex-articles .itemStatus {
		margin: 0 0 0 auto;
		position: relative;
		display: block;
		width: fit-content;
		max-width: 100%;
		font-size: 13px;
		line-height: inherit;
	}
}

@media screen and (max-width: 559px) {
	#news .flex-articles .itemStatus {
		font-size: 12px;
		line-height: 20px;
	}
}

/*赤丸アイコン*/
#news .flex-articles .article a {
	display: block;
	background: #fff url("../img/arwRed.png") no-repeat 95% 97%;
	background-size: 25px;
	cursor: pointer;
}

#news .flex-articles .article a {
	background: #fff;
}

/*アイコン無し*/
@media screen and (max-width:768px) {
	#news .flex-articles .article a {
		background-size: 22px;
	}
}

@media screen and (max-width:559px) {
	#news .flex-articles .article a {
		background-size: 18px;
	}
}

@media screen and (max-width:280px) {
	#news .flex-articles .article a {
		background-size: 22px;
	}
}

/*カテゴリ*/
#news .flex-articles .articleBody .postCat {
	display: block;
	font-size: 15px;
	line-height: 1.3;
	color: #5B5B5B;
	letter-spacing: 0;
}

@media screen and (max-width:768px) {
	#news .flex-articles .articleBody .postCat {
		letter-spacing: 0;
	}
}

@media screen and (max-width:559px) {
	#news .flex-articles .articleBody .postCat {
		font-size: 12px;
	}
}

@media screen and (max-width:280px) {
	#news .flex-articles .articleBody .postCat {
		font-size: 16px;
		letter-spacing: 1px;
	}
}

/*index*/
.blog_back_btn a {
	border: 1px solid #999;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	line-height: 100%;
	width: 330px;
	height: 40px;
	margin: 60px auto 30px;
}

.blog_nav {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 30px 0
}

.blog_navL {
	height: 70px;
	width: 50%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}

.blog_navR {
	height: 70px;
	width: 50%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	border-left: 1px solid #ccc;
}

@media screen and (max-width:559px) {
	.blog_back_btn {
		width: 100%;
		margin: 60px auto 20px;
	}

	.blog_nav {
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		padding: 10px 0
	}
}

/* post */
#news .post h2 {
	margin-bottom: 30px;
}

#news .post .articleBody {
	text-align: left;
	max-width: 600px;
	font-family: var(--tfg-gothic);
}

#news .post .articleBody a.blog_hashtag {
	text-align: center;
	text-decoration: none !important;
	padding: 3px 5px;
	margin: 0 2px;
	width: 100%;
	color: #000;
	background: #e8e6e2;
	border-radius: 25px;
	display: inline;
	cursor: pointer;
}

#news .post .articleBody a.blog_hashtag:hover {
	background-color: #868481;
	font-weight: normal;
	color: white;
}

@media screen and (max-width: 767px){
	#news .post h2 {
		margin: 0 auto 1em;
		width: 90%;
		letter-spacing: 0;
	}
}

/*others*/
span.icon-new {
	margin-left: 3px;
	display: inline-block;
	font-size: .7em;
	font-weight: 600;
	vertical-align: super;
	color: #ee0000;
}



#home-info {
	margin: 40px auto 80px;
	/*width:880px;*/
	padding: 0;
	position: relative;
	/*border-top:1px solid #999;*/
}

/*#home-info h2 { font-size:22px; background:#fff; width:19.5em; margin:-0.5em auto 16px; text-align:center; font-weight:bold; line-height:100%; font-weight: normal;}*/
#home-info div {
	margin: 0 auto 80px;
	width: 900px;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

.home-info div {
	text-align: left;
	margin: 0 auto !important;
	width: 30% !important;
	display: block !important;
}

.home-info div h2 {
	margin: 12px 0 12px 0 !important;
	padding: 0 !important;
	text-align: left !important;
	background: none !important;
	width: 100% !important;
	font-weight: bold !important;
	line-height: 140% !important;
}

.home-info div h2 a {
	text-decoration: underline;
	font-size: 18px;
	text-decoration: none;
}

.home-info div h2 a center {
	text-align: left;
}

.home-info div h3 {
	background: #c30d23;
	color: #fff;
	font-size: 75%;
	text-align: center;
	padding: 1px 20px;
	line-height: 100%;
	width: auto;
	display: inline;
	box-sizing: border-box;
	margin: 0;
}

.home-info div p {
	margin: 0;
	padding: 0;
	line-height: 180%;
	font-size: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	text-align: left !important;
	font-family: 'Spinnaker', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.home-info div h2 br {
	display: none;
}

.home-info div h3 br {
	display: none;
}

.home-info div p br {
	display: none;
}

.home-info div:nth-of-type(1) {
	width: 260px;
	margin: 20px 0 0 0;
	padding: 0;
	/*float:left;*/
	text-align: left;
}

.home-info div:nth-of-type(2) {
	width: 260px;
	margin: 20px 0 0 0px;
	padding: 0;
	/*float:left;*/
	text-align: left;
}

.home-info div:nth-of-type(3) {
	width: 260px;
	margin: 20px 0 0 0;
	padding: 0;
	/*float:right;*/
	text-align: left;
}

@media screen and (max-width:767px) {
	#home-info {
		margin: 30px auto 60px !important;
	}

	#home-info div {
		text-align: left;
		margin: 0 auto 30px;
		width: 90%;
	}

	.home-info div {
		text-align: left;
		margin: 0 auto 30px !important;
		width: 100% !important;
		display: block !important;
	}

	/*.home-info div h2 { margin:8px 0 8px 0!important; line-height:160%!important;}
	.home-info div h3 { font-size:100%; padding:3px 20px;}
	.home-info div p { line-height:180%; font-size:120%;}*/
	.home-info div:nth-of-type(1) {
		width: 100%;
		margin: 20px 0 0 0;
		float: none;
	}

	.home-info div:nth-of-type(2) {
		width: 100%;
		margin: 30px 0 0 0;
		float: none;
	}

	.home-info div:nth-of-type(3) {
		width: 100%;
		margin: 30px 0 0 0;
		float: none;
	}
}


.ul_flex {
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 559px) {
	.ul_flex {
		display: block;
	}
}


.column04 {
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin: 0 0 64px 0;
}

.column04 div {
	width: 23%;
}

.column04 div img {
	width: 100%;
	height: auto;
	margin: 0 0 16px 0;
	text-align: center;
}

.column03 {
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin: 0 0 64px 0;
}

.column03 div {
	width: 31%;
}

.column03 div img {
	width: 100%;
	height: auto;
	margin: 0 0 16px 0;
	text-align: center;
}

.column02 {
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin: 0 0 64px 0;
}

.column02 div {
	width: 48%;
}

.column02 div img {
	width: 100%;
	height: auto;
	margin: 0 0 16px 0;
	text-align: center;
}

@media screen and (max-width:767px) {
	.column04 {
		margin: 0 0 32px 0;
	}

	.column04 div {
		width: 48%;
	}

	.column03 {
		margin: 0 0 32px 0;
	}

	.column03 div {
		width: 48%;
	}

	.column02 {
		margin: 0 0 32px 0;
	}

	.column02 div {
		width: 48%;
	}
}
