/*競技*/
.single-sports .sports-name-icon {
  position: absolute;
  top: 0;
  left: 0;
}
.single-sports .article-list-keyword ul {
  margin-bottom: 16px;
  /*text-align: right;*/
  font-size: 0;
}
.single-sports .article-list-keyword ul li {
  height: 22px;
  line-height: 22px;
  display: inline-block;
  margin: 0 10px 10px 0;
  padding: 0 12px;
  background-color: #E3E4E6;
  border-radius: 11px;
  font-size: 0.812rem;
  color: #2D2F33;
}
@media screen and (max-width: 480px) {
  .single-sports .article-list-keyword ul {
    text-align: left;
  }
  .single-sports .article-list-keyword ul li {
    font-size: 0.857rem;
  }
}

/*選手*/
.l-main-single-content .single-athlete-status-category {
  margin-bottom: 40px;
}
.l-main-archive-content-margin-athletes {
  padding-bottom: 70px;
}
.l-main-headline-margin-athletes {
  margin-bottom: 40px;
}

h2.search-heading {
  position: relative;
  width: 44%;
  height: 0;
  margin-bottom: 0;
  border-bottom: 92px solid #F2F2F2;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
}

h2.search-heading-margin {
  margin-top: 70px;
}

h2.search-heading span {
  margin-top: 36px;
  font-size: 1.7rem;
  font-weight: bold;
}

h2.search-heading:after {
  content: "";
  position: absolute;
  bottom: -94px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 15%;
  height: 4px;
  background-color: #F0473E;
}

.search-card-wrap {
  width: 100vw;
  margin-bottom: 70px;
  margin-left: calc(50% - 50vw);
  background-color: #F2F2F2;
}

.search-card-wrap>div {
  max-width: 1160px;
  margin: 0 auto;
  padding: 70px 0;
}

.search-card-wrap .search-card-margin-sports .search-card-item {
  width: 15%;
  height: 170px;
  margin-bottom: 20px;
}

.search-card-wrap .search-card-margin-sports .search-card-item a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 2%;
  background-color: #fff;
  -webkit-box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.2);
  text-align: center;
  color: #333;
}

.search-card-wrap .search-card-margin-sports .search-card-item a .search-card-sports-text {
  position: absolute;
  bottom: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  font-size: 0.8rem;
  font-weight: bold;
}

.search-card-wrap .search-card-margin-sports .search-card-item a:hover {
  background-color: #BE933A;
  color: #fff;
}

.search-card-wrap .search-card-margin-sports .search-card-item a:hover .search-card-sports-illust path {
  fill: #333;
}

.search-card-wrap .search-card-margin-order .search-card-item {
  width: 18%;
  height: 80px;
  margin-bottom: 20px;
}

.search-card-wrap .search-card-margin-order .search-card-item a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 80px;
  background-color: #fff;
  -webkit-box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.2);
  text-align: center;
  color: #333;
  font-size: 1.2rem;
  font-weight: bold;
}

.search-card-wrap .search-card-margin-order .search-card-item a:hover {
  background-color: #BE933A;
  color: #fff;
}

@media screen and (max-width: 480px) {
  h2.search-heading {
    width: 90%;
  }
  h2.search-heading span {
    font-size: 1.3rem;
  }
  .search-card-wrap>div {
    max-width: 100%;
    margin: 0 20px;
    padding: 40px 0;
  }
  .search-card-wrap .search-card-margin-sports .search-card-item {
    width: 31%;
    height: 120px;
  }
  .search-card-wrap .search-card-margin-sports .search-card-item a .search-card-sports-text {
    top: 80px;
  }
  .search-card-wrap .search-card-margin-order::before{
    content: "";
    display: block;
    width: 23%;
    order: 1;
  }
  .search-card-wrap .search-card-margin-order::after {
    content: "";
    display: block;
    width: 23%;
  }
  .search-card-wrap .search-card-margin-order .search-card-item {
    width: 23%;
  }
}

/*選手詳細ページ*/
.single-athlete {
  margin-bottom: 35px;
}
.single-athlete-inner {
  display: table;
  width: 100%;
}
.single-athlete-inner .single-athlete-name {
  display: table-cell;
}
.single-athlete-inner .single-athlete-status {
  display: table-cell;
  text-align: right;
  vertical-align: bottom;
}
.single-athlete-inner .single-athlete-status .single-athlete-status-category {
  margin-bottom: 0;
}
.single-athlete-status-category-jp {
  margin-bottom: 16px;
  font-size: 1.25rem;
  font-weight: bold;
}
.character .character-content {
  min-height: 150px;
  margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
  .single-athlete {
    margin-bottom: 0px;
  }
  .single-athlete-inner .single-athlete-name {
    display: block;
    margin-bottom: 5px;
  }
  .single-athlete-status-category-jp {
    margin-bottom: 2px;
    font-size: 0.95rem;
  }
  .single-athlete-status-category-en {
    font-size: 0.9rem;
  }
  .single-athlete-inner .single-athlete-status {
    display: block;
    text-align: left;
  }
}
/*スーパーアスリート詳細ページ*/
.single-super-athletes .l-main-single-content img {
  width: auto;
}
.single-super-athletes .single-catchphrase {
  margin-bottom: 48px;
}
@media screen and (max-width: 480px) {
  .single-super-athletes .l-main-single-content figure,
  .single-super-athletes .l-main-single-content img {
    width: 100% !important;
    height: auto;
  }
  .single-super-athletes .single-catchphrase {
    margin-bottom: 20px;
  }
}
.single-super-athletes .single-catchphrase .single-catchphrase-inner {
  display: inline-block;
  line-height: 1.4;
  padding: 14px 20px;
  border-left: 6px solid #2D2F33;
  background-color: #F0473E;
  font-size: 1.625rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.04em;
}
.single-super-athletes .single-sub-list-item .profile-list {
  line-height: 2;
}
.single-super-athletes .single-sub-list-item .profile-list .profile-list-strong {
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .single-super-athletes .single-catchphrase .single-catchphrase-inner {
    font-size: 1.142rem;
  }
}
/*.single-super-athletes .character:before,
.single-super-athletes .character:after,
.single-super-athletes .character-border:before,
.single-super-athletes .character-border:after {
  content: none !important;
}
.single-super-athletes .character-content {
  border: 1px dotted #707070;
}
*/


/*大会・イベント*/
.table-wrapper {
  margin-bottom: 70px;
  /*border-bottom: 2px solid #000;*/
}

.table-schedule-list {
  display: table;
  width: 100%;
}

.table-schedule-list>div {
  display: table-cell;
  padding: 24px 0 24px 2%;
  border-bottom: 1px solid #2D2F33;
  word-break: break-all;
  font-size: 0.9375rem;
}

.table-schedule-list>.th {
  padding: 17px 0 17px 2%;
  background-color: #E5D4B0;
  border-top: 1px solid #2D2F33;
  border-bottom: 1px solid #2D2F33;
  font-weight: bold;
  vertical-align: middle;
  color: #2D2F33;
  font-size: 1rem;
}

.table-schedule-list>div:not(:last-child) {
  border-right: 1px dotted #2D2F33;
}

.table-schedule-date {
  width: 15%;
}

.table-schedule-place {
  width: 15%;
}

.table-schedule-sports {
  width: 20%;
}

.table-schedule-name a {
  width: 50%;
  color: #F0473E;
  font-weight: bold;
}
.table-schedule-name a:hover {
  color: #2d2f33;
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .table-wrapper {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 480px) {
  .table-wrapper {
    margin-bottom: 0px;
    border: none;
  }
  .table-schedule-list {
    display: block;
  }
  .table-schedule-list>div {
    display: block;
    padding: 0;
    border: none;
  }
  .table-schedule-list.th {
    display: none;
    margin: 0;
    padding: 0;
  }
  .table-schedule-list {
    background-color: #f2f2f2;
    margin-bottom: 10px;
    padding: 20px;
  }
  .table-schedule-list>div:not(:last-child) {
    border: none;
    display: none;
  }
  .table-schedule-date,
  .table-schedule-place {
    display: inline-block !important;
    width: auto;
    margin-bottom: 10px;
    font-weight: bold;
  }
  .table-schedule-date {
    margin-right: 10px;
  }
  .table-schedule-sports,
  .table-schedule-name {
    width: 100%;
    font-size: 0.9285rem;
  }
  .table-schedule-sports {
    margin-bottom: 20px;
  }
}

/*記事*/
.l-main-category-topics {
  max-width: 1160px;
  margin: 0 auto 18px;
}
@media screen and (max-width: 1160px) {
  .l-main-category-topics {
    margin: 0 20px;
  }
}
.category-title {
  margin-bottom: 12px;
  font-size: 1.375rem;
  font-weight: bold;
}
.category-topics {
  margin-bottom: 20px;
}
.category-topics li {
  display: inline-block;
}
.category-topics li a {
  display: inline-block;
  height: 50px;
  line-height: 50px;
  margin: 0 14px 14px 0;
  padding: 0 20px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 4px;
  font-weight: bold;
  font-family: 'Montserrat', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 768px) {
  .category-topics li a {
    height: 40px;
    line-height: 40px;
  }
}
.category-topics li.active a,
.category-topics li a:hover {
  background-color: #BE933A;
  border: 1px solid #BE933A;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .category-title {
    font-size: 1rem;
  }
  .category-topics li a {
    margin: 0 12px 12px 0;
  }
}

/*Social Change*/
#socialchange-header .archive-header-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}
#socialchange-header .archive-header-title span{
  font-family: 'Roboto', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.descArea {
  width: 55%;
  margin: 0 auto 60px;
  text-align: left;
}
.descArea .desc {
  line-height: 2.3;
  font-size: 1.0625rem;
}

@media screen and (max-width: 480px) {
  .descArea {
    width: 75%;
    margin: 0 auto 40px;
    text-align: left;
  }
  .descArea .desc {
    line-height: 1.8;
    font-size: 0.9rem;
  }
}


/*利用規約*/

.plate-content h2 {
  text-align: left;
}

.plate-content.plate-content-document p {
  margin-top: 21px;
  font-size: 1rem;
  line-height: 2;
}

.plate-content p {
  margin: 23px 0 0;
  font-size: 0.88rem;
  font-weight: normal;
  letter-spacing: .1em;
}

plate-content.plate-content-document h2 {
  margin-top: 39px;
  margin-bottom: -4px;
}

.plate-content h2 {
  margin: 47px 0 0;
  font-size: 1.38rem;
  font-weight: bold;
  line-height: 2.1;
  letter-spacing: .09em;
}


/*パラリンピックとは*/

.about-paralympics {
  text-align: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.about-paralympics .w100-container {
  width: 100%;
}

.about-paralympics .bg_gray {
  margin-bottom: 70px;
  padding: 70px 0;
  background-color: #F2F2F2;
}

@media screen and (max-width: 768px) {
  .about-paralympics .bg_gray {
    margin-top: 50px;
    padding-top: 5px;
    padding-bottom: 20px;
  }
}

.about-paralympics .pc_only {
  display: block;
}

@media screen and (max-width: 768px) {
  .about-paralympics .pc_only {
    display: none;
  }
}

.about-paralympics .sp_only {
  display: none;
}

@media screen and (max-width: 768px) {
  .about-paralympics .sp_only {
    display: block;
  }
}

.about-paralympics .br-pc-only {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .about-paralympics .br-pc-only {
    display: none;
  }
}

.about-paralympics .t-center {
  text-align: center !important;
}

.about-paralympics .note {
  margin: -30px 0 70px !important;
}

.about-paralympics .photoBy {
  display: inline-block;
  display: block;
  color: #676767;
  line-height: 1.6;
  font-size: 13px;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .about-paralympics .photoBy {
    text-align: left;
    line-height: 1.5;
    font-size: 11px;
  }
}

.about-paralympics h2 sup {
  vertical-align:text-top;
  font-size: 0.8rem;
}

.about-paralympics h3 sup {
  vertical-align:text-top;
  font-size: 0.8rem;
}
.about-paralympics .about-title {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: left;
}
.about-paralympics .about-sub-title {
  margin: 30px 0 20px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .about-paralympics .about-title {
    font-size: 2rem;
  }
  .about-paralympics .about-sub-title {
    font-size: 0.95rem;
  }
}

.about-paralympics .about-content {
  text-align: left;
}

.about-paralympics .about-content hr {
  margin: 40px 0 50px;
}

.about-paralympics .about-content p {
  margin-bottom: 20px;
}

.about-paralympics .about-heading {
  text-align: left;
  line-height: 1.3;
  word-break: keep-all;
}

@media screen and (max-width: 768px) {
  .about-paralympics .about-heading {
    margin: 36px 0 10px 0px;
  }
}

@media screen and (max-width: 320px) {
  .about-paralympics .about-heading {
    word-break: normal;
  }
}

.about-paralympics .about-heading.no_border {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  word-break: normal;
}

@media screen and (max-width: 768px) {
  .about-paralympics .about-heading.no_border {
    font-size: 1.4rem;
  }
}

.about-paralympics .about-heading.no_border:before {
  content: none;
}

@media screen and (max-width: 768px) {
  .about-paralympics .about-content .about-heading {
    margin: 36px 0 10px 0px;
    text-align: center;
  }
}

.about-paralympics .about-content p {
  font-size: 1.0625rem;
  text-align: left;
  line-height: 2.2rem;
}

.about-paralympics .about-content figcaption {
  text-align: left;
  margin: 12px 0 20px;
  font-size: 0.8rem;
}

@media screen and (max-width: 768px) {
  .about-paralympics .about-content figcaption {
    margin: 8px 0 18px;
  }
}

.about-paralympicsAreaWrap h2 span {
  padding: 0 40px;
  border-left: 4px solid #292B2F;
  border-right: 4px solid #292B2F;
}

@media screen and (max-width: 480px) {
  .about-paralympicsAreaWrap h2 span {
    padding: 0 10px;
    border-left: 3px solid #292B2F;
    border-right: 3px solid #292B2F;
    font-size: 1.35rem;
  }
}

.link-venue02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.about-aside .link-venue02 .link-venue-item {
  width: 32%;
}
.about-aside .link-venue02 .link-venue-item a {
  background-color: #f0473e;
  width: 100%;
  height: 100%;
  line-height: 1.4;
}

.about-aside .link-venue02 .link-venue-item a:hover {
  background-color: #BE933A;
}

.about-aside .link-venue02 .link-venue-item a .btn-text {
  display: inline-block;
  padding: 14px;
}
@media screen and (max-width: 991px) {
  .about-aside .link-venue02 .link-venue-item a .btn-text {
    font-size: 0.9rem;
  }
  .link-venue-item a:before, .l-page-menu-about a:before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .link-venue02 {
    display: block;
  }
  .about-aside .link-venue02 {
    margin-bottom: 60px;
  }
  .about-aside .link-venue02 .link-venue-item {
    width: 100%;
    margin-bottom: 20px;
  }
  .about-aside .link-venue02 .link-venue-item a .btn-text {
    font-size: 1rem;
  }
}

.about-paralympics h3.about-heading {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.about-paralympics .paralympic-history .about-content:not(:last-child) {
  margin-bottom: 60px;
}

.about-paralympics .flex-l-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.about-paralympics .about-content-left {
  width: 55%;
}

.about-paralympics .about-content-right {
  /*margin-left: 5%;*/
  margin-left: auto;
  width: 32%;
}

@media screen and (max-width: 768px) {
  .about-paralympics .flex-l-r {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .about-paralympics .about-content-left {
    width: 100%;
  }
  .about-paralympics .about-content-right {
    margin-left: 0;
    width: 100%;
  }
  .about-paralympics .about-content .about-heading:before, .about-paralympics .about-heading:before {
    height: 5px;
    bottom: 2px;
  }
}

.about-paralympics .about-circle {
  width: 100%;
  text-align: center;
}

.about-paralympics .about-circle img {
  width: 60%;
  height: 100%;
  margin-bottom: 100px;
}

.about-paralympics .about-circle .about-circle-supplement {
  width: 60%;
  margin: 0 auto 100px;
  text-align: left;
  font-size: 0.9rem;
}

@media screen and (max-width: 768px) {
  .about-paralympics .about-circle img {
    width: 90%;
    margin-bottom: 40px;
  }
  .about-paralympics .about-circle .about-circle-supplement {
    width: 100%;
    margin-bottom: 0;
  }
}

.about-paralympics .about-circle .about-circle-item-inner {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .about-paralympics .about-circle {
    width: 80%;
    margin: 0 10%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .about-paralympics .about-circle .about-circle-item {
    width: 50%;
  }
}

@media screen and (max-width: 480px) {

  .about-paralympics .about-circle {
    width: 100%;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .about-paralympics .about-circle img {
    width: 100%;
    margin-bottom: 60px;
  }
  .about-paralympics .about-circle .about-circle-item {
    margin: 0 auto;
    width: 80%;
  }
  .about-paralympics .about-circle .about-circle-item-inner {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

.about-paralympics .about-content-margin-possible{
  margin-bottom: 100px;
}
@media screen and (max-width: 480px) {
  .about-paralympics .about-content-margin-possible{
    margin-bottom: 60px;
  }
}
.about-paralympics .about-aside {
  margin: 50px 0 100px;
}

@media screen and (max-width: 768px) {
  .about-paralympics .about-aside {
    margin: 20px 0 30px;
  }
}

.about-paralympics .paralympic_content {
  margin-top: 100px;
  margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .about-paralympics .paralympic_content {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

.about-paralympics .oenSite_content {
  margin-top: 100px;
  margin-bottom: 100px;
}
.about-paralympics .oenSite_content h3 {
  margin-bottom: 0;
  font-weight: bold;
}
@media screen and (max-width: 320px) {
  .about-paralympics .oenSite_content h3 {
    font-size: 1.1rem;
  }
}
.l-page-menu-about .l-grid .l-grid-inner{
  margin-bottom: 100px;
  margin: 50px 0 100px;
}
.l-page-menu-about .l-grid .l-grid-inner .l-grid-item a {
  background-color: #f0473e;
}
.l-page-menu-about .l-grid .l-grid-inner .l-grid-item a:hover {
  background-color: #BE933A;
}

@media screen and (max-width: 768px) {
  .about-paralympics .oenSite_content {
    margin-top: 0;
    margin-bottom: 60px;
  }
}
.about-paralympics .table-wrap {
  display: block;
  font-size: 0;
  position: relative;
  width: 100%;
  margin-bottom: 50px;
  padding-bottom: 5px;
}

@media screen and (max-width: 768px) {
  .w100-container .l-container {
    margin: 0;
    padding: 0 20px;
  }
  .about-paralympics .table-wrap {
    overflow-x: scroll !important;
  }
  .about-paralympics .table-wrap::-webkit-scrollbar {
    height: 15px;
    border-radius: 10px;
  }
  .about-paralympics .table-wrap::-webkit-scrollbar-track {
    background: #eee;
  }
  .about-paralympics .table-wrap::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 5px;
  }
}

.about-paralympics .table-wrap.wide-over {
  overflow-x: scroll;
}

.about-paralympics table {
  width: auto;
  min-width: 100%;
  font-size: 0;
}

@media screen and (max-width: 768px) {
  .about-paralympics table {
    font-size: 13px;
  }
}

.about-paralympics table, .about-paralympics td, .about-paralympics th {
  border: 1px solid #595959;
  border-collapse: collapse;
}

.about-paralympics table .header_cell th {
  background-color: #E5E5E5 !important;
  color: #000;
  font-weight: bold;
  text-align: center;
  padding-bottom: 8px;
}

.about-paralympics table .header_cell th th {
  text-align: center;
}

.about-paralympics table th, .about-paralympics table td {
  padding: 8px 4px 9px 7px;
  font-weight: normal;
  white-space: nowrap;
  font-size: 13.2px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .about-paralympics table th, .about-paralympics table td {
    font-size: 12px;
    padding: 6px 3px 6px 5px;
  }
}

.about-paralympics table th {
  line-height: 1.2;
  text-align: center;
}

.about-paralympics table td {
  line-height: 1.5;
}

.about-paralympics table .t-center {
  text-align: center;
}

.about-paralympics table tr th:first-of-type {
  background-color: #F2F2F2;
}

.about-paralympics .table-markType td {
  text-align: center;
}

.about-paralympics .table-markType tr:nth-of-type(2) th {
  text-align: center;
}

.about-paralympics .table-type2th tr:nth-of-type(2) th {
  text-align: center;
}

.about-paralympics .note {
  font-size: 0.85rem !important;
  text-align: right !important;
}

@media screen and (max-width: 768px) {
  .about-paralympics .note {
    text-align: left !important;
  }
}

.about-content-detail .about-link {
  font-weight: bold;
  font-size: 1.125rem;
}
.about-content-detail .about-link::before {
  content: "◆";
  color: #f0473e;
  display: inline-block;
  margin-right: 5px;
}
@media all and (max-width: 735px) {
    .about-content-detail {
        margin-bottom: 20px;
    }
    .about-content-detail .about-link {
        font-weight: bold;
        font-size: 1rem;
    }
}


/*検索結果*/
.page-search-all h2.search-all-h2 {
  line-height: 1;
  margin-bottom: 0;
  border-left: 6px solid #BE933A;
  padding-left: 20px;
  text-align: left;
  font-size: 1.875rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.page-search-all .text-search-val {
  line-height: 1;
  border-left: 6px solid #BE933A;
  margin-bottom: 40px;
  padding-top: 20px;
  padding-left: 20px;
  letter-spacing: 0.05em;
}
.page-search-all .text-search-nothit {
  margin-top: 40px;
}
.l-main-archive-content-padding-search {
  margin-bottom: 70px;
}
.page-search-all .l-grid-schedule .l-grid-inner .l-grid-item a {
  background-color: #f2f2f2;
}
.ttl-search-result {
    position: relative;
    margin-top: -60px;
    margin-bottom: 50px;
    font-size: 1.75rem;
    font-weight: bold;
    padding-left: 28px;
}
.ttl-search-result:before {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    background-image: url(
    ../img/common/btn-search.svg);
    background-size: cover;
}
@media all and (max-width: 480px) {
  .l-main-archive-content-padding-search {
    margin-bottom: 48px;
  }
  .page-search-all .l-grid-schedule .l-grid-inner .l-grid-item {
    margin-bottom: 25px;
  }
  .page-search-all .l-grid-schedule .l-grid-inner .l-grid-item a {
    margin-bottom: 0;
  }
  .page-search-all h2.search-all-h2 {
    font-size: 1.7rem;
    letter-spacing: 0.05em;
  }
  .page-search-all .text-search-val {
    padding-top: 12px;
  }
  .ttl-search-result {
    margin-top: -20px;
  }
}

/* pyeongchang2018 */
.l-main-feature-winter { margin-top: -30px; }

.feature { text-align: center; }

.feature-date { display: block; padding: 0 0 30px; }

@media all and (max-width: 735px) { .feature-date { padding: 26px 0 15px; } }

.feature-date-item { display: inline-block; font-size: 1.5rem; font-family: "Montserrat Bold", cursive; letter-spacing: .07em; }

@media all and (max-width: 735px) { .feature-date-item { font-size: 0.94rem; } }

.feature-date-arrow { display: inline-block; margin: 0 27px; width: 0; height: 0; border-style: solid; border-width: 5.5px 0 5.5px 9px; border-color: transparent transparent transparent #333; vertical-align: middle; -webkit-transform: translate(0, -4px); transform: translate(0, -4px); }

@media all and (max-width: 735px) { .feature-date-arrow { margin: 0 10px; -webkit-transform: translate(0, -1px) scale(0.5); transform: translate(0, -1px) scale(0.5); } }

.feature-date-num { margin-right: 8px; letter-spacing: .08em; color: #F0473E; }

.l-mv { position: relative; width: 100%; overflow: hidden; }

.l-mv:before { position: absolute; top: 60px; left: 0; display: block; content: ''; width: 100%; height: 100%; background: #fdde3e; background-image: url("../images/bg/kv.png"); background-repeat: no-repeat; background-size: cover; background-position: center; }

.l-mv.l-mv-margin { padding: 0 0 184px; }

@media all and (max-width: 735px) { .l-mv.l-mv-margin { padding-bottom: 69px; } }

.l-mv.l-mv-margin-new { padding: 0 0 35px; }

@media all and (max-width: 735px) { .l-mv.l-mv-margin-new { padding-bottom: 25px; } }

.l-mv.l-mv-feature { margin-top: 20px; }

.l-mv.l-mv-feature:before { display: none; }

.mv { position: relative; }

.mv-main { position: relative; width: 65%; font-size: 0; letter-spacing: 0; float: left; }

@media all and (max-width: 735px) { .mv-main { width: 100%; overflow: hidden; } }

@media all and (max-width: 735px) { .mv-main .swiper-button-next, .mv-main .swiper-button-prev { display: none; } }

.mv-main-item { background: #fff; }

.mv-main-item-inner { display: block; opacity: 1; transition: opacity .25s ease; }

.mv-main-item-inner:hover { opacity: .7; }

.mv-main-img { width: 100%; max-height: 591px; overflow: hidden; }

.mv-main-img-pc { display: block; width: 100%; height: auto; position: relative; }

@media all and (max-width: 735px) { .mv-main-img-pc { display: none; } }

.mv-main-img-sp { display: none; width: 100%; height: auto; }

@media all and (max-width: 735px) { .mv-main-img-sp { display: block; position: relative; } }

.mv-main-timer { display: block; position: absolute; left: 0; bottom: 0; z-index: 1; width: 0; height: 4px; }

@media all and (max-width: 735px) { .mv-main-timer { height: 3px; } }

.mv-main-timer:before { display: block; content: ''; width: 100%; height: 100%; background: #F0473E; }

.mv-main-timer.is-active { -webkit-animation: sliderTimerWidth 3.8s linear 0s forwards normal; animation: sliderTimerWidth 3.8s linear 0s forwards normal; }

.mv-sub { position: relative; width: 34%; font-size: 0; letter-spacing: 0; float: right; border-left: 3px solid #fff; }

@media all and (max-width: 735px) { .mv-sub { width: 100%; margin-top: 1px; border-left: none; } }

.mv-sub:before, .mv-sub:after { display: none; content: ''; position: absolute; top: 0; width: 39px; height: 100%; background: rgba(51, 51, 51, 0.8); z-index: 7; }

@media all and (max-width: 735px) { .mv-sub:before, .mv-sub:after { display: block; } }

.mv-sub:before { left: 0; }

.mv-sub:after { right: 0; }

.mv-sub-item { display: block; background: #fff; }

.mv-sub-item-inner { display: block; opacity: 1; transition: opacity .25s ease; }

.mv-sub-item-inner:hover { opacity: .7; }

.mv-sub-img { width: 100%; }

.mv-sub-img-pc { display: block; width: 100%; height: auto; }

@media all and (max-width: 735px) { .mv-sub-img-pc { display: none; } }

.mv-sub-img-sp { display: none; width: 100%; height: auto; }

@media all and (max-width: 735px) { .mv-sub-img-sp { display: block; } }

.mv-sub-txt { display: block; width: 100%; height: 19px; font-size: 22px; font-weight: bold; padding: 15px 15px 25px; color: #000; text-align: left; letter-spacing: 0.2rem; }

@media all and (max-width: 735px) { .mv-sub-txt { display: block; position: absolute; font-size: 16px; padding: 5px; height: 35px; line-height: 1.2rem; bottom: 0; background: rgba(255, 255, 255, 0.7); letter-spacing: 0.1rem; } }

.mv-sub-button { display: none; z-index: 9; }

@media all and (max-width: 735px) { .mv-sub-button { display: block; } }

.mv-sub-button.swiper-button-prev { left: 14px; }

.mv-sub-button.swiper-button-next { right: 14px; }

.mv-sub-swiper-wrapper { display: block; }

@media all and (max-width: 735px) { .mv-sub-swiper-wrapper { display: -webkit-flex; display: -ms-flexbox; display: flex; } }

.mv-sub-swiper-slide { border-top: 3px solid #fff; }

@media all and (max-width: 735px) { .mv-sub-swiper-slide { width: 150px; border-top: none; } }

.mv-sub-swiper-slide:first-child { border-top: none; }

.swiper-container { width: 100%; height: 100%; margin-left: auto; margin-right: auto; }

.swiper-slide { text-align: center; margin-bottom: 4px;}

.l-related-article-pyeongchang2018 {
  margin-bottom: 60px;
}

/*.gallery .swiper-button-next, .gallery .swiper-button-prev, .modal-inner .swiper-button-next, .modal-inner .swiper-button-prev { width: 50px; height: 50px; margin-top: -25px; line-height: 50px; text-align: center; color: #fff; background-image: none; background: #F0473E; border-radius: 50%; }*/

/*@media all and (max-width: 735px) { .gallery .swiper-button-next, .gallery .swiper-button-prev, .modal-inner .swiper-button-next, .modal-inner .swiper-button-prev { -webkit-transform: scale(0.5); transform: scale(0.5); } }

.swiper-button-next, .swiper-button-prev { width: 50px; height: 50px; margin-top: -25px; line-height: 50px; text-align: center; color: #fff; background-image: none; background: #F0473E; border-radius: 50%; }

@media all and (max-width: 735px) { .swiper-button-next, .swiper-button-prev { -webkit-transform: scale(0.5); transform: scale(0.5); } }

.swiper-button-next { right: 30px; }

.swiper-button-prev { left: 30px; }

.swiper-container-horizontal > .swiper-pagination { bottom: 24px; }

.js-mv-main-container.swiper-container-horizontal > .swiper-pagination { bottom: 79px; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { width: 16px; height: 16px; margin: 0 7px; background: none; border: 2px solid #F0473E; opacity: 1; }

@media all and (max-width: 735px) { .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { width: 10px; height: 10px; border-width: 1px; } }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet:before { display: block; content: ''; width: 8px; height: 8px; margin: 2px; background: #F0473E; border-radius: 50%; opacity: 0; -webkit-transform: scale(0); transform: scale(0); transition: opacity .25s ease, -webkit-transform .25s ease; transition: opacity .25s ease, transform .25s ease; transition: opacity .25s ease, transform .25s ease, -webkit-transform .25s ease; }

@media all and (max-width: 735px) { .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet:before { width: 6px; height: 6px; margin: 1px; } }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet-active { background: none; opacity: 1; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet-active:before { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }

.swiper-wrapper { transition-timing-function: cubic-bezier(0.05, 0.595, 0.785, 0.985); }*/

/*.link-venue { display: -webkit-flex; display: -ms-flexbox; display: flex; width: 780px; margin: 0 auto; padding: 48px 0 51px; }

@media all and (max-width: 735px) { .link-venue { display: block; width: auto; padding: 0 10px; } }

.link-venue02 { display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; margin: 0 auto; padding: 48px 0 51px; }

@media all and (max-width: 735px) { .link-venue02 { display: block; width: auto; padding: 0 10px; } }

.link-venue02 .link-venue-item .btn-text { line-height: 28px; }

.link-venue-item { position: relative; display: block; width: 100%; color: inherit; transition: opacity .25s ease; }

.link-venue-item:first-of-type { padding-right: 30px; }

.link-venue-item:last-of-type { padding-left: 30px; }

@media all and (max-width: 735px) { .link-venue-item { margin: 30px 0 30px; height: auto; }
  .link-venue-item:first-of-type { padding-right: 0; }
  .link-venue-item:last-of-type { padding-left: 0; } }

.link-venue-item:hover { opacity: .7; }

@media all and (max-width: 735px) { .link-venue-item:first-child { margin: 30px 0; } }*/

/* スケジュール カレンダー */
.icon-calendar:before {
  content: "\e911";
}

.btn-inline { position: relative; display: inline-block; margin-left: 20px; padding: 3px 32px 5px 22px; font-size: 0.75rem; letter-spacing: .08em; line-height: 1.5; color: #fff; border-radius: 14px; background: #2D2F33; text-align: bottom; opacity: 1; transition: opacity .25s ease; cursor: pointer; }

@media all and (-ms-high-contrast: none) { .btn-inline { padding: 6px 32px 2px 22px; } }

@media all and (max-width: 735px) { .btn-inline { padding: 5px 32px 5px 22px; font-size: 0.63rem; } }

.btn-inline:after { content: ''; display: block; position: absolute; top: 50%; right: 17px; margin-top: -4px; width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 6px; border-color: transparent transparent transparent #fff; }

.btn-inline:hover { background-color: #BE933A; color: #fff;}

@media all and (max-width: 735px) { .table-btn-open .btn-inline { width: 100%; padding: 18px 32px 18px 22px; font-size: 12px; font-weight: bold; text-align: center; } }

@media all and (max-width: 735px) { .table-btn-open .btn-inline:after { right: 32px; margin-top: -6px; border-width: 6.5px 0 6.5px 10px; } }

.table-content .btn-inline { margin-left: 0; }

@media all and (max-width: 735px) { .input-calendar { text-align: center; } }

.calendar { display: block; background: #f1f1f1; }

.calendar-inner { width: 1200px; padding: 50px 52px 40px; }

.calendar-inner-color { background: #ffffff; }

@media all and (max-width: 735px) { .calendar-inner { width: auto; padding: 30px 14px 20px; } }

.calendar-heading { position: relative; display: block; width: 100%; z-index: 1; padding: 20px 31px 5px;}

@media all and (max-width: 735px) { .calendar-heading { width: auto; padding: 0px; } }

.calendar-desc { display: inline-block; font-size: 0.88rem; line-height: 18px; letter-spacing: .11em; margin: 8px 25px;}

@media all and (max-width: 735px) { .calendar-desc { top: -22px; left: 0; font-size: 0.63rem; } }

.calendar-desc-mark { display: inline-block; width: 18px; height: 18px; margin-right: 10px; background: #333; border-radius: 50%; vertical-align: text-bottom; }

@media all and (max-width: 735px) { .calendar-desc-mark { width: 10px; height: 10px; margin-right: 6px; } }

.calendar-desc-mark.calendar-desc-mark-event { background: #f9eb76; }

.calendar-title { position: relative; width: 100%; height: 44px; margin: 0 auto; padding: 5px 0 0; background: #F0473E; text-align: center; }

@media all and (max-width: 735px) { .calendar-title { width: 100%; height: 30px; padding: 0px;} }

.calendar-title:before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 1px; }

.calendar-title-mark { margin-left: -50px; width: 100px; height: 38px; background: #fff; text-align: center; font-size: 38px; }

@media all and (max-width: 735px) { .calendar-title-mark { width: 50px; height: 19px; top: -10px; margin-left: -25px; font-size: 19px; } }

.calendar-title-mark-icon { display: block; }

.calendar-title-mark-icon:before { display: block; }

.calendar-title-text { position: relative; display: inline-block; padding: 0 5px; font-size: 1.13rem; font-weight: bold; text-align: center; letter-spacing: .09em; line-height: 35px; color: #fff; }

@media all and (max-width: 735px) { .calendar-title-text { font-size: 0.63rem; } }

.calendar-title-text:before { content: ''; display: block; position: absolute; }

.calendar-title-text-inner { position: relative; line-height: 35px; }

.calendar-title-border { position: static; }

.calendar-title-border:before, .calendar-title-border:after { content: ''; display: block; position: absolute; top: 0; width: 1px; height: 100%; background: repeating-linear-gradient(0deg, #333, #333 3px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 5px); }

.calendar-title-border:before { left: 0; }

.calendar-title-border:after { right: 0; }

.calendar-content { position: relative; margin: -1px 0 0; padding: 44px 0 0; }

@media all and (max-width: 735px) { .calendar-content { margin-top: -2px; padding: 20px 0 0; } }

.calendar-content:before, .calendar-content:after { content: ''; display: block; width: 100%; height: 1px; position: absolute; left: 0; }

.calendar-content:before { top: 0; }

.calendar-content:after { bottom: 0; }

.calendar-triangle { position: absolute; top: 89px; right: 47px; width: 0; height: 0; border-style: solid; border-width: 0 30px 30px 0; border-color: transparent #f2c307 transparent transparent; z-index: 0; }

@media all and (max-width: 735px) { .calendar-triangle { top: 69px; right: 11px; border-width: 0 15px 15px 0; } }

.calendar-content-border { position: inherit; }

.calendar-content-border:before, .calendar-content-border:after { content: ''; display: block; width: 1px; height: 100%; position: absolute; top: 0; background: repeating-linear-gradient(0deg, #333, #333 3px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 5px); }

.calendar-content-border:before { left: 0; }

.calendar-content-border:after { right: 0; }

.calendar-content-inner { display: -webkit-flex; display: -ms-flexbox; display: flex; }

.calendar-content-item { position: relative; width: 548px; padding: 0 31px; }

@media all and (max-width: 735px) { .calendar-content-item { width: 100%; padding: 0 15px; } }

.calendar-content-item.is-second:before { content: ''; display: block; width: 1px; height: 451px; position: absolute; top: 10px; left: 0; background: repeating-linear-gradient(0deg, #333, #333 3px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 5px); }

@media all and (max-width: 735px) { .calendar-content-item.is-second { display: none; } }

.calendar-content-link { position: absolute; top: 10px; right: 30px; display: inline-block; padding: 6px 20px 6px 22px; font-size: 12px; font-weight: bold; color: #fff; background: #333; border-radius: 15px; letter-spacing: .06em; line-height: 1; }

@media all and (-ms-high-contrast: none) { .calendar-content-link { padding: 9px 20px 3px 22px; } }

@media all and (max-width: 735px) { .calendar-content-link { top: 0; right: 15px; padding: 5px 10px 5px 14px; font-size: 10px; } }

.calendar-content-link:after { content: ''; display: inline-block; width: 0; height: 0; margin: 0 0 0 10px; border-style: solid; border-width: 4px 0 4px 6px; border-color: transparent transparent transparent #fff; vertical-align: baseline; }

.calendar-content-title { display: block; position: relative; text-align: center; line-height: 1; margin-bottom: 0; }

.calendar-content-title-year { display: inline-block; position: absolute; top: 50%; left: 8px; margin-top: -10px; font-size: 1rem !important; font-weight: bold; letter-spacing: .12em; }

@media all and (max-width: 735px) { .calendar-content-title-year { padding-top: 5px; font-size: 11px; } }

.calendar-content-title-month { display: inline-block; font-size: 44px; font-weight: normal; letter-spacing: .07em; }

@media all and (max-width: 735px) { .calendar-content-title-month { font-size: 22px; } }

.calendar-table { width: 100%; margin: 15px 0 0; border-collapse: collapse; }

.calendar-table-heading { font-size: 14px; font-weight: bold; line-height: 1; color: #afafaf; }

@media all and (max-width: 735px) { .calendar-table-heading { font-size: 10px; } }

.calendar-table-heading th { padding: 11px 0; }

.calendar-table-heading th:nth-child(6) { color: #345399; }

.calendar-table-heading th:nth-child(7) { color: #F0473E; }

.calendar-table-content { font-size: 16px; font-weight: bold; line-height: 1; }

@media all and (max-width: 735px) { .calendar-table-content { font-size: 12px; } }

.calendar-table-content tr { border-top: 1px solid #bfbfbf; }

.calendar-table-content td { text-align: center; padding: 25px 0; }

@media all and (max-width: 735px) { .calendar-table-content td { padding: 12px 0; } }

.calendar-table-content td:nth-child(6) { color: #345399; }

.calendar-table-content td:nth-child(7) { color: #F0473E; }

.calendar-td { position: relative; opacity: .5; }

.calendar-td:before { content: ''; display: none; width: 36px; height: 36px; margin-top: -18px; margin-left: -18px; position: absolute; top: 50%; left: 50%; background: #f4f5f9; border-radius: 50%; }

@media all and (max-width: 735px) { .calendar-td:before { width: 20px; height: 20px; margin-top: -10px; margin-left: -10px; } }

.calendar-td.is-today:before { display: block; background: #f4f5f9; }

.calendar-td.is-today:after { content: 'TODAY'; display: block; position: absolute; top: 8px; left: 0; font-size: 12px; font-weight: bold; width: 100%; text-align: center; color: #676767; }

@media all and (max-width: 735px) { .calendar-td.is-today:after { top: 1px; font-size: 10px; } }

.calendar-td.is-event:before { display: block; background: #fce85e; }

.calendar-td.is-link { opacity: 1; cursor: pointer; }

.calendar-td-inner { position: relative; }

.calendar-content-navigation { position: initial; }

.calendar-content-navigation-prev, .calendar-content-navigation-next { position: absolute; top: 50%; margin-top: -25px; width: 50px; height: 50px; color: #fff; text-align: center; line-height: 50px; background: #000000; cursor: pointer; transition: opacity .25s ease; }

@media all and (-ms-high-contrast: none) { .calendar-content-navigation-prev, .calendar-content-navigation-next { padding-top: 5px; } }

@media all and (max-width: 735px) { .calendar-content-navigation-prev, .calendar-content-navigation-next { -webkit-transform: scale(0.5); transform: scale(0.5); } }

.calendar-content-navigation-prev.is-hide, .calendar-content-navigation-next.is-hide { opacity: 0; cursor: initial; }

.calendar-content-navigation-prev { left: -25px; }

@media all and (max-width: 735px) { .calendar-content-navigation-prev { left: -22px; } }

.calendar-content-navigation-next { right: -25px; }

@media all and (max-width: 735px) { .calendar-content-navigation-next { right: -22px; } }
