/*!******************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/scss/app.scss ***!
  \******************************************************************************************************************************************************************************************************************************************/
body {
  min-width: unset;
  font-family:"BIZ UDPGothic", "メイリオ", "Meiryo", sans-serif;
}

#parasportsgekkan {
  font-size: .9523809524em
}

#parasportsgekkan nav {
  bottom: auto;
  left: auto;
  margin: 0;
  padding: 0;
  position: static;
  right: auto;
  top: auto;
  width: auto
}

#parasportsgekkan h1 {
  font-size: 1.8em
}

#parasportsgekkan h2 {
  font-size: 1.4em
}

#parasportsgekkan p {
  font-size: 1em;
  text-align: left;
}

@media screen and (min-width:768px) {
  #parasportsgekkan p {
    font-size: 1.2em;
    text-align: left;
  }
}

#parasportsgekkan svg {
  height: auto;
  width: 100%
}

/* パラ月間2025 - パラリンピック応援ライトアップ */
#parasportsgekkan .other-event.event03 div .other-event-detail p {
	width: 58%;
}
#parasportsgekkan .other-event.event03 div .other-event-detail img {
	width: 40%;
	margin: 0 0 0 auto;
}
table.lightup th {
	text-align: center;
	vertical-align: middle;
}
table.lightup td {
	vertical-align: middle;
}
table.lightup td.day {
	width: 9rem;
	text-align: center;
}
table.lightup td.time {
	width: 350px;
}
@media screen and (max-width:900px) {
	table.lightup td.time {
		width: 11rem;
	}
}
@media screen and (max-width:767px) {
	#parasportsgekkan .other-event.event03 div .other-event-detail p {
		width: 100%;
	}
	#parasportsgekkan .other-event.event03 div .other-event-detail img {
		display: block;
		width: 80%;
		margin: 0 auto;
	}
}
@media screen and (max-width:500px) {
	#parasportsgekkan .other-event div table.lightup th {
		white-space: unset;
	}
	table.lightup td.day , 
	table.lightup td.time {
		width: 30%;
	}
}
/* // パラ月間2025 - パラリンピック応援ライトアップ */

@media screen and (min-width:768px) and (max-width:1024px) {
  #parasportsgekkan .u-forPC {
    display: none !important
  }
}

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

  #parasportsgekkan .u-forPC,
  #parasportsgekkan .u-forPC_TB {
    display: none !important
  }
}

@media screen and (min-width:1024px) {
  #parasportsgekkan .u-forTB {
    display: none !important
  }
}

@media screen and (max-width:1023px) {
  #parasportsgekkan .u-forTB {
    display: none !important
  }
}

@media screen and (min-width:1024px) {
  #parasportsgekkan .u-forSP {
    display: none !important
  }
}

@media screen and (min-width:768px) and (max-width:1024px) {
  #parasportsgekkan .u-forSP {
    display: none !important
  }
}

@media screen and (min-width:1024px) {
  #parasportsgekkan .u-forSP_TB {
    display: none !important
  }
}

#parasportsgekkan .u-color-black {
  color: #000 !important
}

#parasportsgekkan .u-color-white {
  color: #fff !important
}

#parasportsgekkan .u-color-red {
  color: #db002a !important
}

#parasportsgekkan .u-color-blue {
  color: #006abd !important
}

#parasportsgekkan .u-color-green {
  color: #4aa335 !important
}

#parasportsgekkan .u-color-text {
  color: #000 !important
}

#parasportsgekkan .u-bg-black {
  background-color: #000 !important
}

#parasportsgekkan .u-bg-white {
  background-color: #fff !important
}

#parasportsgekkan .u-fontsize-small-relative {
  display: inline-block;
  font-size: 80%
}

#parasportsgekkan .u-align-center {
  text-align: center !important
}

#parasportsgekkan .u-align-left {
  text-align: left !important
}

#parasportsgekkan .u-align-right {
  text-align: right !important
}

#parasportsgekkan .u-grid {
  display: grid;
  gap: 30px
}


@media screen and (max-width:768px) {
  #parasportsgekkan .u-grid a {
    width: 70%;
    margin: 0 auto;
  }
}



@media screen and (min-width:768px) {
  #parasportsgekkan .u-grid {
    gap: 40px 60px
  }

  /* 20250324追記 */
  #parasportsgekkan .u-grid a:first-child {
    /* width: 280px;
    display: grid;
    margin: 0 auto; */
  }

  #parasportsgekkan .u-grid._column2_ {
    grid-template-columns: repeat(2, 1fr)
  }

  #parasportsgekkan .u-grid._column3_,
  #parasportsgekkan .u-grid._column4_ {
    grid-template-columns: repeat(3, 1fr)
  }
}

#parasportsgekkan .u-youtube {
  padding-top: 55.3571428571%;
  position: relative
}

#parasportsgekkan .u-youtube iframe {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%
}

@media screen and (min-width:768px) {
  #parasportsgekkan .l-main__header {
    margin-bottom: 60px
  }
}

#parasportsgekkan .l-main__nav {
  margin-bottom: 40px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .l-main__nav {
    margin-bottom: 100px
  }
}

#parasportsgekkan .l-main__navInner {
  margin: 0 auto;
  width: 100%
}

@media screen and (min-width:768px) {
  #parasportsgekkan .l-main__navInner {
    width: 960px
  }
}

#parasportsgekkan .l-sectionGroup__inner {
  display: grid;
  gap: 60px;
  grid-auto-flow: row;
  margin: 0 auto 50px;
  width: 82.9333333333%
}

@media screen and (min-width:768px) {
  #parasportsgekkan .l-sectionGroup__inner {
    gap: 100px;
    width: 100%;
    max-width: 960px
  }
}

#parasportsgekkan .l-section {
  display: grid;
  gap: 36px;
  grid-auto-flow: row;
}

#parasportsgekkan .l-section .l-section {
  gap: 20px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .l-section {
    gap: 50px;
  }

  #parasportsgekkan .l-section .l-section {
    gap: 30px;
  }
}

#parasportsgekkan .l-section__header {
  display: grid;
  gap: 20px;
  grid-auto-flow: row;
}

@media screen and (min-width:768px) {
  #parasportsgekkan .l-section__header {
    gap: 30px;
  }
}

#parasportsgekkan .l-nextEventAndTopics {
  display: grid;
  gap: 20px;
  grid-auto-flow: row;
}

@media screen and (min-width:768px) {
  #parasportsgekkan .l-nextEventAndTopics {
    gap: 30px;
  }
}

#parasportsgekkan .l-reports {
  display: grid;
  gap: 30px;
}

@media screen and (min-width:768px) {
  #parasportsgekkan .l-reports {
    gap: 50px 30px;
    grid-template-columns: repeat(3, 1fr);
  }
}

#parasportsgekkan .l-center {
  display: flex;
  justify-content: center;
}

#parasportsgekkan a {
  color: #db002a;
}

#parasportsgekkan a:focus,
#parasportsgekkan a:hover {
  text-decoration: underline;
}
#parasportsgekkan a:hover img {
  opacity: 0.3;
}

#parasportsgekkan .c-contentsHeader {
  background: url(/assets/images/sports/taiken/ContentsHeader-SP@2x.png) no-repeat top/auto 100%;
  height: 84px;
  margin-top: -35px
}

#parasportsgekkan .c-contentsHeader._top_ {
  background-image: url(/assets/images/sports/taiken/ContentsHeaderTop-SP@2x.png);
  height: 180px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-contentsHeader {
    background-image: url(/assets/images/sports/taiken/ContentsHeader-PC@2x.png);
    height: 200px;
    margin-top: -40px
  }

  #parasportsgekkan .c-contentsHeader._top_ {
    background-image: url(/assets/images/sports/taiken/ContentsHeaderTop-PC@2x.png);
    height: 300px
  }
}

#parasportsgekkan .c-localNav {
  display: flex;
  flex-wrap: wrap;
  padding: 3px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-localNav {
    border-left: 1px solid #000;
    border-right: 1px solid #000;
    flex-wrap: nowrap;
    padding: 0
  }
}

#parasportsgekkan .c-localNav__button {
  align-items: center;
  background-color: #eceff1;
  border: 3px solid #fff;
  color: #000;
  display: flex;
  font-size: .8571428571em;
  font-weight: 700;
  height: 50px;
  justify-content: center;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
  width: 33.333%
}

#parasportsgekkan .c-localNav__button:focus,
#parasportsgekkan .c-localNav__button:hover {
  text-decoration: none
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-localNav__button {
    background-color: #fff;
    border: 1px solid #000;
    border-bottom: none;
    border-top: none;
    font-size: 1em;
    transition: all .2s ease;
    width: 100%
  }

  #parasportsgekkan .c-localNav__button._current_,
  #parasportsgekkan .c-localNav__button:focus,
  #parasportsgekkan .c-localNav__button:hover {
    background-color: #484848;
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .3)
  }
}

#parasportsgekkan .c-nextEvent {
  border: 1px solid #4aa335
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-nextEvent {
    display: flex;
    font-size: 1.2em
  }
}

#parasportsgekkan .c-nextEvent__heading {
  align-items: center;
  background-color: #4aa335;
  color: #fff;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  font-weight: 700;
  justify-content: center;
  min-height: 39px;
  padding: 0 0 1px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-nextEvent__heading {
    min-height: 54px;
    padding: 12px 0;
    width: 160px
  }
}

#parasportsgekkan .c-nextEvent__update {
  font-size: .7em;
  font-weight: 400
}

#parasportsgekkan .c-nextEvent__body {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 12px;
  justify-content: center;
  padding: 12px 23px
}

#parasportsgekkan .c-nextEvent__body a:not(.c-button) {
  color: #000;
  text-decoration: underline
}

#parasportsgekkan .c-nextEvent__body a:not(.c-button):focus,
#parasportsgekkan .c-nextEvent__body a:not(.c-button):hover {
  color: #4aa335;
  text-decoration: none
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-nextEvent__body {
    padding: 12px 30px
  }
}

/* #parasportsgekkan .c-nextEvent__body>*+* {
  border-top: 1px dashed #4aa335;
  padding-top: 12px
} */

/* 20240925追記 */
#parasportsgekkan .c-nextEvent__body>*:nth-of-type(2n) {
  border-top: 1px dashed #4aa335;
  padding-top: 12px;
}

#parasportsgekkan .c-nextEvent__body>*:nth-of-type(2n+1):not(:first-of-type) {
  border-top: 1px solid #4aa335;
  padding-top: 12px;
}

/* ここまで */

#parasportsgekkan .c-nextEventItem {
  display: grid;
  gap: 15px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-nextEventItem {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    font-size: .8333333333em;
    gap: 30px;
    justify-content: flex-end;
    padding: 0;
    width: 100%
  }
}

#parasportsgekkan .c-nextEventItem__thumbnail {
  width: 30%
}

#parasportsgekkan .c-nextEventItem__thumbnail img {
  width: 100%
}

#parasportsgekkan .c-nextEventItem__body {
  display: grid;
  gap: 15px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-nextEventItem__body {
    flex: 1 1 auto
  }
}

#parasportsgekkan .c-nextEventItem__info {
  display: grid;
  gap: 5px
}

#parasportsgekkan .c-nextEventItem__name {
  font-size: 1.2em;
  font-weight: 700
}

#parasportsgekkan .c-nextEventItem__data {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 1em
}

#parasportsgekkan .c-topics {
  border: 1px solid #006abd
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-topics {
    display: flex;
    font-size: 1.2em
  }
}

#parasportsgekkan .c-topics__heading {
  align-items: center;
  background-color: #006abd;
  color: #fff;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  font-weight: 700;
  justify-content: center;
  min-height: 39px;
  padding: 0 0 1px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-topics__heading {
    min-height: 54px;
    padding: 12px 0;
    width: 160px
  }
}

#parasportsgekkan .c-topics__update {
  font-size: .7em;
  font-weight: 400
}

#parasportsgekkan .c-topics__body {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 12px;
  justify-content: center;
  padding: 12px 23px
}

#parasportsgekkan .c-topics__body a {
  color: #000;
  text-decoration: underline
}

#parasportsgekkan .c-topics__body a:focus,
#parasportsgekkan .c-topics__body a:hover {
  color: #006abd;
  text-decoration: none
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-topics__body {
    padding: 12px 30px
  }
}

#parasportsgekkan .c-topics__body>*+* {
  border-top: 1px dashed #006abd;
  padding-top: 12px
}

#parasportsgekkan .c-notice {
  border: 1px solid #db002a
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-notice {
    font-size: 1.2em
  }
}

#parasportsgekkan .c-notice__heading {
  align-items: center;
  background-color: #db002a;
  color: #fff;
  display: flex;
  flex-shrink: 0;
  font-weight: 700;
  min-height: 39px;
  padding: 6px 23px 7px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-notice__heading {
    min-height: 41px;
    padding: 6px 30px 7px
  }
}

#parasportsgekkan .c-notice__body {
  align-items: center;
  background-color: #fff;
  display: flex;
  flex-grow: 1;
  padding: 19px 23px
}

#parasportsgekkan .c-notice__body a {
  color: #000;
  display: block;
  flex: 1 1 auto;
  text-decoration: underline
}

#parasportsgekkan .c-notice__body a:focus,
#parasportsgekkan .c-notice__body a:hover {
  color: #db002a;
  text-decoration: none
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-notice__body {
    padding: 12px 30px
  }
}

#parasportsgekkan .c-headingLv1 {
  display: flex;
  font-size: 1.25rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.4;
  text-align: center
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-headingLv1 {
    font-size: 1.8em
  }
}

#parasportsgekkan .c-headingLv1__label {
  display: block
}

/* #parasportsgekkan .c-headingLv1__label:after {
  background: #db002a;
  background: linear-gradient(90deg, #db002a, #db002a 33.33%, #006abd 0, #006abd 66.66%, #4aa335 0, #4aa335);
  content: "";
  display: block;
  height: 6px;
  margin-top: 14px;
  width: 100%
} */

@media screen and (min-width:768px) {
  #parasportsgekkan .c-headingLv1__label:after {
    margin-top: 20px
  }
}

#parasportsgekkan .c-headingLv2 {
  display: flex;
  font-size: 1.4em;
  font-weight: 700;
  line-height: 1.2244897959
}

#parasportsgekkan .c-headingLv2:before {
  background: #db002a;
  background: linear-gradient(180deg, #db002a, #db002a 33.33%, #006abd 0, #006abd 66.66%, #4aa335 0, #4aa335);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 100%;
  margin-right: 12px;
  width: 4px
}

#parasportsgekkan .c-headingDescription {
  font-size: 1em;
  text-align: center
}

#parasportsgekkan .c-memo {
  display: grid;
  font-size: .9285714286em;
  gap: 6px;
  grid-auto-flow: row;
  margin-top: -20px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-memo {
    font-size: 1em
  }

  #parasportsgekkan .c-memo._center_ {
    justify-content: center
  }
}

#parasportsgekkan .c-localPageLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-localPageLinks {
    gap: 60px 44px
  }
}

#parasportsgekkan .c-localPageLink {
  border: 1px solid #4d4d4d;
  box-shadow: 6px 6px 0 #4aa335;
  color: #000;
  display: block;
  left: 0;
  padding: 10px 60px 19px 19px;
  position: relative;
  top: 0;
  transition: all .2s ease;
  width: 100%
}

#parasportsgekkan .c-localPageLink:before {
  background: url(/assets/images/sports/taiken/arrow.svg) no-repeat 50%/100% 100%;
  bottom: 0;
  content: "";
  display: block;
  height: 18px;
  margin: auto;
  position: absolute;
  right: 16px;
  top: 0;
  width: 24px
}

#parasportsgekkan .c-localPageLink:focus,
#parasportsgekkan .c-localPageLink:hover {
  box-shadow: none;
  left: 6px;
  text-decoration: none;
  top: 6px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-localPageLink {
    padding: 14px 19px 59px;
    width: 280px
  }

  #parasportsgekkan .c-localPageLink:before {
    bottom: 21px;
    height: 22px;
    margin: auto;
    right: 19px;
    top: auto;
    width: 32px
  }
}

#parasportsgekkan .c-localPageLink__title {
  border-bottom: 2px solid #db002a;
  font-size: 1.2857142857em;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 10px;
  padding: 12px 0
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-localPageLink__title {
    font-size: 1.4rem;
    margin-bottom: 14px;
    padding: 14px 0
  }
}

#parasportsgekkan .c-localPageLink__description {
  font-size: 1rem;
  line-height: 1.5
}

#parasportsgekkan .c-localPageLinkSimple {
  align-items: center;
  border: 1px solid #4d4d4d;
  box-shadow: 6px 6px 0 #4aa335;
  color: #000;
  display: flex;
  font-size: 1.2em;
  font-weight: 700;
  justify-content: center;
  left: 0;
  max-width: 460px;
  min-height: 80px;
  padding: 20px;
  position: relative;
  text-align: center;
  top: 0;
  transition: all .2s ease
}

#parasportsgekkan .c-localPageLinkSimple:focus,
#parasportsgekkan .c-localPageLinkSimple:hover {
  box-shadow: none;
  left: 6px;
  text-decoration: none;
  top: 6px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-localPageLinkSimple {
    padding: 20px
  }
}

#parasportsgekkan .c-what {
  display: grid;
  gap: 20px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-what {
    display: flex;
    gap: 40px;
    margin: 40px 0;
  }
}

#parasportsgekkan .c-what__lead {
  font-size: 1em;
  line-height: 1.8
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-what__lead {
    font-size: 1.2em;
    line-height: 1.5
  }

  #parasportsgekkan .c-what__image {
    flex-shrink: 0;
    width: 30%
  }
}

#parasportsgekkan .c-scheduleTable {
  font-size: 1em;
  margin: 0 -20px;
  overflow-x: scroll;
  touch-action: manipulation;
  width: calc(100% + 40px)
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-scheduleTable {
    margin: 0;
    width: 100%
  }
}

#parasportsgekkan .c-scheduleTable__table {
  border: none;
  border-collapse: separate;
  border-spacing: 1px;
  width: 960px
}

#parasportsgekkan .c-scheduleTable__table td,
#parasportsgekkan .c-scheduleTable__table th {
  vertical-align: middle
}

#parasportsgekkan .c-scheduleTable__table th {
  background-color: #006abd;
  color: #fff;
  font-weight: 700;
  padding: 15px 20px;
  text-align: left;
  white-space: nowrap
}

#parasportsgekkan .c-scheduleTable__table th._dateAndTime_ {
  width: 10em
}

#parasportsgekkan .c-scheduleTable__table th._competitions_,
#parasportsgekkan .c-scheduleTable__table th._guest_ {
  min-width: 10em
}

#parasportsgekkan .c-scheduleTable__table td {
  background-color: #f5f7f5;
  padding: 20px
}

#parasportsgekkan .c-scheduleTable__table tr:not(:first-child) td {
  border-top: 1px solid rgba(0, 106, 189, .5)
}

#parasportsgekkan .c-scheduleTable__table ._inThePast_ td {
  background-color: #d0d2d0;
  color: #4d4d4d
}

#parasportsgekkan .c-scheduleTable__eventName {
  font-weight: 700
}

#parasportsgekkan .c-scheduleTable__venue {
  display: flex;
  gap: .5em;
  margin-top: .25em
}

#parasportsgekkan .c-scheduleTable__venue .__label {
  flex-shrink: 0
}

#parasportsgekkan .c-scheduleTable__button {
  margin-top: .75em
}

#parasportsgekkan .c-button {
  align-items: center;
  background-color: #006abd;
  border-radius: 20px;
  color: #fff;
  display: flex;
  font-size: 1em;
  font-weight: 700;
  justify-content: center;
  line-height: 1.2;
  min-height: 38px;
  min-width: 148px;
  padding: 10px 32px;
  text-align: center;
  transition: all .2s ease
}

#parasportsgekkan .c-button._green_ {
  background-color: #4aa335
}

#parasportsgekkan .c-button._inline_ {
  display: inline-flex
}

#parasportsgekkan .c-button:focus,
#parasportsgekkan .c-button:hover {
  opacity: .6;
  text-decoration: none
}

#parasportsgekkan .c-athleteList {
  display: grid;
  gap: 20px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-athleteList {
    gap: 30px 40px;
    grid-template-columns: repeat(2, 1fr)
  }
}

#parasportsgekkan .c-athleteCard {
  background-color: #f5f7f5;
  height: 100%;
  padding: 15px
}

#parasportsgekkan .c-athleteCard__inner {
  display: grid;
  gap: 15px 10px;
  grid-auto-flow: row;
  grid-template-areas: "c-athleteCard__image c-athleteCard__headeer" "c-athleteCard__body c-athleteCard__body";
  grid-template-columns: 120px 1fr;
  grid-template-rows: auto 1fr;
  min-height: 90px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-athleteCard__inner {
    grid-template-areas: "c-athleteCard__image c-athleteCard__headeer" "c-athleteCard__image c-athleteCard__body"
  }
}

#parasportsgekkan .c-athleteCard__image {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: c-athleteCard__image
}

#parasportsgekkan .c-athleteCard__imageCopyrights {
  display: block;
  font-size: .7142857143em;
  line-height: 1;
  margin-top: 2px;
  text-align: right
}

#parasportsgekkan .c-athleteCard__headeer {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  display: flex;
  flex-direction: column;
  gap: 5px;
  grid-area: c-athleteCard__headeer;
  justify-content: center
}

#parasportsgekkan .c-athleteCard__name {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1
}

#parasportsgekkan .c-athleteCard__competition {
  line-height: 1
}

#parasportsgekkan .c-athleteCard__body {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  display: grid;
  gap: 15px;
  grid-area: c-athleteCard__body
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-athleteCard__image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1
  }

  #parasportsgekkan .c-athleteCard__headeer {
    -ms-grid-row: 1;
    -ms-grid-column: 2
  }

  #parasportsgekkan .c-athleteCard__body {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1
  }
}

#parasportsgekkan .c-athleteCard__description {
  line-height: 1.4;
  margin: -.2em 0
}

/* 20241120追記 */
@media screen and (min-width: 1024px) { 
  #parasportsgekkan .c-athleteCard__description {
    min-height: 135px;
  }
  #parasportsgekkan .c-athleteCard__description_mh9 {
    min-height: 190px;
  }
  #parasportsgekkan .c-athleteCard__description_mh11 {
    min-height: 210px;
  }
}

#parasportsgekkan .c-athleteCard__reports {
  display: grid;
  gap: 6px;
  grid-auto-flow: row
}

#parasportsgekkan .c-athleteCard__report {
  align-items: center;
  background-color: #fff;
  color: #4aa335;
  display: flex;
  font-weight: 700;
  justify-content: space-between;
  padding: 4px 10px
}

#parasportsgekkan .c-athleteCard__report .__icon {
  fill: currentColor;
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 19px
}

#parasportsgekkan .c-athleteCard__report:focus,
#parasportsgekkan .c-athleteCard__report:hover {
  background-color: #4aa335;
  color: #fff;
  text-decoration: none
}

#parasportsgekkan .c-athleteCard__sns {
  display: grid;
  gap: 10px;
  grid-auto-flow: column;
  grid-template-columns: repeat(3, 1fr)
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-athleteCard__sns {
    grid-template-columns: repeat(3, auto);
    justify-content: start
  }
}

#parasportsgekkan .c-athleteCard__blog,
#parasportsgekkan .c-athleteCard__facebook,
#parasportsgekkan .c-athleteCard__instagram,
#parasportsgekkan .c-athleteCard__twitter {
  align-items: center;
  display: flex;
  height: 24px;
  justify-content: center;
  transition: all .2s ease
}

#parasportsgekkan .c-athleteCard__blog i,
#parasportsgekkan .c-athleteCard__blog img,
#parasportsgekkan .c-athleteCard__facebook i,
#parasportsgekkan .c-athleteCard__facebook img,
#parasportsgekkan .c-athleteCard__instagram i,
#parasportsgekkan .c-athleteCard__instagram img,
#parasportsgekkan .c-athleteCard__twitter i,
#parasportsgekkan .c-athleteCard__twitter img {
  display: block
}

#parasportsgekkan .c-athleteCard__blog:focus,
#parasportsgekkan .c-athleteCard__blog:hover,
#parasportsgekkan .c-athleteCard__facebook:focus,
#parasportsgekkan .c-athleteCard__facebook:hover,
#parasportsgekkan .c-athleteCard__instagram:focus,
#parasportsgekkan .c-athleteCard__instagram:hover,
#parasportsgekkan .c-athleteCard__twitter:focus,
#parasportsgekkan .c-athleteCard__twitter:hover {
  opacity: .8
}

@media screen and (min-width:768px) {

  #parasportsgekkan .c-athleteCard__blog,
  #parasportsgekkan .c-athleteCard__facebook,
  #parasportsgekkan .c-athleteCard__instagram,
  #parasportsgekkan .c-athleteCard__twitter {
    width: 24px
  }
}

#parasportsgekkan .c-athleteCard__facebook {
  background-color: #1b74e4
}

#parasportsgekkan .c-athleteCard__facebook i img {
  height: 16px;
  width: auto
}

#parasportsgekkan .c-athleteCard__twitter {
  background-color: #1d9bf0
}

#parasportsgekkan .c-athleteCard__twitter i img {
  height: auto;
  width: 16px
}

#parasportsgekkan .c-athleteCard__instagram {
  background-color: #b80060
}

#parasportsgekkan .c-athleteCard__instagram i img {
  height: 14px;
  width: auto
}

#parasportsgekkan .c-athleteCard__blog {
  background-color: #fff;
  font-weight: 700;
  line-height: 1
}

#parasportsgekkan .c-athleteCard__blog i {
  height: 14px;
  width: auto
}

#parasportsgekkan .c-athleteCard__blog:focus,
#parasportsgekkan .c-athleteCard__blog:hover {
  background-color: #ffe8ec;
  opacity: .8;
  text-decoration: none
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-athleteCard__blog {
    width: auto;
    width: 3em
  }
}

#parasportsgekkan .c-report {
  border: 1px solid #e8ebec;
  display: grid;
  gap: 0 15px;
  grid-template-areas: "c-report__image c-report__header" "c-report__body c-report__body";
  grid-template-columns: 120px 1fr;
  grid-template-rows: auto 1fr;
  padding: 20px 0 0
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-report {
    display: flex;
    flex-direction: column;
    padding: 0
  }
}

#parasportsgekkan .c-report__image {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  align-self: center;
  display: block;
  grid-area: c-report__image;
  width: 100%
}

#parasportsgekkan .c-report__image img {
  height: auto;
  width: 100%
}

#parasportsgekkan .c-report__image._gallery_ a {
  display: block
}

#parasportsgekkan .c-report__image._gallery_ a:first-child {
  position: relative
}

#parasportsgekkan .c-report__image._gallery_ a:first-child:after {
  background: url(/assets/images/sports/taiken/expand.svg) no-repeat 50%/contain;
  content: "";
  display: block;
  height: 24px;
  position: absolute;
  right: 8px;
  top: 8px;
  width: 28px
}

#parasportsgekkan .c-report__image._gallery_ a:not(:first-child) {
  display: none
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-report__image._gallery_ a {
    overflow: hidden;
    padding-top: 56.25%
  }

  #parasportsgekkan .c-report__image._gallery_ a img {
    height: auto;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%
  }
}

#parasportsgekkan a.c-report__image {
  cursor: pointer
}

#parasportsgekkan .c-report__inner {
  display: contents
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-report__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
    padding: 20px
  }
}

#parasportsgekkan .c-report__header {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  align-self: center;
  grid-area: c-report__header
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-report__header {
    align-self: start
  }
}

#parasportsgekkan .c-report__title {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.3;
  margin: -.15em 0
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-report__title {
    font-size: 1.4em
  }
}

#parasportsgekkan .c-report__date {
  display: block;
  line-height: 1;
  margin-top: 15px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-report__date {
    margin-top: 12px
  }
}

#parasportsgekkan .c-report__body {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  display: flex;
  flex-direction: column;
  grid-area: c-report__body;
  height: 100%;
  padding: 20px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-report__body {
    padding: 0
  }
}

#parasportsgekkan .c-report__infomations {
  display: grid;
  gap: 15px;
  margin-bottom: 25px
}

#parasportsgekkan .c-report__info {
  display: grid;
  gap: 4px;
  line-height: 1.3
}

#parasportsgekkan .c-report__infoLabel {
  color: #4d4d4d;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 6px
}

#parasportsgekkan .c-report__infoDescription {
  margin: -.15em 0
}

#parasportsgekkan .c-report__buttons {
  display: grid;
  gap: 10px;
  margin-top: auto
}

#parasportsgekkan .c-nlcTitle {
  display: grid;
  font-size: 1.4em;
  font-weight: 700;
  gap: 20px;
  justify-content: center;
  line-height: 1.2;
  text-align: center
}

#parasportsgekkan .c-nlcTitle img {
  display: block;
  margin: auto;
  width: 640px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-nlcTitle {
    font-size: 1.8em;
    gap: 30px;
    line-height: 1.4
  }
}

#parasportsgekkan .c-nlcLead {
  line-height: 1.8
}

#parasportsgekkan .c-passportIntro {
  display: grid;
  gap: 30px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-passportIntro {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    gap: 60px
  }

  #parasportsgekkan .c-passportIntro__image {
    flex-shrink: 0;
    width: 410px
  }
}

#parasportsgekkan .c-passportIntro__lead {
  display: grid;
  gap: 1.5em
}

#parasportsgekkan .c-stampRally {
  background-color: #f5f7f5;
  display: grid;
  gap: 30px;
  padding: 30px 20px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-stampRally {
    gap: 40px;
    padding: 60px
  }
}

#parasportsgekkan .c-stampRally__title {
  text-align: center
}

#parasportsgekkan .c-stampRally__title img {
  max-width: 360px
}

#parasportsgekkan .c-stampRally__gifts {
  display: flex;
  flex-wrap: wrap;
  gap: 22px
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-stampRally__gifts {
    gap: 39px
  }
}

#parasportsgekkan .c-stampRally__gift {
  flex: 1 0 100%
}

@media screen and (min-width:768px) {
  #parasportsgekkan .c-stampRally__gift {
    flex: 1 0 250px
  }
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: pointer
}

.mfp-wrap .mfp-content {
  line-height: 0;
  max-width: 900px;
  width: 100%
}

.mfp-loading.mfp-figure {
  display: block
}

button.mfp-arrow {
  height: 50px;
  width: 50px
}

button.mfp-arrow:after,
button.mfp-arrow:before {
  content: none
}

button.mfp-arrow-left {
  background: url(/assets/images/top/btn_bg_prev.png)
}

button.mfp-arrow-right {
  background: url(/assets/images/top/btn_bg_next.png)
}

@media (max-width:767px) {
  .mfp-container {
    padding-left: 5vw;
    padding-right: 5vw
  }

  .mfp-content {
    background: #fff;
    padding: 0
  }

  .mfp-title {
    color: #000 !important;
    font-size: 120%;
    font-weight: 700;
    left: 0;
    line-height: 1.4 !important;
    padding-right: 0 !important;
    position: absolute;
    top: 1rem;
    width: 100%
  }

  img.mfp-img {
    padding: 30px 0
  }

  .mfp-iframe-scaler {
    height: auto;
    overflow: visible;
    padding: 30px 0;
    position: relative
  }

  .mfp-iframe-scaler iframe {
    box-shadow: none !important;
    height: 50.625vw;
    position: static;
    width: 90vw
  }

  button.mfp-close {
    background: url(/assets/images/common/btn_modal.png) no-repeat right 0;
    background-size: contain;
    color: #000;
    height: 21px !important;
    opacity: 1 !important;
    overflow: hidden;
    padding-right: 0 !important;
    right: -10px !important;
    text-align: right;
    text-indent: 100%;
    top: -10px !important;
    white-space: nowrap;
    width: 21px !important;
    width: 100%
  }
}

@media (min-width:768px) {
  .mfp-content {
    background: #fff
  }

  .mfp-title {
    color: #000 !important;
    font-size: 150%;
    font-weight: 700;
    left: 0;
    line-height: 1.4 !important;
    position: absolute;
    top: 30px;
    width: 100%
  }

  .mfp-figure {
    padding: 60px
  }

  .mfp-figure:after {
    content: none
  }

  img.mfp-img {
    padding: 0;
    width: 100%
  }

  .mfp-counter {
    right: 60px
  }

  .mfp-iframe-scaler {
    height: auto;
    padding: 60px
  }

  .mfp-iframe-scaler iframe {
    box-shadow: none !important;
    display: block;
    height: 438.75px !important;
    position: static;
    width: 780px !important
  }

  button.mfp-close {
    background: url(/assets/images/common/btn_modal.png) no-repeat right 0;
    background-size: contain;
    color: #000;
    height: 43px !important;
    opacity: 1 !important;
    overflow: hidden;
    padding-right: 0 !important;
    right: 10px !important;
    text-align: right;
    text-indent: 100%;
    top: 10px !important;
    white-space: nowrap;
    width: 43px !important;
    width: 100%
  }
}

/* 20240424 追記 */
.l-section__subtitle {
  margin-top: 60px;
}

#parasportsgekkan .c-scheduleTable__table th._competitions_,
#parasportsgekkan .c-scheduleTable__table th._guest_ {
  min-width: 17em;
}

#topicsCont ul li img {
  object-fit: fill;
}

.c-nextEventItem__name2 {
  font-size: 1.2em;
  font-weight: 700;
  padding-top: 5px;
}

.c-contents-end {
  width: 100%;
  display: inline-block; /* テキストの周りだけ囲む */
  border: 1px solid red;
  padding: 10px;
  text-align: center;
  font-size: 16px;
}

/* 202506 追記 */
#parasportsgekkan .events a {
  color: unset;
}
#parasportsgekkan .events div {
  padding: 5px;
  text-align: center;
}
#parasportsgekkan .events div:hover {
  margin: -3px;
  border: solid 3px #006abd;
}
#parasportsgekkan .events a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#parasportsgekkan .events h3 , 
#parasportsgekkan .other-events h2 {
  margin: 10px 0 0;
  font-size: 1.5em;
  font-weight: 700;
  text-align: center;
}
#parasportsgekkan .other-events h2 {
  font-size: 2.0rem;
}
/* #parasportsgekkan .events h3::after , 
#parasportsgekkan .event-cook h3::after , 
#parasportsgekkan .other-events h2::after {
  content: "";
  display: block;
  background: linear-gradient(90deg, #db002a, #db002a 33.33%, #006abd 0, #006abd 66.66%, #4aa335 0, #4aa335);
  height: 3px;
  margin-top: 0px;
  width: 100%;
} */
#parasportsgekkan .events p {
  padding: 10px 1rem 0;
  text-align: left;
}
#parasportsgekkan .event-cook h3 {
  margin: 10px 0 0;
  font-size: 1.5em;
  font-weight: 700;
  text-align: center;
}
/*
#parasportsgekkan .event-cook h3::after {
  content: "";
  display: block;
  background: linear-gradient(90deg, #db002a, #db002a 33.33%, #006abd 0, #006abd 66.66%, #4aa335 0, #4aa335);
  height: 3px;
  margin-top: 0px;
  width: 100%;
}
*/
#parasportsgekkan .event-cook h4 {
  padding: 10px 0;
  font-size: 1.5em;
  font-weight: 700;
  text-align: center;
}
#parasportsgekkan .event-cook p , 
#parasportsgekkan .event-cook div {
	padding: 10px 1rem;
}
#parasportsgekkan .event-cook .event-cook-detail {
	display: flex;
}
#parasportsgekkan .event-cook .event-cook-detail dt {
    width: 100px;
    margin: 0 20px 5px 0;
    padding: 2px 0 1px;
    background: #006abd;
    border-radius: 10vh;
    color: #fff;
    font-weight: 700;
    text-align: center;
}
#parasportsgekkan .event-cook .event-cook-detail dd {
	margin: 0 0 10px;
    font-size: 1.15rem;
}
#parasportsgekkan .event-cook .event-cook-detail .event-cook-imgs {
	display: flex;
	margin: 0 0 0 auto;
	padding: 0;
}
#parasportsgekkan .event-cook .event-cook-detail .event-cook-imgs div {
	padding: 0 10px 0;
}
#parasportsgekkan .event-cook .event-cook-detail .event-cook-imgs p {
	margin: 5px 0 0;
	font-size: 1.0rem;
	text-align: center;
}
#parasportsgekkan .event-cook .event-cook-detail .event-cook-imgs p rt {
	font-size: 0.7rem;
}
#parasportsgekkan .event-cook .paraspot-detail-movebtn {
	padding: 0 1rem;
}
/* #parasportsgekkan .event-cook .paraspot-detail-movebtn ol li a {
    display: block;
    width: 200px;
    margin: 0 auto;
    padding: 10px 0;
    background: #db002a;
    border-radius: 10vh;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
} */
#parasportsgekkan .event-cook .paraspot-detail-movebtn ol li a:hover {
	opacity: 0.3;
}
#parasportsgekkan .other-event {
	margin: 30px auto 50px;
}
#parasportsgekkan .other-event h3 {
	font-size: 1.5rem;
	font-weight: 700;
}

#parasportsgekkan .other-event div .other-event-detail {
  display: flex;
  margin: 0;
  padding: 0;
}

#parasportsgekkan .other-event div dt {
	width: 100px;
	margin: 0 20px 5px 0;
	padding: 2px 0 1px;
	background: #006abd;
	border-radius: 10vh;
	color: #fff;
	font-weight: 700;
	text-align: center;
}
#parasportsgekkan .other-event div dd {
	margin: 0 0 10px;
	font-size: 1.15rem;
}
#parasportsgekkan .other-event div table {
	margin: 10px 0;
	font-size: 1.2rem;
}
#parasportsgekkan .other-event div table th {
	padding: 10px;
	white-space: nowrap;
	color: #fff;
	font-weight: 700;
	background-color: #4aa335;
	border: 1px solid #333;
}
#parasportsgekkan .other-event div table td {
	padding: 10px;
	/* border: 1px solid #333; */
}
#parasportsgekkan .other-event div .event-note {
	padding: 0 0 0 1rem;
	font-size: 1.2rem;
	text-indent: -1rem;
}
#parasportsgekkan .other-event.machinaka div dl {
	width: calc(100% - 40%);
}
#parasportsgekkan .other-event.machinaka div img {
	/* width: 40%; */
	height: fit-content;
}



@media (max-width:767px) {
	#parasportsgekkan .caption {
		flex-wrap: wrap;
		margin: 20px auto;
	}
	#parasportsgekkan .caption .c-what__lead {
		order: 2;
	}
	#parasportsgekkan .caption .c-what__image {
		order: 1;
		display: block;
		margin: 0 auto;
	}
	#parasportsgekkan .event-cook h4 {
		font-size: 1.3em;
	}
	#parasportsgekkan .event-cook .event-cook-detail {
		display: block;
	}
	#parasportsgekkan .event-cook .event-cook-detail .event-cook-imgs {
		justify-content: center;
	}
	#parasportsgekkan .other-event {
		margin: 30px auto;
	}
	#parasportsgekkan .other-event div .other-event-detail {
		display: block;
	}
	#parasportsgekkan .other-event div img {
		height: auto;
	}
	#parasportsgekkan .other-event.machinaka div dl {
		width: 90%;
	}
	#parasportsgekkan .other-event.machinaka div img {
		display: block;
		margin: 0 auto;
		width: 80%;
    width: 100%;
		height: auto;
	}
	#parasportsgekkan .event-cook .event-cook-detail dd , 
	#parasportsgekkan .other-event div dd , 
	#parasportsgekkan .other-event div table {
		font-size: 1.0rem;
	}
	#parasportsgekkan .other-event div .event-note {
		font-size: 0.9rem;
	}
}
/* //202506 追記 */

/* 20250710追記 */
@media screen and (max-width:1024px) {
  #parasportsgekkan .l-section , 
  #parasportsgekkan .l-sectionGroup__inner {
    display: block;
  }
  #parasportsgekkan .l-sectionGroup__inner {
        width: 90%;
  }
	#parasportsgekkan .event-cook {
		margin: 30px 0 50px;
	}
  #parasportsgekkan .other-event div dd a {
    word-break: break-all;
  }
}
/* 追記ここまで */




/* 202606 追記 TOKYOパラスポーツ月間2026 */

/* =====================================================
  変数定義
===================================================== */
#parasportsgekkan {
  --para-red: #db002a;
  --para-blue: #006abd;
  --para-green: #4aa335;
  --para-yellow: #ffd84d;
  --para-light-blue: #eaf5ff;
  --para-light-green: #eef8ed;
  --para-light-red: #fff0f2;
}

/* =====================================================
  セクションカラー設定
===================================================== */
#parasportsgekkan .event-manga,
#parasportsgekkan .event-booth,
#parasportsgekkan .event-volunteer {
  --section-color: var(--para-blue);
  --section-light-color: var(--para-light-blue);
}

#parasportsgekkan .event-recreation,
#parasportsgekkan .event-conference {
  --section-color: var(--para-green);
  --section-light-color: var(--para-light-green);
}

#parasportsgekkan .machinaka,
#parasportsgekkan .event-walking,
#parasportsgekkan .event-hope {
  --section-color: var(--para-red);
  --section-light-color: var(--para-light-red);
}

/* =====================================================
  ベース設定
===================================================== */
#parasportsgekkan img {
  max-width: 100%;
  height: auto;
}

#parasportsgekkan .l-section {
  gap: 10px;
}

/* =====================================================
  カラフルなフラッグ装飾
===================================================== */
#parasportsgekkan .c-headingLv1__label::before,
#parasportsgekkan .c-what__lead::before,
#parasportsgekkan .program-nav__title::before,
#parasportsgekkan .program-nav__title::after {
  content: "";
  display: block;
  width: 300px;
  height: 30px;
  margin: 0 auto;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22300%22%20height%3D%2214%22%20viewBox%3D%220%200%20300%2014%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpolygon%20points%3D%220%2C0%2010%2C0%205%2C12%22%20fill%3D%22%23e60033%22/%3E%3Cpolygon%20points%3D%2212%2C0%2022%2C0%2017%2C12%22%20fill%3D%22%23007bbb%22/%3E%3Cpolygon%20points%3D%2224%2C0%2034%2C0%2029%2C12%22%20fill%3D%22%2300a040%22/%3E%3Cpolygon%20points%3D%2236%2C0%2046%2C0%2041%2C12%22%20fill%3D%22%23f6c800%22/%3E%3Cpolygon%20points%3D%2248%2C0%2058%2C0%2053%2C12%22%20fill%3D%22%23e60033%22/%3E%3Cpolygon%20points%3D%2260%2C0%2070%2C0%2065%2C12%22%20fill%3D%22%23007bbb%22/%3E%3Cpolygon%20points%3D%2272%2C0%2082%2C0%2077%2C12%22%20fill%3D%22%2300a040%22/%3E%3Cpolygon%20points%3D%2284%2C0%2094%2C0%2089%2C12%22%20fill%3D%22%23f6c800%22/%3E%3Cpolygon%20points%3D%2296%2C0%20106%2C0%20101%2C12%22%20fill%3D%22%23e60033%22/%3E%3Cpolygon%20points%3D%22108%2C0%20118%2C0%20113%2C12%22%20fill%3D%22%23007bbb%22/%3E%3Cpolygon%20points%3D%22120%2C0%20130%2C0%20125%2C12%22%20fill%3D%22%2300a040%22/%3E%3Cpolygon%20points%3D%22132%2C0%20142%2C0%20137%2C12%22%20fill%3D%22%23f6c800%22/%3E%3Cpolygon%20points%3D%22144%2C0%20154%2C0%20149%2C12%22%20fill%3D%22%23e60033%22/%3E%3Cpolygon%20points%3D%22156%2C0%20166%2C0%20161%2C12%22%20fill%3D%22%23007bbb%22/%3E%3Cpolygon%20points%3D%22168%2C0%20178%2C0%20173%2C12%22%20fill%3D%22%2300a040%22/%3E%3Cpolygon%20points%3D%22180%2C0%20190%2C0%20185%2C12%22%20fill%3D%22%23f6c800%22/%3E%3Cpolygon%20points%3D%22192%2C0%20202%2C0%20197%2C12%22%20fill%3D%22%23e60033%22/%3E%3Cpolygon%20points%3D%22204%2C0%20214%2C0%20209%2C12%22%20fill%3D%22%23007bbb%22/%3E%3Cpolygon%20points%3D%22216%2C0%20226%2C0%20221%2C12%22%20fill%3D%22%2300a040%22/%3E%3Cpolygon%20points%3D%22228%2C0%20238%2C0%20233%2C12%22%20fill%3D%22%23f6c800%22/%3E%3Cpolygon%20points%3D%22240%2C0%20250%2C0%20245%2C12%22%20fill%3D%22%23e60033%22/%3E%3Cpolygon%20points%3D%22252%2C0%20262%2C0%20257%2C12%22%20fill%3D%22%23007bbb%22/%3E%3Cpolygon%20points%3D%22264%2C0%20274%2C0%20269%2C12%22%20fill%3D%22%2300a040%22/%3E%3Cpolygon%20points%3D%22276%2C0%20286%2C0%20281%2C12%22%20fill%3D%22%23f6c800%22/%3E%3Cpolygon%20points%3D%22288%2C0%20298%2C0%20293%2C12%22%20fill%3D%22%23e60033%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

#parasportsgekkan .program-nav__title::after,
#parasportsgekkan .other-events h2::after {
  margin: 8px auto 0;
}

/* =====================================================
  ファーストビュー
===================================================== */
#parasportsgekkan .caption {
  display: block;
  margin: 20px auto 50px;
  text-align: center;
}

#parasportsgekkan .caption .c-what__image {
  width: min(100%, 640px);
  margin: 0 auto 24px;
}

#parasportsgekkan .caption .c-what__lead {
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.8;
  /* font-weight: 700; */
}

/* =====================================================
  TEAM BEYOND プログラム
===================================================== */
#parasportsgekkan .program-nav {
  margin: 40px auto 60px;
}
@media screen and (max-width: 767px) {
  #parasportsgekkan .program-nav {
    margin-top: 30px;
  }
}

#parasportsgekkan .program-nav__text {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
}

#parasportsgekkan .program-nav__title {
  margin: 8px 0 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
}

#parasportsgekkan .program-nav__title h2 {
  margin-block: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#parasportsgekkan .program-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  /* max-width: 700px; */
  margin: 24px auto 0;
  padding: 0;
  list-style: none;
}

#parasportsgekkan .program-nav__list li {
  width: 300px;
}

#parasportsgekkan .program-nav__list a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 10px 14px;
  background: #fff;
  border: 2px solid var(--para-blue);
  border-radius: 8px;
  color: #000;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  transition: all .2s ease;
}

#parasportsgekkan .program-nav__list li:nth-child(1) a,
#parasportsgekkan .program-nav__list li:nth-child(4) a,
#parasportsgekkan .program-nav__list li:nth-child(7) a {
  border-color: var(--para-red);
}

#parasportsgekkan .program-nav__list li:nth-child(3) a, 
#parasportsgekkan .program-nav__list li:nth-child(6) a {
  border-color: var(--para-green);
}

#parasportsgekkan .program-nav__list a:hover {
  text-decoration: none;
}

/* 赤 */
#parasportsgekkan .program-nav__list li:nth-child(1) a:hover,
#parasportsgekkan .program-nav__list li:nth-child(4) a:hover,
#parasportsgekkan .program-nav__list li:nth-child(7) a:hover {
  background: var(--para-red);
  color: #fff;
}

/* 青 */
#parasportsgekkan .program-nav__list li:nth-child(2) a:hover,
#parasportsgekkan .program-nav__list li:nth-child(5) a:hover,
#parasportsgekkan .program-nav__list li:nth-child(8) a:hover
{
  background: var(--para-blue);
  color: #fff;
}

/* 緑 */
#parasportsgekkan .program-nav__list li:nth-child(3) a:hover,
#parasportsgekkan .program-nav__list li:nth-child(6) a:hover {
  background: var(--para-green);
  color: #fff;
}

/* =====================================================
  セクション共通
===================================================== */
#parasportsgekkan .other-event,
#parasportsgekkan .event-climbing {
  scroll-margin-top: 30px;
  margin: 100px auto 0;
}

#parasportsgekkan .other-event h3,
#parasportsgekkan .event-climbing h3 {
  width: fit-content;
  min-width: 280px;
  margin: 0 0 20px;
  padding: 8px 18px;
  background: var(--section-color);
  border-radius: 7px;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: left;
}

#parasportsgekkan .other-event-detail {
  align-items: flex-start;
  gap: 28px;
}

#parasportsgekkan .other-event-detail__body {
  display: flex;
  gap: 20px;
}

#parasportsgekkan .other-event-detail__body-reverse {
  display: flex;
  flex-direction: row-reverse;
}

#parasportsgekkan .other-event-detail__content {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

#parasportsgekkan .other-event-detail__body .other-event-detail__content p {
  width: 100%;
}

#parasportsgekkan .other-event-detail__body p {
  width: 50%;
  text-align: left;
}

#parasportsgekkan .other-event-detail > div {
  flex: 1;
}

#parasportsgekkan .other-event-detail img {
  display: block;
  width: 100%;
}

/* =====================================================
  詳細情報 dl
===================================================== */
#parasportsgekkan .other-event dl {
  width: 100%;
  margin: 20px 0;
}

#parasportsgekkan .other-event dl {
  display: grid;
  grid-template-columns: 110px 1fr;
  border-top: 1px solid var(--section-color);
}

#parasportsgekkan .other-event div dt,
#parasportsgekkan .other-event dt {
  width: auto;
  margin: 0;
  padding: 13px 10px;
  background: transparent;
  border-bottom: 1px solid var(--section-color);
  border-radius: 0;
  color: var(--section-color);
  font-weight: 700;
  text-align: left;
}

#parasportsgekkan .other-event div dd,
#parasportsgekkan .other-event dd {
  margin: 0;
  padding: 13px 12px;
  border-bottom: 1px solid var(--section-color);
  font-size: 1.05rem;
  line-height: 1.6;
  text-align: left;
}

/* =====================================================
  ワークショップ流れ
===================================================== */
#parasportsgekkan .workshop-flow {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 20px;
  max-width: 640px;
  margin: 30px auto;
  padding: 0;
  list-style: none;
}

#parasportsgekkan .workshop-flow li {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  column-gap: 12px;
  min-height: 72px;
  padding: 12px 16px;
  background: var(--para-light-blue);
  border-radius: 8px;
  font-weight: 700;
  line-height: 1.45;
}

#parasportsgekkan .workshop-flow li::before {
  position: static;
  transform: none;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  background: var(--para-blue);
  border-radius: 50%;
  color: #fff;
  font-size: .9rem;
  line-height: 1;
}

#parasportsgekkan .workshop-flow li:nth-child(1)::before { content: "1"; }
#parasportsgekkan .workshop-flow li:nth-child(2)::before { content: "2"; }
#parasportsgekkan .workshop-flow li:nth-child(3)::before { content: "3"; }
#parasportsgekkan .workshop-flow li:nth-child(4)::before { content: "4"; }
#parasportsgekkan .workshop-flow li:nth-child(5)::before { content: "5"; }

#parasportsgekkan .workshop-flow li:nth-child(5) {
  grid-column: 1 / 2;
}

/* =====================================================
  申込期限
===================================================== */
#parasportsgekkan .event-deadline {
  margin: 40px 0 8px;
  color: #000;
  font-size: 1.35rem;
  font-weight: 700;
  text-align: center;
}

/* =====================================================
  ボタン
===================================================== */
#parasportsgekkan .paraspot-detail-movebtn {
  display: flex;
  justify-content: center;

}

#parasportsgekkan .paraspot-detail-movebtn ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

#parasportsgekkan .btn {
  font-size: 1.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 240px;
  min-height: 48px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  margin-top: 0px;
}

#parasportsgekkan .btn__main {
  font-size: 1.5rem;
  line-height: 1.2;
}

#parasportsgekkan .btn__sub {
  font-size: 1rem;
  line-height: 1.2;
  margin-top: 2px;
}

#parasportsgekkan .btn:hover,
#parasportsgekkan .paraspot-detail-movebtn ol li a:hover {
  text-decoration: none;
}

#parasportsgekkan .btn-red {
  color: var(--para-red);
  border: 4px solid var(--para-red);
}

#parasportsgekkan .btn-red:hover {
  background: var(--para-red);
  color: #fff;
}

#parasportsgekkan .btn-blue {
  color: var(--para-blue);
  border: 4px solid var(--para-blue);
}

#parasportsgekkan .btn-blue:hover {
  background: var(--para-blue);
  color: #fff;
}

#parasportsgekkan .btn-green {
  color: var(--para-green);
  border: 4px solid var(--para-green);
}

#parasportsgekkan .btn-green:hover {
  background: var(--para-green);
  color: #fff;
}

#parasportsgekkan .paraspot-detail-movebtn ol li a span {
  display: block;
}

#parasportsgekkan .event-conference .btn {
  margin-top: 8px;
}

/* =====================================================
  テーブル共通
===================================================== */
#parasportsgekkan .other-event div table,
#parasportsgekkan .other-event table,
#parasportsgekkan table.lightup {
  width: 100%;
  margin: 20px 0 40px;
  border-collapse: collapse;
  font-size: 1rem;
}

#parasportsgekkan .other-event div table th,
#parasportsgekkan .other-event table th {
  padding: 12px 14px;
  background: var(--section-color);
  border: 1px solid #fff;
  color: #fff;
  font-weight: 700;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
}

#parasportsgekkan .event-lightup table th {
  background: #fff;
  color: black;
}

#parasportsgekkan .other-event div table td,
#parasportsgekkan .other-event table td{
  padding: 12px 14px;
  border-bottom: 1px solid var(--section-color);
  background: #fff;
  vertical-align: middle;
  line-height: 1.6;
  text-align: left;
}

#parasportsgekkan table.lightup th {
  background: #333;
  text-align: center;
}

#parasportsgekkan table.lightup td:first-child {
  font-weight: 700;
}

#parasportsgekkan .event-recreation table tbody td:first-child {
  color: var(--para-green);
  font-weight: 700;
}

#parasportsgekkan .event-hope table tbody td:first-child {
  color: var(--para-red);
  font-weight: 700;
}

/* =====================================================
  ライトアップ一覧専用
===================================================== */
#parasportsgekkan .other-event table.lightup {
  width: 100%;
  margin: 20px 0;
  border-collapse: collapse;
  background: #fff;
  text-align: left;
}

#parasportsgekkan .other-event table.lightup th,
#parasportsgekkan .other-event table.lightup td {
  padding: 14px 16px;
  background: #fff;
  border: none;
  border-bottom: 1px solid #ddd;
  color: #222;
  vertical-align: top;
  line-height: 1.7;
}

#parasportsgekkan .other-event table.lightup th {
  font-weight: 700;
  text-align: left;
}

#parasportsgekkan .other-event table.lightup tr:first-child th {
  border-top: 1px solid #ddd;
}

/* 偶数行の背景色を打ち消し */
#parasportsgekkan .other-event table.lightup tr:nth-child(even) td {
  background: #fff;
}

/* 縦線を消す */
#parasportsgekkan .other-event table.lightup th + th,
#parasportsgekkan .other-event table.lightup td + td {
  border-left: none;
}

#parasportsgekkan .other-event table.lightup td:first-child {
  width: 35%;
  font-weight: 700;
}

/* =====================================================
  カンファレンス専用 dl
===================================================== */
#parasportsgekkan .event-conference .conference-info {
  display: block;
  margin: 20px 0;
  border-top: none;
}

/* テーマ行 */
#parasportsgekkan .event-conference .conference-info__row--theme {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 14px 0 14px 40px;
  margin-bottom: 12px;
  border-bottom: 1px solid #d8e6f5;
  background-color: #f2faf0;
  border-left: 4px solid var(--para-green);
}

#parasportsgekkan .event-conference .conference-info__row--theme dt {
  width: fit-content;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--para-green);
  font-weight: 700;
  text-align: center;
}

#parasportsgekkan .event-conference .conference-info__row--theme dd {
  flex: 1;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  line-height: 1.5;
}

/* 通常行 */
#parasportsgekkan .event-conference .conference-info__row:not(.conference-info__row--theme) {
  display: grid;
  grid-template-columns: 110px 1fr;
  border-bottom: 1px solid #b7d7f4;
}

#parasportsgekkan .event-conference .conference-info__row:not(.conference-info__row--theme) dt {
  width: auto;
  margin: 0;
  padding: 13px 10px 13px 40px;
  background: transparent;
  border: none;
  color: var(--para-green);
  font-weight: 700;
}

#parasportsgekkan .event-conference .conference-info__row:not(.conference-info__row--theme) dd {
  margin: 0;
  padding: 13px 12px;
  border: none;
  font-size: 1.05rem;
  line-height: 1.6;
}

#parasportsgekkan .conference-title {
  font-size: 1.25rem;
}

/* =====================================================
  注記
===================================================== */
#parasportsgekkan .event-note {
  margin-top: 10px;
  padding-left: 1em;
  font-size: .95rem;
  line-height: 1.6;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  #parasportsgekkan .event-note {
    text-align: left !important;
  }
}

/* =====================================================
  ライトアップ画像
===================================================== */
#parasportsgekkan .other-event.event-lightup {
  margin-top: 20px;
}

#parasportsgekkan .event-lightup .other-event-detail__body {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}

#parasportsgekkan .event-lightup .other-event-detail__body2 {
  display: flex;
  flex-direction: column;
  gap: 64px;
  flex: 0 0 58%;
}

#parasportsgekkan .event-lightup .other-event-detail__body2 .other-event-detail__body2__image {
    display: flex;
    justify-content: flex-end;
    /* padding: 10px 0; */
    padding:0;
}

#parasportsgekkan .event-lightup .other-event-detail__body > div:last-child {
  flex: 0 0 34%;
}

#parasportsgekkan .event-lightup .other-event-detail__body2 img,
#parasportsgekkan .event-lightup .other-event-detail__body > div:last-child img {
  width: 100%;
  height: 100%;
  display: block;
}

#parasportsgekkan .event-lightup .other-event-detail {
  align-items: center;
}

#parasportsgekkan .event-lightup .other-event-detail p {
  width: 100%;
}

#parasportsgekkan .event-lightup .other-event-detail > div {
  display: flex;
  gap: 14px;
  width: 40%;
  justify-content: space-between;
  align-items: stretch;
}

#parasportsgekkan .event-lightup .other-event-detail img {
  /* width: calc(50% - 7px); */
  object-fit: cover;
}

#parasportsgekkan .event-lightup div .event-note {
  text-align: right;
  font-size: 1rem;
}

/* ライトアップ表 見出し */
#parasportsgekkan .other-event table.lightup th {
  color: #fff;
  font-weight: 700;
}

/* 場所 */
#parasportsgekkan .other-event table.lightup th.lightup-table__place {
  background: var(--para-red);
}

/* 日程 */
#parasportsgekkan .other-event table.lightup th.lightup-table__date {
  background: var(--para-blue);
}

/* 時間 */
#parasportsgekkan .other-event table.lightup th.lightup-table__time {
  background: var(--para-green);
}


/* =====================================================
  パラアスリートシール
===================================================== */
#parasportsgekkan .event-seal .event-seal__heading {
  padding-inline: 70px;
  margin-bottom: 40px;
  text-align: center;
}

.seal-title {
  margin: 0;
  text-align: center;
}

.seal-title__main-wrap {
  position: relative;
  display: inline-block;
}

.seal-title__main {
  position: relative;
  display: inline-block;
  padding-top: 24px;
  color: #0b1d57;
  font-size: 3rem;
  font-weight: 900;
}

/* 上中央の水玉 */
.seal-title__main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 86px;
  height: 14px;
  transform: translateX(-50%);
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2286%22%20height%3D%2214%22%20viewBox%3D%220%200%2086%2014%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%226%22%20fill%3D%22%23e60033%22/%3E%3Ccircle%20cx%3D%2225%22%20cy%3D%227%22%20r%3D%226%22%20fill%3D%22%23007bbb%22/%3E%3Ccircle%20cx%3D%2243%22%20cy%3D%227%22%20r%3D%226%22%20fill%3D%22%2300a040%22/%3E%3Ccircle%20cx%3D%2261%22%20cy%3D%227%22%20r%3D%226%22%20fill%3D%22%23f6c800%22/%3E%3Ccircle%20cx%3D%2279%22%20cy%3D%227%22%20r%3D%226%22%20fill%3D%22%23ff66a3%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* ヒゲ線 */
.seal-whisker {
  position: absolute;
  top: 30px;
  width: 48px;
  height: 28px;
}

.seal-whisker--left {
  left: -56px;
  rotate: -45deg;
}

.seal-whisker--right {
  right: -56px;
  rotate: 45deg;
}

.seal-whisker span {
  position: absolute;
  top: 4px;
  width: 4px;
  height: 22px;
  border-radius: 999px;
}

.seal-whisker--left span:nth-child(1) {
  left: 4px;
  background: #00a040;
  transform: rotate(-35deg);
}

.seal-whisker--left span:nth-child(2) {
  left: 22px;
  background: #007bbb;
  transform: rotate(-18deg);
}

.seal-whisker--left span:nth-child(3) {
  left: 40px;
  background: #ff4d7d;
  transform: rotate(18deg);
}

.seal-whisker--right span:nth-child(1) {
  right: 40px;
  background: #ff4d7d;
  transform: rotate(-18deg);
}

.seal-whisker--right span:nth-child(2) {
  right: 22px;
  background: #007bbb;
  transform: rotate(18deg);
}

.seal-whisker--right span:nth-child(3) {
  right: 4px;
  background: #FFD84D;
  transform: rotate(35deg);
}

/* サブタイトル */
.seal-title__line2 {
  position: relative;
  display: inline-block;
  color: #ff4d7d;
  font-weight: 700;
}

.seal-title__line2::before,
.seal-title__line2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 96px;
  height: 8px;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2296%22%20height%3D%228%22%20viewBox%3D%220%200%2096%208%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%224%22%20cy%3D%224%22%20r%3D%223%22%20fill%3D%22%23e60033%22/%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%224%22%20r%3D%223%22%20fill%3D%22%23007bbb%22/%3E%3Ccircle%20cx%3D%2228%22%20cy%3D%224%22%20r%3D%223%22%20fill%3D%22%2300a040%22/%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%224%22%20r%3D%223%22%20fill%3D%22%23f6c800%22/%3E%3Ccircle%20cx%3D%2252%22%20cy%3D%224%22%20r%3D%223%22%20fill%3D%22%23ff66a3%22/%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%224%22%20r%3D%223%22%20fill%3D%22%23e60033%22/%3E%3Ccircle%20cx%3D%2276%22%20cy%3D%224%22%20r%3D%223%22%20fill%3D%22%23007bbb%22/%3E%3Ccircle%20cx%3D%2288%22%20cy%3D%224%22%20r%3D%223%22%20fill%3D%22%2300a040%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.seal-title__line2::before {
  right: 100%;
  margin-right: 16px;
}

.seal-title__line2::after {
  left: 100%;
  margin-left: 16px;
}

/* 本文 */
#parasportsgekkan .event-seal .other-event-detail {
  display: block;
  max-width: 900px;
  margin: 0 auto 36px;
}

#parasportsgekkan .event-seal .other-event-detail p {
  width: 100%;
  margin: 0;
  font-size: 1.1rem;
  text-align: left;
  color: #0b1d57;
}

#parasportsgekkan .event-seal .other-event-detail p + p {
  margin-top: 12px;
}

#parasportsgekkan .event-seal .other-event-detail b {
  font-weight: 700;
}

/* 画像エリア */
#parasportsgekkan .event-seal__images {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 48px;
  margin-top: 20px;
}

#parasportsgekkan .event-seal__images .athlete-letter__image {
  max-width: 360px;
  text-align: center;
  font-weight: 700;
  margin: 0 auto;
}

#parasportsgekkan .event-seal__images .athlete-seal__image {
  max-width: 540px;
  text-align: center;
  font-weight: 700;
  margin: 0 auto;
}

#parasportsgekkan .event-seal__images img {
  display: block;
  width: 100%;
  margin-top: 10px;
  border-radius: 6px;
}

.seal-card{
    position:relative;
}

#parasportsgekkan div .seal-card__label {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  font-weight: 700;
  font-size: 18px;
}

#parasportsgekkan .seal-card__label--red {
  color: #e60033;
}

#parasportsgekkan .seal-card__label--blue {
  color: #0a62c9;
}

.event-seal__image-left,
.event-seal__image-right {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* =====================================================
  アーカイブ
===================================================== */
#parasportsgekkan .c-nlcTitle {
  margin-top: 70px;
}


/* =====================================================
  背景装飾（水玉）
===================================================== */
#parasportsgekkan {
  position: relative;
  overflow: hidden;
}

#parasportsgekkan .page-dots {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

#parasportsgekkan .l-main {
  position: relative;
  z-index: 1;
}

#parasportsgekkan .page-dot {
  position: absolute;
  display: block;
  border-radius: 50%;
}

#parasportsgekkan .page-dot--pink {
  background: rgba(248, 204, 214, 0.9);
}

#parasportsgekkan .page-dot--green {
  background: rgba(200, 235, 216, 0.9);
}

#parasportsgekkan .page-dot--blue {
  background: rgba(207, 231, 247, 0.9);
}

#parasportsgekkan .page-dot--yellow {
  background: rgba(250, 218, 96, 0.9);
}

/* 上部 */
#parasportsgekkan .page-dot--01 { top: 130px; left: 8%; width: 172px; height: 172px; }
#parasportsgekkan .page-dot--02 { top: 460px; left: 14%; width: 124px; height: 124px; }
#parasportsgekkan .page-dot--03 { top: 710px; right: 8%; width: 62px; height: 62px; }
#parasportsgekkan .page-dot--04 { top: 1030px; right: 14%; width: 140px; height: 140px; }

/* 導入〜プログラム */
#parasportsgekkan .page-dot--05 { top: 1320px; left: 10%; width: 154px; height: 154px; }
#parasportsgekkan .page-dot--06 { top: 1620px; right: 10%; width: 158px; height: 158px; }
#parasportsgekkan .page-dot--07 { top: 1960px; left: 16%; width: 122px; height: 122px; }
#parasportsgekkan .page-dot--08 { top: 2230px; right: 16%; width: 160px; height: 160px; }

/* イベント前半 */
#parasportsgekkan .page-dot--09 { top: 2580px; left: 8%; width: 130px; height: 130px; }
#parasportsgekkan .page-dot--10 { top: 2820px; right: 9%; width: 150px; height: 150px; }
#parasportsgekkan .page-dot--11 { top: 3160px; right: 14%; width: 134px; height: 134px; }
#parasportsgekkan .page-dot--12 { top: 3440px; left: 13%; width: 118px; height: 118px; }

/* イベント中盤 */
#parasportsgekkan .page-dot--13 { top: 3780px; left: 9%; width: 48px; height: 48px; }
#parasportsgekkan .page-dot--14 { top: 4060px; right: 11%; width: 28px; height: 28px; }
#parasportsgekkan .page-dot--15 { top: 4220px; left: 15%; width: 52px; height: 52px; }
#parasportsgekkan .page-dot--16 { top: 4600px; right: 8%; width: 20px; height: 20px; }

/* イベント後半 */
#parasportsgekkan .page-dot--17 { top: 4980px; right: 12%; width: 60px; height: 60px; }
#parasportsgekkan .page-dot--18 { top: 5260px; left: 11%; width: 42px; height: 42px; }
#parasportsgekkan .page-dot--19 { top: 5540px; right: 18%; width: 24px; height: 24px; }
#parasportsgekkan .page-dot--20 { top: 5820px; left: 16%; width: 16px; height: 16px; }

/* 下部イベント */
#parasportsgekkan .page-dot--21 { top: 6100px; left: 8%; width: 26px; height: 26px; }
#parasportsgekkan .page-dot--22 { top: 6480px; right: 9%; width: 54px; height: 54px; }
#parasportsgekkan .page-dot--23 { top: 6860px; left: 14%; width: 60px; height: 60px; }
#parasportsgekkan .page-dot--24 { top: 7040px; right: 15%; width: 18px; height: 18px; }

/* ライトアップ〜アーカイブ */
#parasportsgekkan .page-dot--25 { top: 7320px; right: 7%; width: 46px; height: 46px; }
#parasportsgekkan .page-dot--26 { top: 7600px; left: 10%; width: 22px; height: 22px; }
#parasportsgekkan .page-dot--27 { top: 7980px; right: 13%; width: 58px; height: 58px; }
#parasportsgekkan .page-dot--28 { top: 8260px; left: 17%; width: 16px; height: 16px; }

#parasportsgekkan .page-dot--29 { top: 8520px; left: 9%; width: 34px; height: 34px; }
#parasportsgekkan .page-dot--30 { top: 8800px; right: 10%; width: 52px; height: 52px; }
#parasportsgekkan .page-dot--31 { top: 9180px; left: 15%; width: 24px; height: 24px; }
#parasportsgekkan .page-dot--32 { top: 9460px; right: 16%; width: 18px; height: 18px; }

/* 追加（33〜64） */

/* 上部 */
#parasportsgekkan .page-dot--33 { top: 280px; left: 24%; width: 88px; height: 88px; }
#parasportsgekkan .page-dot--34 { top: 590px; right: 22%; width: 42px; height: 42px; }
#parasportsgekkan .page-dot--35 { top: 880px; left: 28%; width: 168px; height: 168px; }
#parasportsgekkan .page-dot--36 { top: 1160px; right: 30%; width: 58px; height: 58px; }

/* 導入 */
#parasportsgekkan .page-dot--37 { top: 1480px; left: 24%; width: 78px; height: 78px; }
#parasportsgekkan .page-dot--38 { top: 1810px; right: 26%; width: 188px; height: 188px; }
#parasportsgekkan .page-dot--39 { top: 2070px; left: 30%; width: 52px; height: 52px; }
#parasportsgekkan .page-dot--40 { top: 2380px; right: 24%; width: 96px; height: 96px; }

/* イベント前半 */
#parasportsgekkan .page-dot--41 { top: 2690px; left: 26%; width: 30px; height: 30px; }
#parasportsgekkan .page-dot--42 { top: 2960px; right: 28%; width: 138px; height: 138px; }
#parasportsgekkan .page-dot--43 { top: 3270px; left: 32%; width: 70px; height: 70px; }
#parasportsgekkan .page-dot--44 { top: 3550px; right: 24%; width: 182px; height: 182px; }

/* イベント中盤 */
#parasportsgekkan .page-dot--45 { top: 3880px; left: 26%; width: 44px; height: 44px; }
#parasportsgekkan .page-dot--46 { top: 4150px; right: 30%; width: 102px; height: 102px; }
#parasportsgekkan .page-dot--47 { top: 4420px; left: 24%; width: 156px; height: 156px; }
#parasportsgekkan .page-dot--48 { top: 4720px; right: 26%; width: 22px; height: 22px; }

/* イベント後半 */
#parasportsgekkan .page-dot--49 { top: 5100px; left: 28%; width: 94px; height: 94px; }
#parasportsgekkan .page-dot--50 { top: 5380px; right: 30%; width: 48px; height: 48px; }
#parasportsgekkan .page-dot--51 { top: 5660px; left: 24%; width: 176px; height: 176px; }
#parasportsgekkan .page-dot--52 { top: 5940px; right: 26%; width: 34px; height: 34px; }

/* 下部 */
#parasportsgekkan .page-dot--53 { top: 6260px; left: 30%; width: 62px; height: 62px; }
#parasportsgekkan .page-dot--54 { top: 6580px; right: 24%; width: 142px; height: 142px; }
#parasportsgekkan .page-dot--55 { top: 6900px; left: 26%; width: 20px; height: 20px; }
#parasportsgekkan .page-dot--56 { top: 7180px; right: 30%; width: 84px; height: 84px; }

/* ライトアップ〜下部 */
#parasportsgekkan .page-dot--57 { top: 7440px; left: 24%; width: 172px; height: 172px; }
#parasportsgekkan .page-dot--58 { top: 7740px; right: 28%; width: 36px; height: 36px; }
#parasportsgekkan .page-dot--59 { top: 8060px; left: 30%; width: 118px; height: 118px; }
#parasportsgekkan .page-dot--60 { top: 8380px; right: 22%; width: 52px; height: 52px; }

#parasportsgekkan .page-dot--61 { top: 8660px; left: 28%; width: 154px; height: 154px; }
#parasportsgekkan .page-dot--62 { top: 8950px; right: 30%; width: 74px; height: 74px; }
#parasportsgekkan .page-dot--63 { top: 9260px; left: 24%; width: 28px; height: 28px; }
#parasportsgekkan .page-dot--64 { top: 9540px; right: 28%; width: 132px; height: 132px; }


/* =====================================================
  SP
===================================================== */
@media screen and (max-width: 767px) {
  #parasportsgekkan .l-sectionGroup__inner {
    width: 90%;
  }

  #parasportsgekkan .caption {
    margin-bottom: 40px;
  }

  #parasportsgekkan .caption .c-what__lead {
    font-size: 1rem;
    line-height: 1.8;
  }

  #parasportsgekkan .program-nav__title h2 {
  font-size: 1.5rem;
}

  #parasportsgekkan .program-nav__title {
    font-size: 1.6rem;
  }

  #parasportsgekkan .program-nav__list {
    grid-template-columns: 1fr;
  }


  #parasportsgekkan .program-nav__list li:nth-child(4),
  #parasportsgekkan .program-nav__list li:nth-child(5) {
    grid-column: auto;
  }

  #parasportsgekkan .other-event,
  #parasportsgekkan .event-cook {
    margin: 44px auto;
  }

  #parasportsgekkan .other-event h3,
  #parasportsgekkan .event-cook h3 {
    display: block;
    min-width: 0;
    width: 100%;
    width: fit-content;
    font-size: 1.12rem;
    padding: 8px;
  }

  #parasportsgekkan .other-event-detail {
    display: block;
  }

  #parasportsgekkan .other-event-detail > div + div {
    margin-top: 18px;
  }

  #parasportsgekkan .workshop-flow {
    grid-template-columns: 1fr;
  }

  #parasportsgekkan .workshop-flow li:nth-child(5) {
    grid-column: auto;
  }

  #parasportsgekkan .btn {
  font-size: 1.2rem;
  padding: 8px 16px;
  box-sizing: border-box;
  white-space: nowrap;
  margin-top: 20px;
}

  #parasportsgekkan .event-cook .event-cook-detail dl,
  #parasportsgekkan .other-event dl {
    grid-template-columns: 88px 1fr;
  }

  #parasportsgekkan .event-cook .event-cook-detail dt,
  #parasportsgekkan .other-event div dt,
  #parasportsgekkan .other-event dt {
    padding: 10px 6px;
    font-size: .9rem;
  }

  #parasportsgekkan .event-cook .event-cook-detail dd,
  #parasportsgekkan .other-event div dd,
  #parasportsgekkan .other-event dd {
    padding: 10px 8px;
    font-size: .95rem;
  }

  #parasportsgekkan .other-event div table,
  #parasportsgekkan .other-event table,
  #parasportsgekkan table.lightup {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  #parasportsgekkan .other-event div table th,
  #parasportsgekkan .other-event table th,
  #parasportsgekkan table.lightup th,
  #parasportsgekkan .other-event div table td,
  #parasportsgekkan .other-event table td,
  #parasportsgekkan table.lightup td {
    padding: 10px;
    font-size: .9rem;
  }

  #parasportsgekkan .conference-title {
    font-size: 1.1rem;
  }

  #parasportsgekkan .event-deadline {
    font-size: 1.1rem;
  }

  #parasportsgekkan .event-lightup .other-event-detail p {
    width: 100%;
  }

  #parasportsgekkan .event-lightup .other-event-detail > div {
    width: 100%;
    margin-top: 0;
  }

  #parasportsgekkan .other-event-detail__body,
  #parasportsgekkan .other-event-detail__body-reverse {
    flex-direction: column;
  }

  #parasportsgekkan .other-event-detail__body p {
    width: 100%;
    padding: 0;
  }

  #parasportsgekkan .other-event.event-lightup {
  margin-top: 0;
}

  #parasportsgekkan .event-lightup .other-event-detail__body {
    display: block;
  }

  #parasportsgekkan .event-lightup .other-event-detail__body2 {
    display: block;
  }

  #parasportsgekkan .event-lightup .other-event-detail__body2 p {
    width: 100%;
  }

  #parasportsgekkan .event-lightup .other-event-detail__body2 > div,
  #parasportsgekkan .event-lightup .other-event-detail__body > div:last-child {
    margin-top: 16px;
  }

  #parasportsgekkan .event-lightup .other-event-detail img {
    width: 100%;
    object-fit: cover;
  }

  /* パラアスリートシール */

  #parasportsgekkan .event-seal .event-seal__heading {
  padding-inline: 0;
}

  #parasportsgekkan .event-seal .other-event-detail p {
    font-size: 1rem;
    line-height: 1.8;
  }

  #parasportsgekkan .event-seal__images {
    flex-direction: column;
    gap: 24px;
  }

  #parasportsgekkan .event-seal__images > div {
    max-width: 100%;
    margin: 0 auto;
  }

  #parasportsgekkan .event-seal > div:first-child {
    gap: 10px;
    font-size: 1.5rem;
  }

  #parasportsgekkan .event-seal > div:first-child::before,
  #parasportsgekkan .event-seal > div:first-child::after {
    width: 42px;
    height: 13px;
  }

  .seal-title__main {
    font-size: 1.5rem;
  }

  .seal-whisker {
    top: 20px;
    width: 40px;
    height: 20px;
  }

  .seal-whisker--left {
    left: -48px;
  }

  .seal-whisker--right {
    right: -48px;
  }

    /* サブタイトル */
  .seal-title__line2 {
    font-size: 1rem;
  }

  .seal-title__line2::before,
  .seal-title__line2::after {
    width: 48px;
  }

  .seal-title__line2::before {
    margin-right: 4px;
  }

  .seal-title__line2::after {
    margin-left: 4px;
  }

}
/* //202606 追記 TOKYOパラスポーツ月間2026 */

.pc-only {
  display: inline;
}

.sp-only {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }

  .sp-only {
    display: inline;
  }

  
}

@media screen and (max-width: 767px) {
  #parasportsgekkan .seal-title__line2 {
    position: relative;
    display: inline-block;
    width: auto;
    font-size: 1.15rem;
    line-height: 1.5;
    white-space: nowrap;
  }

  #parasportsgekkan .seal-title__line2::before,
  #parasportsgekkan .seal-title__line2::after {
    display: block;
    position: absolute;
    top: 50%;
    width: 42px;
    height: 8px;
    margin: 0;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
  }

  #parasportsgekkan .seal-title__line2::before {
    right: calc(100% + 8px);
    left: auto;
  }

  #parasportsgekkan .seal-title__line2::after {
    left: calc(100% + 8px);
    right: auto;
  }
}



#parasportsgekkan .athlete-seal-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 12px;
  align-items: end;
  max-width: 520px;
  margin: 24px auto 0;
}

#parasportsgekkan .athlete-seal-gallery .seal-popup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

#parasportsgekkan .athlete-seal-gallery .seal-popup img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border: none;
  background: transparent;
}

#parasportsgekkan .athlete-seal-gallery .seal-popup--large {
  grid-column: span 2;
}

#parasportsgekkan .athlete-seal-gallery .seal-popup--large img {
  height: 180px;
}

#parasportsgekkan .seal-popup__caption {
  display: block;
  margin-top: 8px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

#parasportsgekkan .athlete-seal-gallery .seal-popup:hover img {
  opacity: 0.75;
}

@media screen and (max-width: 767px) {
  #parasportsgekkan .athlete-seal-gallery {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 14px 4px;
    width: 100%;
    max-width: 100%;
    margin: 20px auto 0;
    padding: 0 8px;
    box-sizing: border-box;
  }

  #parasportsgekkan .athlete-seal-gallery .seal-popup--large {
    grid-column: span 4;
  }

  #parasportsgekkan .athlete-seal-gallery
  .seal-popup:not(.seal-popup--large) {
    grid-column: span 2;
  }

  #parasportsgekkan .athlete-seal-gallery
  .seal-popup:nth-child(7) {
    grid-column: 2 / span 2;
  }

  #parasportsgekkan .athlete-seal-gallery .seal-popup img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }
}


@media screen and (min-width: 768px) {
  #parasportsgekkan .athlete-seal-gallery {
    grid-template-columns: repeat(8, 1fr);
  }

  /* 表 */
  #parasportsgekkan .athlete-seal-gallery
  .seal-popup--large:first-child {
    grid-column: 2 / span 3;
    transform: none;
  }

  /* 裏 */
  #parasportsgekkan .athlete-seal-gallery
  .seal-popup--large:nth-child(2) {
    grid-column: 5 / span 3;
    transform: none;
  }

  /* 01〜04 */
  #parasportsgekkan .athlete-seal-gallery
  .seal-popup:not(.seal-popup--large) {
    grid-column: span 2;
  }

  /* 06〜08の先頭 */
  #parasportsgekkan .athlete-seal-gallery
  .seal-popup:nth-child(7) {
    grid-column: 2 / span 2;
  }
}

@media screen and (min-width: 768px) {
  #parasportsgekkan .athlete-seal-gallery {
    max-width: 520px;
    gap: 20px 10px;
  }
}

/* 背景 */
.seal-inline-modal.mfp-bg {
  background: rgba(0, 0, 0, 0.65);
  opacity: 1;
}

/* 中央のポップアップ */
.seal-modal-content {
  position: relative;
  width: min(90vw, 420px);
  margin: 40px auto;
  padding: 36px 30px 24px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  text-align: center;
}

/* 画像 */
.seal-modal-content img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 55vh;
  margin: 0 auto;
}

/* 閉じる */
.seal-modal-close {
  position: absolute;
  top: 8px;
  right: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #555;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

/* タイトル */
#seal-modal-title {
  margin: 14px 0 0;
  font-size: 15px;
  text-align: center;
}

/* 前後ボタン */
.seal-modal-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 16px;
}

.seal-modal-prev,
.seal-modal-next {
  padding: 4px 12px;
  border: 0;
  background: #006abd;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}

#seal-modal-counter {
  font-size: 14px;
}

/* Magnific Popupを通常レイアウトから切り離す */
.mfp-bg {
  position: fixed !important;
  z-index: 1042 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.65) !important;
  opacity: 1 !important;
}

.mfp-wrap {
  position: fixed !important;
  z-index: 1043 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  outline: none;
}

.mfp-container {
  position: absolute !important;
  top: 0;
  left: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100% !important;
  padding: 20px;
  box-sizing: border-box;
}

.mfp-content {
  position: relative !important;
  width: auto !important;
  margin: 0 !important;
  z-index: 1045;
}

.mfp-hide {
  display: none !important;
}

.seal-modal-content {
  width: min(90vw, 420px);
  max-height: 90vh;
  margin: 0;
  overflow-y: auto;
}
.mfp-preloader {
  display: none !important;
}
.mfp-wrap.seal-inline-modal > button.mfp-close {
  display: none !important;
}


/* =====================================================
  20260715 余白調整
===================================================== */

/* 各イベント間の余白を詰める */
#parasportsgekkan .other-event,
#parasportsgekkan .event-climbing {
  margin-top: 55px;
}

/* 見出し下の余白を詰める */
#parasportsgekkan .other-event h3,
#parasportsgekkan .event-climbing h3 {
  margin-bottom: 12px;
}

/* ① 街なかパラスポット → シール */
#parasportsgekkan #seal {
  margin-top: 55px;
}

/* シール見出しと本文の間を詰める */
#parasportsgekkan .event-seal .event-seal__heading {
  margin-bottom: 20px;
}

/* シール本文と画像の間を詰める */
#parasportsgekkan .event-seal .other-event-detail {
  margin-bottom: 20px;
}

#parasportsgekkan .event-seal__images {
  margin-top: 0;
}

/* ② 漫画絵パネル */
#parasportsgekkan #manga-panel {
  margin-top: 55px;
}

/* ③ レクリエーション */
#parasportsgekkan #recreation {
  margin-top: 55px;
}

/* ④ ウォーキング */
#parasportsgekkan #walking {
  margin-top: 55px;
}

/* ⑤ ブース */
#parasportsgekkan #booth {
  margin-top: 55px;
}


/* 企業・団体向け見出しとカンファレンスの間を広げる */
#parasportsgekkan #conference {
  margin-top: 12px;
}

/* カンファレンス内の見出し下は詰める */
#parasportsgekkan .event-conference h3 {
  margin-bottom: 12px;
}

/* カンファレンス下の申込ボタンと次見出しの間を広げる */
#parasportsgekkan #conference + .program-nav {
  margin-top: 85px;
}

/* ⑦ ホープ */
#parasportsgekkan #hope {
  margin-top: 15px;
}

/* ⑧ ボランティア */
#parasportsgekkan #volunteer {
  margin-top: 55px;
}

/* ライトアップ見出しまで少し広げる */
#parasportsgekkan .event-lightup {
  margin-top: 75px;
}
@media screen and (max-width: 767px) {
  #parasportsgekkan .other-event,
  #parasportsgekkan .event-climbing,
  #parasportsgekkan #seal,
  #parasportsgekkan #manga-panel,
  #parasportsgekkan #recreation,
  #parasportsgekkan #walking,
  #parasportsgekkan #booth,
  #parasportsgekkan #hope,
  #parasportsgekkan #volunteer {
    margin: 42px auto 0;
  }

  #parasportsgekkan .other-event h3,
  #parasportsgekkan .event-climbing h3 {
    margin-bottom: 12px;
  }

  #parasportsgekkan .event-seal .event-seal__heading {
    margin-bottom: 18px;
  }

  #parasportsgekkan .event-seal .other-event-detail {
    margin-bottom: 18px;
  }

  #parasportsgekkan #booth + .program-nav,
  #parasportsgekkan #conference + .program-nav {
    margin-top: 64px;
  }

  #parasportsgekkan #conference {
    margin-top: 52px;
  }

  #parasportsgekkan .event-lightup {
    margin-top: 60px;
  }
}

/* ① TEAM BEYONDプログラムから街なかパラスポットまで */
#parasportsgekkan .program-nav:first-of-type {
  margin-bottom: 25px;
}

#parasportsgekkan #paraspot {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  #parasportsgekkan .program-nav:first-of-type {
    margin-bottom: 20px;
  }

  #parasportsgekkan #paraspot {
    margin-top: 0;
  }
}

/* 20260715 余白調整 */

/* 20260715 見出し下の間隔を統一 */

#parasportsgekkan .other-event > h3 {
  margin: 0 0 20px;
}

#parasportsgekkan .other-event > h3 + div {
  margin-top: 0;
  padding-top: 0;
}

#parasportsgekkan .other-event > h3 + div > :first-child {
  margin-top: 0;
}

#parasportsgekkan .other-event-detail,
#parasportsgekkan .other-event-detail__body {
  margin-top: 0;
  padding-top: 0;
}

#parasportsgekkan .other-event > h3 + div p:first-child,
#parasportsgekkan .other-event-detail__body p:first-child,
#parasportsgekkan .other-event-detail__content p:first-child {
  margin-top: 0;
}

#parasportsgekkan .paraspot-detail-movebtn {
  padding: 0;
}


/* ⑤からカンファレンス見出しまで */
/* 大見出し前の余白 */
#parasportsgekkan .program-nav--conference {
  margin: 150px auto 60px;
}

@media screen and (max-width: 767px) {
  #parasportsgekkan .program-nav--conference {
    margin: 110px auto 60px;
  }
}

