@charset "UTF-8";
.heading.heading-sm { font-size: 13px; margin-bottom: 20px; line-height: 1; letter-spacing: .055em; }

@media (min-width: 670px) { .heading.heading-sm { font-size: 14px; margin-bottom: 32px; } }

.heading.heading-md { font-size: 15px; margin-bottom: 20px; line-height: 1; letter-spacing: .075em; }

@media (min-width: 670px) { .heading.heading-md { font-size: 18px; } }

.heading.heading-md-2 { font-size: 14px; margin-bottom: 25px; line-height: 1; }

@media (min-width: 670px) { .heading.heading-md-2 { font-size: 16px; margin-bottom: 30px; } }

.heading.heading-md-3 { font-size: 15px; margin-bottom: 20px; line-height: 1; letter-spacing: .075em; }

@media (min-width: 670px) { .heading.heading-md-3 { font-size: 16px; margin-bottom: 30px; } }

.heading.heading-md-4 { font-size: 15px; margin-bottom: 25px; line-height: 1; letter-spacing: .075em; }

@media (min-width: 670px) { .heading.heading-md-4 { font-size: 18px; margin-bottom: 30px; } }

.heading.heading-lg { font-size: 18px; margin-bottom: 25px; line-height: 1; letter-spacing: .075em; }

@media (min-width: 670px) { .heading.heading-lg { margin-bottom: 40px; } }

.heading.heading-lg2 { font-size: 18px; margin-bottom: 25px; line-height: 1; letter-spacing: .075em; }

@media (min-width: 670px) { .heading.heading-lg2 { font-size: 22px; margin-bottom: 40px; } }

.heading.heading-lg3 { font-size: 15px; margin-bottom: 20px; line-height: 1; letter-spacing: .075em; }

@media (min-width: 670px) { .heading.heading-lg3 { font-size: 18px; margin-bottom: 32px; } }

.heading.heading-border { padding-bottom: 20px; border-bottom: 1px solid #ddd; }

@media (min-width: 670px) { .heading.heading-border { margin-bottom: 30px; } }

.list-state.list-state-area { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; display: block; }

.list-state.list-state-area-noborder { border: none; }

.list-state.list-state-item { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; border-bottom: 1px solid #ddd; padding: 20px 0; }

@media (min-width: 670px) { .list-state.list-state-item { position: relative; display: block; line-height: 1; padding: 25px 0; } }

.list-state.list-state-item:last-of-type { border-bottom: none; }

.list-state.list-state-item a { color: inherit; }

.list-state.list-state-item a:hover { text-decoration: underline; }

.list-state.list-state-date { font-size: 12px; line-height: 1; margin-bottom: 12px; letter-spacing: .075em; width: 50%; }

@media (min-width: 670px) { .list-state.list-state-date { display: inline-block; width: auto; margin: 0 20px 0 0; font-size: 13px; } }

.list-state.list-state-tag { text-align: center; line-height: 1; min-width: 93px; background: #041235; color: #fff; font-size: 10px; padding: 8px 1em; letter-spacing: .075em; margin: 0 0 16px auto; }

@media (min-width: 670px) { .list-state.list-state-tag { display: inline-block; margin: 0 30px 0 0; } }

.list-state.list-state-title { font-weight: normal; width: calc(100% - 25px); line-height: 1.5; font-size: 13px; }

@media (min-width: 670px) { .list-state.list-state-title { display: inline-block; width: 70%; vertical-align: middle; font-size: 14px; margin: 0; } }

.list-state.list-state-pdf { display: inline-block; vertical-align: top; width: 25px; height: 29px; background: url(../images/icon_pdf.png) center no-repeat; background-size: contain; }

@media (min-width: 670px) { .list-state.list-state-pdf { position: absolute; top: 0; bottom: 0; right: 0; margin: auto; } }

/* Newsページ向けのスタイル */
@media (min-width: 670px) { .news .list-state-item { padding: 30px 10px; } }

.news .list-state-item:first-of-type { padding-top: 0; }

@media (min-width: 670px) { .news .list-state-item:first-of-type { padding-top: 30px; } }

.news .list-state-item:last-of-type { padding-bottom: 0; border-bottom: none; }

@media (min-width: 670px) { .news .list-state-item:last-of-type { padding-bottom: 30px; } }

@media (min-width: 670px) { .news .list-state-item .list-state-pdf { right: 10px; } }

/* libraryページ向けのスタイル */
.library.library-area .sec-sentence { margin-bottom: 40px; }

.library.library-area .sec-sentence:last-of-type { margin-bottom: 0; }

@media (min-width: 670px) { .library.library-area .sec-sentence { margin-bottom: 50px; }
  .library.library-area .sec-sentence:last-of-type { margin-bottom: 10px; } }

.button.button-area { position: relative; display: inline-block; width: 100%; border: 2px solid #cd0010; padding: 14px; font-size: 12px; line-height: 1; color: #cd0010; text-align: center; transition: .3s; background: #fff; letter-spacing: .075em; }

.button.button-area svg { position: absolute; width: 8px; height: 7px; top: 15px; left: 8px; fill: #d31f2d; vertical-align: middle; }

@media (min-width: 670px) { .button.button-area { width: 180px; font-size: 13px; padding: 12px; cursor: pointer; } }

.button.button-area:hover { background-color: #cd0010; color: #fff; }

.button.button-area:hover svg { fill: #fff; }

.button.button-area.button-area-normal:before { display: none; }

.button.button-sp { margin-top: 20px; }

@media (min-width: 670px) { .button.button-sp { display: none; } }

@media (min-width: 670px) { .button.button-big { width: 210px; font-size: 12px; } }

.news.news-area { background: #fff; padding: 20px; }

@media (min-width: 670px) { .news.news-area { padding: 10px 40px; } }

.schedule.schedule-area { display: flex; justify-content: space-between; flex-wrap: wrap; }

.schedule.schedule-area-item { width: calc(50% - .5px); background: #fff; border: 1px solid #111e3f; text-align: center; font-weight: bold; margin-bottom: 102.5px; letter-spacing: .075em; }

.schedule.schedule-area-item:nth-of-type(3), .schedule.schedule-area-item:nth-of-type(4) { margin-bottom: 62.5px; }

@media (min-width: 670px) { .schedule.schedule-area-item { width: calc(25% - .75px); margin-bottom: 50px !important; } }

.schedule.schedule-title { padding: 10px 0; line-height: 1; background: #111e3f; color: #fff; font-size: 12px; }

@media (min-width: 670px) { .schedule.schedule-title { font-size: 13px; padding: 20px 0; } }

.schedule.schedule-period { display: flex; }

.schedule.schedule-period-item { flex: 0 0 33.3333%; position: relative; padding: 1em 0; line-height: 1; border-right: 1px solid #111e3f; }

.schedule.schedule-period-item:last-of-type { border-right: none; }

@media (min-width: 670px) { .schedule.schedule-period-item { padding: 2em 0; font-size: 13px; } }

.schedule.schedule-period-item-detail { position: absolute; margin: auto; bottom: -2.2em; white-space: nowrap; font-size: 12px; letter-spacing: 0; display: block; width: 300%; text-align: center; -webkit-transform: translateX(-50%); transform: translateX(-50%); left: 50%; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail { bottom: -2.5em; font-size: 13px; -webkit-transform: translateX(0); transform: translateX(0); left: 0; right: 0; width: auto; } }

.schedule.schedule-period-item-detail:before { content: ""; position: absolute; top: -2em; right: 0; left: 0; margin: auto; display: block; width: 3px; height: 3px; border-radius: 50%; background: #111e3f; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail:before { width: 5px; height: 5px; top: -3em; } }

.schedule.schedule-period-item-detail:after { content: ""; position: absolute; top: -2em; right: 0; left: 0; margin: auto; display: block; width: 1px; height: 1.8em; background: #111e3f; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail:after { top: -2.6em; height: 2em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom { bottom: -4em; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom { bottom: -2.5em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom:before { top: -45px; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom:before { top: -3em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom:after { top: -45px; height: 43px; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom:after { top: -2.6em; height: 2em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom.schedule-period-item-detail-bottom-over { background-color: #f7f7f7; z-index: 9; padding: 0.2em 0; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom.schedule-period-item-detail-bottom-over { bottom: -2.7em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom.schedule-period-item-detail-bottom-over:before { top: calc(-45px + 0.2em); }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom.schedule-period-item-detail-bottom-over:before { top: -2.8em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom.schedule-period-item-detail-bottom-over:after { top: calc(-45px + 0.2em); height: 43px; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom.schedule-period-item-detail-bottom-over:after { top: -2.4em; height: 2em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right { bottom: -5.8em; text-indent: 15px; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right { text-align: right; text-indent: 0; bottom: -5em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right:before { top: calc(-45px - 2em); left: 30px; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right:before { top: -5.5em; left: auto; right: 8px; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right:after { top: calc(-45px - 2em); height: calc(43px + 2em); left: 30px; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right:after { left: auto; right: 10px; top: -5.1em; height: 4.5em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right.schedule-period-item-detail-bottom-right-last { bottom: -4em; text-indent: 0; right: 0; width: inherit; text-align: right; left: auto; -webkit-transform: translateX(0); transform: translateX(0); }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right.schedule-period-item-detail-bottom-right-last { bottom: -5em; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right.schedule-period-item-detail-bottom-right-last:before { top: -45px; right: -10px; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right.schedule-period-item-detail-bottom-right-last:before { top: -5.5em; right: 8px; } }

.schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right.schedule-period-item-detail-bottom-right-last:after { top: -45px; height: 43px; right: -10px; }

@media (min-width: 670px) { .schedule.schedule-period-item-detail.schedule-period-item-detail-bottom-right.schedule-period-item-detail-bottom-right-last:after { top: -5.1em; height: 4.5em; left: auto; right: 10px; } }

.top.top-bg-white { background: #fff; }

.top.top-bg-gray { background: #f7f7f7; }

.top.top-heading { position: relative; }

.top.top-heading .button-area { display: none; }

@media (min-width: 670px) { .top.top-heading .button-area { display: block; position: absolute; top: -1em; right: 0; } }

.top.top-heading-item { display: inline-block; vertical-align: top; margin-right: 10px; }

.top.top-heading-item:last-of-type { margin-right: 0; }

.top.top-heading-item-text { font-size: 12px; }

@media (min-width: 670px) { .top.top-heading-item-text { font-size: 14px; } }

.top.top-mv.top-mv-area { background: url(../images/top_mv-sp.jpg) no-repeat top center; background-size: cover; color: #fff; }

@media (min-width: 670px) { .top.top-mv.top-mv-area { background-image: url(../images/top_mv.jpg); } }

.top.top-mv.top-mv-in { display: flex; align-items: center; height: 250px; margin: 0 20px; }

@media (min-width: 670px) { .top.top-mv.top-mv-in { height: 340px; max-width: 1100px; margin: 0 auto; } }

.top.top-mv.top-mv-text { display: flex; flex-wrap: wrap; align-items: center; background: url(../images/top_mv-bg-logo.png) no-repeat top center; background-size: cover; width: 114px; height: 68px; color: #fff; }

@media (min-width: 670px) { .top.top-mv.top-mv-text { width: 228px; height: 135px; } }

.top.top-mv.top-mv-title { font-family: 'Raleway', sans-serif; font-size: 25px; letter-spacing: .075em; color: #fff; font-weight: 800; white-space: nowrap; line-height: 1; margin-bottom: 8px; }

@media (min-width: 670px) { .top.top-mv.top-mv-title { font-size: 40px; margin-bottom: 16px; } }

.top.top-mv.top-mv-subtitle { font-size: 10px; color: #fff; font-weight: bold; white-space: nowrap; line-height: 1; letter-spacing: .075em; }

@media (min-width: 670px) { .top.top-mv.top-mv-subtitle { font-size: 15px; } }

@media (min-width: 670px) { .top.top-sec.top-sec-list { display: flex; justify-content: space-between; flex-wrap: wrap; } }

.top.top-sec.top-sec-list-item { margin-bottom: 40px; }

.top.top-sec.top-sec-list-item:last-of-type { margin-bottom: 0; }

@media (min-width: 670px) { .top.top-sec.top-sec-list-item { margin: 0; flex: 0 0 31.51515151%; } }

.top.top-sec.top-sec-list-title { font-size: 15px; font-weight: bold; color: #100c0d; margin-top: 18px; letter-spacing: .075em; transition: color .3s; }

.top.top-sec.top-sec-list-title svg { fill: #d31f2d; margin-right: 8px; }

@media (min-width: 670px) { .top.top-sec.top-sec-list-title { margin-top: 32px; } }

.top.top-sec a:hover .top-sec-list-title { color: #d31f2d; }

.top.top-sec.top-sec-list-link { position: relative; display: block; margin-top: 20px; padding-left: 1.5em; line-height: 1; font-size: 13px; color: #100c0d; transition: color .3s; }

.top.top-sec.top-sec-list-link svg { position: absolute; left: 0; top: 3px; fill: #d31f2d; }

.top.top-sec.top-sec-list-link:hover { color: #d31f2d; }

@media (min-width: 670px) { .top.top-sec.top-sec-list-link { font-size: 14px; }
  .top.top-sec.top-sec-list-link:first-of-type { margin-top: 32px; } }

.top.top-sec.top-sec-list-img { max-width: 100%; }

.top.top-reader.top-reader-area { display: none; }

@media (min-width: 670px) { .top.top-reader.top-reader-area { display: flex; align-items: center; border: 1px solid #ddd; padding: 24px 40px; background: #fff; margin-top: 40px; line-height: 1.5; font-size: 12px; }
  .top.top-reader.top-reader-area img { width: 112px; height: 33px; margin-right: 20px; } }

.top.top-calender { margin-bottom: -36px; }

@media (min-width: 670px) { .top.top-calender { margin-bottom: 0; } }
