@charset "UTF-8";
@media only screen and (max-width: 800px) { article.index section { padding-bottom: 0 !important; }
  article.index h2 { text-align: center; }
  article.index div.topbox { position: relative; width: 100%; overflow: hidden; }
  article.index div.topbox img.visual { width: 100%; }
  article.index div.topbox div.slidebox { display: none; }
  article.index div.topbox ul.topslide { justify-content: center; align-items: center; width: 102vw; margin: 1.5vw -2vw 0 0; overflow: hidden; }
  article.index div.topbox ul.topslide li { position: relative; width: 32vw; margin-right: 2vw; }
  article.index div.topbox ul.topslide li img { width: 100%; }
  article.index div.topbox ul.topslide li a span { text-decoration: none !important; }
  article.index div.topbox ul.topslide li span { display: block; position: absolute; width: 100%; color: #fff; top: 1vw; left: 1vw; font-size: 0.8rem; }
  article.index table.schedule { border-collapse: collapse; border: 1px #02235C solid; width: 96vw; margin-top: 2vw; font-size: 0.9rem; }
  article.index table.schedule tr { border-bottom: 1px #02235C solid; }
  article.index table.schedule th { border-right: 1px #02235C solid; background-color: #D8E6FF; color: #2C1184; font-weight: bold; box-sizing: border-box; width: 21vw; padding: 1vw; }
  article.index table.schedule td { border-left: 1px #02235C solid; box-sizing: border-box; width: 15vw; padding: 1vw; }
  article.index table.schedule td span { color: #2C1184; font-size: 0.9rem; }
  article.index div.calendarhead { margin-top: 3vw; }
  article.index div.calendarhead div.calheadleft { text-align: left; display: none; font-size: 1.2rem; }
  article.index div.calendarhead div.calheadleft a { margin-right: 0.6vw; }
  article.index div.calendarhead div.calheadcenter { text-align: center; width: 100%; font-size: 1.2rem; }
  article.index div.calendarhead div.calheadcenter strong { font-weight: normal; }
  article.index div.calendarhead div.calheadright { text-align: right; display: none; font-size: 1.2rem; }
  article.index div.calendarhead div.calheadright a { margin-left: 0.6vw; }
  article.index div.calendarhead a.noactive { pointer-events: none; opacity: 0.5; }
  article.index div.calendarbody { width: 90vw; margin: 3vw 0 0 3vw; }
  article.index div.calendarbody table.calendar { border-collapse: collapse; background-color: #fff; border: 1px #F2F2F2 solid; box-sizing: border-box; width: 90vw; font-size: 1rem; }
  article.index div.calendarbody table.calendar tbody { display: block; overflow: auto; height: 140vw; }
  article.index div.calendarbody table.calendar tr { display: flex; flex-wrap: nowrap; width: 100%; border-bottom: 1px #F2F2F2 solid; }
  article.index div.calendarbody table.calendar tr:last-child { border-bottom: none; }
  article.index div.calendarbody table.calendar th { display: flex; justify-content: center; align-items: center; font-weight: normal; box-sizing: border-box; border-right: 1px #F2F2F2 solid; color: #2C1184; width: 14vw; height: 20vw; padding: 1vw; font-size: 1.1rem; }
  article.index div.calendarbody table.calendar td { display: flex; flex-wrap: wrap; flex-direction: column; box-sizing: border-box; background-color: #D8E6FF; width: 76vw; height: 20vw; padding: 2vw 3vw; overflow: auto; }
  article.index div.calendarbody table.calendar td.closed { background-color: #fff; justify-content: center; }
  article.index div.infobox { width: 96vw; }
  article.index div.infobox div.infomation { overflow-y: scroll; box-sizing: border-box; border: 1px #F2F2F2 solid; width: 90vw; height: 60vw; margin: 0 0 5vw 3vw; }
  article.index div.infobox div.infomation a { text-decoration: underline; }
  article.index div.detailbox { width: 96vw; }
  article.index ul.detail { border-bottom: 1px #DADADA solid; padding: 1vw 0 0.5vw 0; font-size: 1.4rem; }
  article.index ul.detail li.title { font-weight: bold; width: 36vw; }
  article.index ul.detail li.text { width: 60vw; }
  article.index ul.noline { border-bottom: none; }
  article.index ul.caution { display: block; }
  article.index ul.caution li { display: list-item; padding-left: 1.4em; text-indent: -1.4em; margin-bottom: 0.5vw; font-size: 1.2rem; }
  article.index ul.caution li:before { content: "※"; }
  article.index ul.caution a { text-decoration: underline; }
  article.index div.twitterbox { background-color: #fff; overflow: auto; width: 90vw; height: 60vw; margin: 3vw 0 0 3vw; }
  article.index div.pamph { border-top: 1px #DADADA solid; margin-top: 3vw; padding-top: 3vw; }
  article.index div.pamph h3 { margin-bottom: 1vw; font-size: 1.6rem !important; }
  article.index div.pamph a { display: block; margin-bottom: 0.5vw; font-size: 1.4rem; }
  .prevarrow { position: absolute; width: 32px; height: 32px; top: 50%; left: -42px; margin-top: -16px; background: url(/images/controls.png) no-repeat 0 -32px; z-index: 100; cursor: pointer; }
  .nextarrow { position: absolute; width: 32px; height: 32px; top: 50%; right: -42px; margin-top: -16px; background: url(/images/controls.png) no-repeat -43px -32px; z-index: 100; cursor: pointer; }
  .prevarrow:hover { background-position: 0 0; }
  .nextarrow:hover { background-position: -43px 0; } }
@media only screen and (min-width: 801px) { article.index section { padding-bottom: 0 !important; }
  article.index h2 { text-align: center; }
  article.index div.topbox { position: relative; width: 100%; overflow: hidden; }
  article.index div.topbox img.visual { width: 100%; height: 600px; object-fit: cover; }
  article.index div.topbox div.slidebox { display: block; position: absolute; bottom: 0; width: 100%; height: 160px; background-color: #02235C; mix-blend-mode: multiply; z-index: 1; overflow: hidden; }
  article.index div.topbox ul.topslide { display: none; position: absolute; bottom: 10px; left: 50%; z-index: 2; width: 950px; margin-left: -475px; font-size: 0rem; }
  article.index div.topbox ul.topslide li { position: relative; width: 310px; margin-right: 10px; }
  article.index div.topbox ul.topslide li img { width: 100%; }
  article.index div.topbox ul.topslide li a span { text-decoration: none !important; }
  article.index div.topbox ul.topslide li span { display: block; position: absolute; width: 100%; color: #fff; top: 15px; left: 15px; font-size: 1.4rem; }
  article.index table.schedule { border-collapse: collapse; border: 1px #02235C solid; width: 100%; margin-top: 20px; font-size: 1.3rem; }
  article.index table.schedule tr { border-bottom: 1px #02235C solid; }
  article.index table.schedule th { border-right: 1px #02235C solid; background-color: #D8E6FF; color: #2C1184; font-weight: bold; box-sizing: border-box; width: 250px; padding: 10px; }
  article.index table.schedule td { border-left: 1px #02235C solid; box-sizing: border-box; width: 700px; padding: 10px; }
  article.index table.schedule td span { color: #2C1184; font-size: 1.1rem; }
  article.index div.calendarhead { display: flex; flex-wrap: nowrap; align-items: baseline; justify-content: space-between; margin-top: 40px; }
  article.index div.calendarhead div.calheadleft { text-align: left; font-size: 1.6rem; }
  article.index div.calendarhead div.calheadleft a { margin-right: 20px; }
  article.index div.calendarhead div.calheadcenter { text-align: center; font-size: 1.6rem; }
  article.index div.calendarhead div.calheadcenter strong { font-weight: normal; }
  article.index div.calendarhead div.calheadright { text-align: right; font-size: 1.6rem; }
  article.index div.calendarhead div.calheadright a { margin-left: 20px; }
  article.index div.calendarhead a.noactive { pointer-events: none; opacity: 0.5; }
  article.index div.calendarbody { width: 950px; margin-top: 30px; }
  article.index div.calendarbody table.calendar { border-collapse: collapse; background-color: #fff; border: 1px #F2F2F2 solid; box-sizing: border-box; width: 950px; margin: 0 auto; font-size: 1.3rem; }
  article.index div.calendarbody table.calendar tbody { display: block; overflow: hidden; height: 700px; }
  article.index div.calendarbody table.calendar tr { display: flex; flex-wrap: nowrap; width: 100%; border-bottom: 1px #F2F2F2 solid; }
  article.index div.calendarbody table.calendar tr:last-child { border-bottom: none; }
  article.index div.calendarbody table.calendar th { display: flex; justify-content: center; align-items: center; font-weight: normal; box-sizing: border-box; border-right: 1px #F2F2F2 solid; color: #2C1184; width: 100px; height: 100px; padding: 10px; font-size: 1.6rem; }
  article.index div.calendarbody table.calendar td { display: flex; flex-wrap: wrap; flex-direction: column; box-sizing: border-box; background-color: #D8E6FF; width: 850px; height: 100px; padding: 20px 30px; }
  article.index div.calendarbody table.calendar td.closed { background-color: #fff; justify-content: center; }
  article.index div.split { display: flex; flex-wrap: nowrap; justify-content: space-between; }
  article.index div.infobox { width: 950px; margin: 0 auto; }
  article.index div.infobox div.infomation { overflow-y: scroll; box-sizing: border-box; border: 1px #F2F2F2 solid; width: 950px; height: 400px; padding: 20px; }
  article.index div.infobox div.infomation a { text-decoration: underline; }
  article.index div.detailbox { width: 460px; }
  article.index ul.detail { border-bottom: 1px #DADADA solid; padding: 10px 0 5px 0; font-size: 1.8rem; }
  article.index ul.detail li.title { font-weight: bold; width: 165px; }
  article.index ul.detail li.text { width: 295px; }
  article.index ul.noline { border-bottom: none; }
  article.index ul.caution { display: block; }
  article.index ul.caution li { display: list-item; padding-left: 1.4em; text-indent: -1.4em; margin-bottom: 2px; font-size: 1.4rem; }
  article.index ul.caution li:before { content: "※"; }
  article.index ul.caution a { text-decoration: underline; }
  article.index div.twitterbox { background-color: #fff; overflow: auto; width: 460px; height: 620px; border-left: 1px #DADADA solid; border-bottom: 1px #DADADA solid; }
  article.index div.pamph { border-top: 1px #DADADA solid; margin-top: 20px; padding-top: 20px; }
  article.index div.pamph h3 { margin-bottom: 10px; font-size: 1.8rem !important; }
  article.index div.pamph a { display: block; margin-bottom: 5px; font-size: 1.6rem; }
  .prevarrow { position: absolute; width: 32px; height: 32px; top: 50%; left: -42px; margin-top: -16px; background: url(/images/controls.png) no-repeat 0 -32px; z-index: 100; cursor: pointer; }
  .nextarrow { position: absolute; width: 32px; height: 32px; top: 50%; right: -42px; margin-top: -16px; background: url(/images/controls.png) no-repeat -43px -32px; z-index: 100; cursor: pointer; }
  .prevarrow:hover { background-position: 0 0; }
  .nextarrow:hover { background-position: -43px 0; } }
