@charset "utf-8";
/* CSS Document */

/****************************************************
                                        共 通 項 目
****************************************************/
body { color:#333; background-color: #FEFEFE; overflow-x: hidden;}

a, a:visited { color: #333; }
a:hover { text-decoration:underline; }

hr { border: none; border-bottom: dashed 1px #EEE;}

h3 { font-size: 1.4rem; font-weight: 700; background-color: #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;}

/********************************
                  ヘ ッ ダ ー
********************************/
.header { padding: 0; background-color: #EEE; margin-top: 80px;}
.header h1 { font-size: 2.0rem; font-weight: 700; font-family: 'Raleway', 'Roboto', 'Noto Sans JP', "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif; line-height: 5.0rem; margin: 0; padding: 0; }
.header h1 span { font-weight: 500; font-size: 1.0rem; vertical-align: middle; display: inline-block; margin-left: 0.5rem;}


/********************************
                   コ ン テ ン ツ
********************************/
.box { padding-top:3.0rem; padding-bottom: 3.0rem; }

h2 { font-size: 1.8rem; font-weight: 700; line-height: 2.4rem; border-bottom: solid 1px #999; padding: 1.5rem 0; }
h2 span { font-size: 1.0rem; display: inline-block; margin-bottom: -0.25rem;}
h2.logo { position: relative; padding-left: 5.0rem;}
h2.logo::after { height: 4.5rem; width: 4.5rem; position: absolute; top: 50%; transform: translateY(-45%); left: 0; content: ""; display: block; background: url("../img/65th.svg") center/contain no-repeat;}

p { font-size: 1.0rem; font-weight: 400; line-height: 1.8rem; margin: 0; padding: 0; word-break: normal; line-break:strict; margin-bottom: 1.0rem; }
p span { font-weight: 700;}
p a, p a:visited { color: #09F!important; text-decoration: underline;}

p.date { font-size: 1.4rem;  font-weight: 700; line-height: 1.8rem; border-bottom: solid 1px #999; padding: 0.8rem 0; display: flex; align-items: center; flex-wrap: wrap;}
p.date span { font-size: 1.2rem;}
p.date span.genre { padding: 0.2rem 0.5rem; color: #FEFEFE; background-color: #333; font-size: 0.8rem; line-height: 1.4; border-radius: 1.2rem; font-weight: 400; background-color: #FF0000;}

div.place-fee { display: flex; flex-wrap: wrap; border-bottom: solid 1px #999; margin-bottom: 1.0rem}
p.place { font-size: 1.4rem;  font-weight: 700; }
p.place span { font-size: 1.0rem;}
p.fee span { font-size: 1.2rem; font-weight: 700; color: #FEFEFE; background-color: #E60012; display: inline-block; padding: 0 1.0rem; border-radius: 0.9rem;}
p.place span.genre { padding: 0.2rem 0.5rem; color: #FEFEFE; background-color: #333; font-size: 0.8rem; line-height: 2.0rem; border-radius: 1.2rem; font-weight: 400;}

p.intro { font-style: italic; font-weight: 700; margin-bottom: 1.0rem;}

p.prof { background-color: #EEE; padding: 1.0rem;}
p.prof span { font-size: 1.2rem;}

.caution { list-style-type: circle; padding-left: 1.25rem; margin-bottom: 2.0rem;}
.caution > span { margin-left: -1.25rem;}
.caution span { font-size: 1.0rem; font-weight: 700; margin-bottom: 0.25rem;}
.caution li { font-size: 0.9rem; line-height: 1.4rem;}

.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;}
