@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Montserrat");
@import url("https://fonts.googleapis.com/css?family=EB+Garamond&display=swap");
@import url("https://fonts.googleapis.com/css?family=Montserrat");
@import url("https://fonts.googleapis.com/css?family=EB+Garamond&display=swap");
@import url("https://fonts.googleapis.com/css?family=Montserrat");
@import url("https://fonts.googleapis.com/css?family=EB+Garamond&display=swap");
@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700");
@import url("https://fonts.googleapis.com/css?family=Rosario:400,400i");
@font-face {
  font-family: 'web_symbolsregular';
  src: url("../assets/web-symbols/websymbols-regular-webfont.woff2") format("woff2"), url("../assets/web-symbols/websymbols-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'web_symbolsregular';
  src: url("../assets/web-symbols/websymbols-regular-webfont.woff2") format("woff2"), url("../assets/web-symbols/websymbols-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
.topicList__row {
  margin: 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  max-width: 100%;
}
.topicList__row + .topicList__row {
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .topicList__row + .topicList__row {
    margin-top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .topicList__row {
    align-items: flex-start;
    margin: 0;
    padding: 0;
  }
}
.topicList__row > span.date {
  padding: 0 14px 0 10px;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .topicList__row > span.date {
    padding: 0;
    margin-left: 0;
    margin-right: 22px;
  }
}
.topicList__row > span.category {
  flex: 0 0 90px;
  max-width: 90px;
  padding: 1px 0 2px;
  font-size: 12px;
  white-space: nowrap;
  border: 1px solid #F4F4EE;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .topicList__row > span.category {
    display: inline-block;
    width: 90px;
    font-size: 12px;
    padding: 2px 0;
  }
}
.topicList__row > span.detail {
  line-height: 1.5;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .topicList__row > span.detail {
    display: block;
    font-size: 15px;
    white-space: normal;
    overflow: visible;
  }
}
.topicList__row > span.detail a {
  color: #000;
  text-decoration: none;
}
.topicList__row > span.detail a:hover {
  text-decoration: underline;
}
.topicList__row > span.detail a.movie::before {
  font-family: FontAwesome;
  content: "";
  padding-left: 0;
  padding-right: 5px;
}
.topicList__row > span.detail.new::before {
  content: "NEW";
  color: #f00;
  display: inline-block;
  font-size: 15px;
  margin-right: 5px;
  padding-right: 5px;
  border-right: 2px solid #F4F5EE;
}

@font-face {
  font-family: 'web_symbolsregular';
  src: url("../assets/web-symbols/websymbols-regular-webfont.woff2") format("woff2"), url("../assets/web-symbols/websymbols-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
.title--pageSubtitle {
  box-sizing: border-box;
  font-size: 16px;
  font-weight: bold;
  line-height: 21px;
  margin-bottom: 15px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .title--pageSubtitle {
    padding: 0 3.125%;
  }
}
.title--section-red {
  background: #e7e7e7;
  background: linear-gradient(#e7e7e7 0%, #e7e7e7 50%, #eee 51%, #eee 100%);
  border-left: 5px solid #DC143C;
  box-sizing: border-box;
  font-size: 22px;
  line-height: 1.4;
  margin: 100px auto 25px;
  padding: 20px;
}
.title--section-red:first-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .title--section-red {
    border-left: 6px solid #DC143C;
    font-size: 18px;
    margin: 50px auto 25px;
    padding: 10px;
  }
}
.title--section-green {
  background: #e7e7e7;
  background: linear-gradient(#e7e7e7 0%, #e7e7e7 50%, #eee 51%, #eee 100%);
  border-left: 5px solid #390;
  box-sizing: border-box;
  font-size: 22px;
  line-height: 1.4;
  margin: 100px auto 25px;
  padding: 20px;
}
.title--section-green:first-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .title--section-green {
    border-left: 6px solid #390;
    font-size: 18px;
    margin: 50px auto 25px;
    padding: 10px;
  }
}
.title--section-lightgreen {
  background: #e7e7e7;
  background: linear-gradient(#e7e7e7 0%, #e7e7e7 50%, #eee 51%, #eee 100%);
  border-left: 5px solid #9c0;
  box-sizing: border-box;
  font-size: 22px;
  line-height: 1.4;
  margin: 100px auto 25px;
  padding: 20px;
}
.title--section-lightgreen:first-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .title--section-lightgreen {
    border-left: 6px solid #9c0;
    font-size: 18px;
    margin: 50px auto 25px;
    padding: 10px;
  }
}
.title--section-blue {
  background: #e7e7e7;
  background: linear-gradient(#e7e7e7 0%, #e7e7e7 50%, #eee 51%, #eee 100%);
  border-left: 5px solid #06c;
  box-sizing: border-box;
  font-size: 22px;
  line-height: 1.4;
  margin: 100px auto 25px;
  padding: 20px;
}
.title--section-blue:first-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .title--section-blue {
    border-left: 6px solid #06c;
    font-size: 18px;
    margin: 50px auto 25px;
    padding: 10px;
  }
}
.title--section-lightblue {
  background: #e7e7e7;
  background: linear-gradient(#e7e7e7 0%, #e7e7e7 50%, #eee 51%, #eee 100%);
  border-left: 5px solid #6cf;
  box-sizing: border-box;
  font-size: 22px;
  line-height: 1.4;
  margin: 100px auto 25px;
  padding: 20px;
}
.title--section-lightblue:first-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .title--section-lightblue {
    border-left: 6px solid #6cf;
    font-size: 18px;
    margin: 50px auto 25px;
    padding: 10px;
  }
}
.title--section-pink {
  background: #e7e7e7;
  background: linear-gradient(#e7e7e7 0%, #e7e7e7 50%, #eee 51%, #eee 100%);
  border-left: 5px solid #c36;
  box-sizing: border-box;
  font-size: 22px;
  line-height: 1.4;
  margin: 100px auto 25px;
  padding: 20px;
}
.title--section-pink:first-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .title--section-pink {
    border-left: 6px solid #c36;
    font-size: 18px;
    margin: 50px auto 25px;
    padding: 10px;
  }
}
.title--section-orange {
  background: #e7e7e7;
  background: linear-gradient(#e7e7e7 0%, #e7e7e7 50%, #eee 51%, #eee 100%);
  border-left: 5px solid #fc0;
  box-sizing: border-box;
  font-size: 22px;
  line-height: 1.4;
  margin: 100px auto 25px;
  padding: 20px;
}
.title--section-orange:first-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .title--section-orange {
    border-left: 6px solid #fc0;
    font-size: 18px;
    margin: 50px auto 25px;
    padding: 10px;
  }
}
.title--section-yellow {
  background: #e7e7e7;
  background: linear-gradient(#e7e7e7 0%, #e7e7e7 50%, #eee 51%, #eee 100%);
  border-left: 5px solid #ff3;
  box-sizing: border-box;
  font-size: 22px;
  line-height: 1.4;
  margin: 100px auto 25px;
  padding: 20px;
}
.title--section-yellow:first-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .title--section-yellow {
    border-left: 6px solid #ff3;
    font-size: 18px;
    margin: 50px auto 25px;
    padding: 10px;
  }
}
.title--subsection-orange {
  border-bottom: 1px solid #ccc;
  font-size: 18px;
  line-height: 1.4;
  margin: 35px auto 1em;
  padding-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .title--subsection-orange {
    margin: 25px auto 1em;
  }
}
.title--subsection-orange:before {
  color: #fc0;
  content: "■";
  padding-right: 10px;
}
.title--subsection-lightgreen {
  border-bottom: 1px solid #ccc;
  font-size: 18px;
  line-height: 1.4;
  margin: 35px auto 1em;
  padding-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .title--subsection-lightgreen {
    margin: 25px auto 1em;
  }
}
.title--subsection-lightgreen:before {
  color: #08c;
  content: "■";
  padding-right: 10px;
}
.title--subsection-red {
  border-bottom: 1px solid #ccc;
  font-size: 18px;
  line-height: 1.4;
  margin: 35px auto 1em;
  padding-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .title--subsection-red {
    margin: 25px auto 1em;
  }
}
.title--subsection-red:before {
  color: #c03;
  content: "■";
  padding-right: 10px;
}
.title--blue {
  font-weight: bold;
  color: #038;
}

.title--category {
  position: relative;
  margin: 0;
  border: none;
  padding: 99px 80px 0;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .title--category {
    padding-top: 80px;
    font-size: 18px;
  }
}
.title--category::after {
  content: "";
  position: absolute;
  bottom: -20px;
  right: 0;
  left: 0;
  display: block;
  margin: 0 auto;
  background-color: #fff;
  border: none;
  width: 44px;
  height: 2px;
}
.title--page {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  align-items: center;
  margin: 0 auto 80px;
  padding: 18px 18px 18px;
  background-color: #015;
  font-size: 32px;
  font-weight: normal;
  line-height: 1.40625;
  text-align: center;
  color: #fff;
  max-width: 760px;
  min-height: 150px;
}
@media screen and (max-width: 767px) {
  .title--page {
    margin-bottom: 50px;
    padding-top: 18px;
    font-size: 28px;
    line-height: 1.42857;
    min-height: 170px;
  }
}
.title--page > span {
  display: block;
  font-size: 16px;
  line-height: 1.8;
}
.title--section {
  margin: 80px 0 30px;
  font-size: 23px;
  font-weight: normal;
  line-height: 34px;
  position: relative;
  padding-bottom: 8px;
  background-image: url(/media/images/2004/common/title_bg.png);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 720px;
}
.title--subsection {
  margin: 30px auto 20px auto;
  border-left: 2px solid #001155;
  padding: 17.5px 0 17.5px 20px;
  font-size: 17px;
  font-weight: normal;
  line-height: 25px;
}

/* フォント追加 */
ul.list--visitor {
  margin: 30px auto;
}
ul.list--visitor > li {
  margin: 0 auto 20px;
}
ul.list--visitor p {
  margin: auto;
}
ul.list--visitor a {
  box-sizing: border-box;
  color: #000;
  display: block;
  padding-left: 30px;
  text-decoration: none;
}
ul.list--visitor a:hover {
  text-decoration: underline;
}
ul.list--visitor a::before {
  font-family: FontAwesome;
  content: "";
  padding-left: 0;
  padding-right: 3px;
}

/*# sourceMappingURL=p_visitor.css.map */
