@charset "UTF-8";
/* CSS Document */
/**************************************************** 
									共 通 項 目
****************************************************/
/*
a { color: #333;
	&:visited { color: #333; }
	&:hover { text-decoration: underline; }
}
*/
hr { border: none; border-bottom: dashed 1px #EEE; }

.button { background-color: orange; text-align: center; position: relative; transition: .4s; color: #FEFEFE; line-height: 2; font-size: 1.2em; border: solid 2px orange; }
.button a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; text-indent: -9999px; }
.button:hover { background-color: transparent; color: orange; }

a:hover { text-decoration: underline; }

.sns-icons img { width: 100% !important; max-width: 80px !important; height: auto !important; }

/*
.person, .x, .fb, .yt { position: relative; padding-left: 3.8rem;}
.person a, .x a, .fb a, .yt a { word-break: break-all;}
.person::before, .x::before, .fb::before, .yt::before { position: absolute; top: 50%; left: 0; content: ""; display: block; transform: translateY(-50%); width: 2em; height: auto; aspect-ratio:1 / 1; background-size: contain; background-position: center; background-repeat: no-repeat;}
.person::before { background-image:url("../img/prof.svg");}
.x::before { background-image:url("../img/x.svg");}
.fb::before { background-image:url("../img/fb.svg");}
.yt::before { background-image:url("../img/yt.svg");}
*/
/******************************** 
					ヘ ッ ダ ー
********************************/
.header { padding: 0; background-color: #84734D; color: #FFFFFF; margin-top: -8rem; padding-top: 8rem; }
.header h2 { font-size: 2.0em; font-weight: 700; }
.header h2 span { font-weight: 400; font-size: 0.5em; vertical-align: middle; display: inline-block; }

/******************************** 
				コ ン テ ン ツ
********************************/
h3 { font-size: 1.6rem; font-size: clamp(1.6rem, calc(1.6rem + ((1vw - 0.48rem) * 2.5316)), 2.6rem); font-weight: 700; border-bottom: solid 1px #999; }
h3 span { font-size: 0.7em; display: inline-block; }
h3.logo { position: relative; padding-left: 2.8em; }
h3.logo::after { height: 2.5em; width: 2.5em; position: absolute; top: 50%; transform: translateY(-45%); left: 0; content: ""; display: block; background: url("../img/65th.svg") center/contain no-repeat; }

p { font-size: initial; /*
a { color: #09F !important; text-decoration: underline;
	&:visited { color: #09F !important; text-decoration: underline; }
}
*/ }
p span { font-weight: 700; }
p.date { font-size: 1.4em; font-weight: 700; border-bottom: solid 1px #999; display: flex; align-items: center; flex-wrap: wrap; }
p.date span { font-size: 0.8em; }
p.date span.genre { color: #FEFEFE; font-size: 0.7em; line-height: 1; border-radius: 0.8em; font-weight: 400; background-color: #FF0000; }

div.place-fee { display: flex; flex-wrap: wrap; border-bottom: solid 1px #999; }

.place { font-size: initial; }
.place span { font-size: initial; font-weight: 400; }
.place p a { color: #333; }
.place p a:hover { text-decoration: underline; }

p.intro { font-style: italic; font-weight: 700; }

.prof { border: solid 1px #CCC; background-color: #F2F2F2; font-size: 0.9em; }
.prof span { font-size: initial; }

.caution { padding-left: 1.25em; font-size: initial; }
.caution li { margin-left: -1.25em; font-size: initial; list-style-type: none; }
.caution span { font-size: initial; font-weight: 700; }
.caution li:nth-child(n+2) { font-size: 0.9em; margin-left: 0; list-style-type: circle; }

.reservation { background-color: #333; padding: 2.0rem; text-align: center; color: #FEFEFE; }
.reservation h3 { font-size: 1.4rem; font-weight: 500; }
.reservation .btn { position: relative; border: solid 1px #FEFEFE; width: 100%; padding: 0.5rem; font-size: 1.2rem; font-weight: 500; transition: 0.4s; }
.reservation .btn a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; text-indent: -9999px; }
.reservation .btn:hover { background-color: #6B0B09; }
.reservation p { font-size: 0.8rem; text-align: left; font-weight: 400; }
@media (min-width: 992px) { .reservation p { text-align: center; } }

.list { padding: 1.0rem; background-color: #EEE; margin-bottom: 2.0rem; }
.list ul { list-style-type: circle; }
.list ul li { margin-left: 1.0rem; font-size: 0.9rem; line-height: 1.4rem; }
.list .row { margin-top: 1.0rem; }
.list .row div { margin-bottom: 1.0rem; padding: 0.5rem; }
.list .row div span { width: 100%; border-bottom: dashed 1px #666; font-size: 2.0rem; font-weight: 700; display: block; text-align: center; }

.overview { font-size: 1.0rem; position: relative; padding-left: 1.0rem; }
.overview::before { position: absolute; top: 50%; left: 0; width: 0.25rem; height: 95%; transform: translateY(-50%); background-color: #000; content: ""; border-radius: 0.25rem; }
.overview li { font-size: 1.0rem; line-height: 1.4; }

h4 { font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
